diff --git a/vendor/github.com/opencord/omci-lib-go/v2/VERSION b/vendor/github.com/opencord/omci-lib-go/v2/VERSION
index ac2cdeb..ccbccc3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/VERSION
+++ b/vendor/github.com/opencord/omci-lib-go/v2/VERSION
@@ -1 +1 @@
-2.1.3
+2.2.0
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go
index 50dd54a..2ddf76e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,10 +81,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Aal5PerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const Aal5PerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const Aal5PerformanceMonitoringHistoryData_SumOfInvalidCsFieldErrors = "SumOfInvalidCsFieldErrors"
+const Aal5PerformanceMonitoringHistoryData_CrcViolations = "CrcViolations"
+const Aal5PerformanceMonitoringHistoryData_ReassemblyTimerExpirations = "ReassemblyTimerExpirations"
+const Aal5PerformanceMonitoringHistoryData_BufferOverflows = "BufferOverflows"
+const Aal5PerformanceMonitoringHistoryData_EncapProtocolErrors = "EncapProtocolErrors"
+
 func init() {
 	aal5performancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "Aal5PerformanceMonitoringHistoryData",
-		ClassID: 18,
+		ClassID: Aal5PerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,14 +104,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SumOfInvalidCsFieldErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CrcViolations", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("ReassemblyTimerExpirations", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("BufferOverflows", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("EncapProtocolErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(Aal5PerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(Aal5PerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(Aal5PerformanceMonitoringHistoryData_SumOfInvalidCsFieldErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(Aal5PerformanceMonitoringHistoryData_CrcViolations, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(Aal5PerformanceMonitoringHistoryData_ReassemblyTimerExpirations, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(Aal5PerformanceMonitoringHistoryData_BufferOverflows, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(Aal5PerformanceMonitoringHistoryData_EncapProtocolErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go
index bbade42..423bce7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,10 +80,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Aal5Profile_MaxCpcsPduSize = "MaxCpcsPduSize"
+const Aal5Profile_AalMode = "AalMode"
+const Aal5Profile_SscsType = "SscsType"
+
 func init() {
 	aal5profileBME = &ManagedEntityDefinition{
 		Name:    "Aal5Profile",
-		ClassID: 16,
+		ClassID: Aal5ProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,10 +98,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MaxCpcsPduSize", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("AalMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("SscsType", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(Aal5Profile_MaxCpcsPduSize, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Aal5Profile_AalMode, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(Aal5Profile_SscsType, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go
index 0e13c5c..bec4bb4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -155,10 +155,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const AniG_SrIndication = "SrIndication"
+const AniG_TotalTcontNumber = "TotalTcontNumber"
+const AniG_GemBlockLength = "GemBlockLength"
+const AniG_PiggybackDbaReporting = "PiggybackDbaReporting"
+const AniG_Deprecated = "Deprecated"
+const AniG_SignalFailThreshold = "SignalFailThreshold"
+const AniG_SignalDegradeThreshold = "SignalDegradeThreshold"
+const AniG_Arc = "Arc"
+const AniG_ArcInterval = "ArcInterval"
+const AniG_OpticalSignalLevel = "OpticalSignalLevel"
+const AniG_LowerOpticalThreshold = "LowerOpticalThreshold"
+const AniG_UpperOpticalThreshold = "UpperOpticalThreshold"
+const AniG_OnuResponseTime = "OnuResponseTime"
+const AniG_TransmitOpticalLevel = "TransmitOpticalLevel"
+const AniG_LowerTransmitPowerThreshold = "LowerTransmitPowerThreshold"
+const AniG_UpperTransmitPowerThreshold = "UpperTransmitPowerThreshold"
+
 func init() {
 	anigBME = &ManagedEntityDefinition{
 		Name:    "AniG",
-		ClassID: 263,
+		ClassID: AniGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -166,23 +185,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("SrIndication", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("TotalTcontNumber", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("GemBlockLength", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("PiggybackDbaReporting", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, true, 5),
-			6:  ByteField("SignalFailThreshold", UnsignedIntegerAttributeType, 0x0400, 5, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("SignalDegradeThreshold", UnsignedIntegerAttributeType, 0x0200, 9, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("Arc", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
-			9:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("OpticalSignalLevel", SignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("LowerOpticalThreshold", SignedIntegerAttributeType, 0x0020, 255, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("UpperOpticalThreshold", SignedIntegerAttributeType, 0x0010, 255, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("OnuResponseTime", UnsignedIntegerAttributeType, 0x0008, 35000, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint16Field("TransmitOpticalLevel", SignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: ByteField("LowerTransmitPowerThreshold", SignedIntegerAttributeType, 0x0002, 129, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("UpperTransmitPowerThreshold", SignedIntegerAttributeType, 0x0001, 129, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(AniG_SrIndication, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(AniG_TotalTcontNumber, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(AniG_GemBlockLength, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(AniG_PiggybackDbaReporting, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(AniG_Deprecated, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, true, 5),
+			6:  ByteField(AniG_SignalFailThreshold, UnsignedIntegerAttributeType, 0x0400, 5, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(AniG_SignalDegradeThreshold, UnsignedIntegerAttributeType, 0x0200, 9, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(AniG_Arc, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9:  ByteField(AniG_ArcInterval, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(AniG_OpticalSignalLevel, SignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(AniG_LowerOpticalThreshold, SignedIntegerAttributeType, 0x0020, 255, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(AniG_UpperOpticalThreshold, SignedIntegerAttributeType, 0x0010, 255, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(AniG_OnuResponseTime, UnsignedIntegerAttributeType, 0x0008, 35000, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field(AniG_TransmitOpticalLevel, SignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: ByteField(AniG_LowerTransmitPowerThreshold, SignedIntegerAttributeType, 0x0002, 129, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(AniG_UpperTransmitPowerThreshold, SignedIntegerAttributeType, 0x0001, 129, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/attrNames_test.json b/vendor/github.com/opencord/omci-lib-go/v2/generated/attrNames_test.json
new file mode 100644
index 0000000..a25d51a
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/attrNames_test.json
@@ -0,0 +1,13276 @@
+{
+  "2": {
+    "Name": "ONU data",
+    "Filename": "onudata.go",
+    "CamelCase": "OnuData",
+    "ClassID": 2,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mib Data Sync",
+        "CamelCase": "MibDataSync",
+        "Final": "OnuData_MibDataSync",
+        "Index": 1
+      }
+    }
+  },
+  "5": {
+    "Name": "Cardholder",
+    "Filename": "cardholder.go",
+    "CamelCase": "Cardholder",
+    "ClassID": 5,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Actual Plug In Unit Type",
+        "CamelCase": "ActualPlugInUnitType",
+        "Final": "Cardholder_ActualPlugInUnitType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Expected Plug_In Unit Type",
+        "CamelCase": "ExpectedPlugInUnitType",
+        "Final": "Cardholder_ExpectedPlugInUnitType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Expected Port Count",
+        "CamelCase": "ExpectedPortCount",
+        "Final": "Cardholder_ExpectedPortCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Expected Equipment Id",
+        "CamelCase": "ExpectedEquipmentId",
+        "Final": "Cardholder_ExpectedEquipmentId",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Actual Equipment Id",
+        "CamelCase": "ActualEquipmentId",
+        "Final": "Cardholder_ActualEquipmentId",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Protection Profile Pointer",
+        "CamelCase": "ProtectionProfilePointer",
+        "Final": "Cardholder_ProtectionProfilePointer",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Invoke Protection Switch",
+        "CamelCase": "InvokeProtectionSwitch",
+        "Final": "Cardholder_InvokeProtectionSwitch",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Alarm _ Reporting Control",
+        "CamelCase": "AlarmReportingControl",
+        "Final": "Cardholder_AlarmReportingControl",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "Cardholder_ArcInterval",
+        "Index": 9
+      }
+    }
+  },
+  "6": {
+    "Name": "Circuit pack",
+    "Filename": "circuitpack.go",
+    "CamelCase": "CircuitPack",
+    "ClassID": 6,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Type",
+        "CamelCase": "Type",
+        "Final": "CircuitPack_Type",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Number Of Ports",
+        "CamelCase": "NumberOfPorts",
+        "Final": "CircuitPack_NumberOfPorts",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Serial Number",
+        "CamelCase": "SerialNumber",
+        "Final": "CircuitPack_SerialNumber",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "CircuitPack_Version",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Vendor Id",
+        "CamelCase": "VendorId",
+        "Final": "CircuitPack_VendorId",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "CircuitPack_AdministrativeState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "CircuitPack_OperationalState",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Bridged Or Ip Ind",
+        "CamelCase": "BridgedOrIpInd",
+        "Final": "CircuitPack_BridgedOrIpInd",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Equipment Id",
+        "CamelCase": "EquipmentId",
+        "Final": "CircuitPack_EquipmentId",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Card Configuration",
+        "CamelCase": "CardConfiguration",
+        "Final": "CircuitPack_CardConfiguration",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Total T_Cont Buffer Number",
+        "CamelCase": "TotalTContBufferNumber",
+        "Final": "CircuitPack_TotalTContBufferNumber",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Total Priority Queue Number",
+        "CamelCase": "TotalPriorityQueueNumber",
+        "Final": "CircuitPack_TotalPriorityQueueNumber",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Total Traffic Scheduler Number",
+        "CamelCase": "TotalTrafficSchedulerNumber",
+        "Final": "CircuitPack_TotalTrafficSchedulerNumber",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Power Shed Override",
+        "CamelCase": "PowerShedOverride",
+        "Final": "CircuitPack_PowerShedOverride",
+        "Index": 14
+      }
+    }
+  },
+  "7": {
+    "Name": "Software image",
+    "Filename": "softwareimage.go",
+    "CamelCase": "SoftwareImage",
+    "ClassID": 7,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "SoftwareImage_Version",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Is Committed",
+        "CamelCase": "IsCommitted",
+        "Final": "SoftwareImage_IsCommitted",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Is Active",
+        "CamelCase": "IsActive",
+        "Final": "SoftwareImage_IsActive",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Is Valid",
+        "CamelCase": "IsValid",
+        "Final": "SoftwareImage_IsValid",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Product Code",
+        "CamelCase": "ProductCode",
+        "Final": "SoftwareImage_ProductCode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Image Hash",
+        "CamelCase": "ImageHash",
+        "Final": "SoftwareImage_ImageHash",
+        "Index": 6
+      }
+    }
+  },
+  "11": {
+    "Name": "Physical path termination point Ethernet UNI",
+    "Filename": "physicalpathterminationpointethernetuni.go",
+    "CamelCase": "PhysicalPathTerminationPointEthernetUni",
+    "ClassID": 11,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Expected Type",
+        "CamelCase": "ExpectedType",
+        "Final": "PhysicalPathTerminationPointEthernetUni_ExpectedType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Sensed Type",
+        "CamelCase": "SensedType",
+        "Final": "PhysicalPathTerminationPointEthernetUni_SensedType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Auto Detection Configuration",
+        "CamelCase": "AutoDetectionConfiguration",
+        "Final": "PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ethernet Loopback Configuration",
+        "CamelCase": "EthernetLoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointEthernetUni_AdministrativeState",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointEthernetUni_OperationalState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Configuration Ind",
+        "CamelCase": "ConfigurationInd",
+        "Final": "PhysicalPathTerminationPointEthernetUni_ConfigurationInd",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Max Frame Size",
+        "CamelCase": "MaxFrameSize",
+        "Final": "PhysicalPathTerminationPointEthernetUni_MaxFrameSize",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Dte Or Dce Ind",
+        "CamelCase": "DteOrDceInd",
+        "Final": "PhysicalPathTerminationPointEthernetUni_DteOrDceInd",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Pause Time",
+        "CamelCase": "PauseTime",
+        "Final": "PhysicalPathTerminationPointEthernetUni_PauseTime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Bridged Or Ip Ind",
+        "CamelCase": "BridgedOrIpInd",
+        "Final": "PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointEthernetUni_Arc",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointEthernetUni_ArcInterval",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Pppoe Filter",
+        "CamelCase": "PppoeFilter",
+        "Final": "PhysicalPathTerminationPointEthernetUni_PppoeFilter",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Power Control",
+        "CamelCase": "PowerControl",
+        "Final": "PhysicalPathTerminationPointEthernetUni_PowerControl",
+        "Index": 15
+      }
+    }
+  },
+  "12": {
+    "Name": "Physical path termination point CES UNI",
+    "Filename": "physicalpathterminationpointcesuni.go",
+    "CamelCase": "PhysicalPathTerminationPointCesUni",
+    "ClassID": 12,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Expected Type",
+        "CamelCase": "ExpectedType",
+        "Final": "PhysicalPathTerminationPointCesUni_ExpectedType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Sensed Type",
+        "CamelCase": "SensedType",
+        "Final": "PhysicalPathTerminationPointCesUni_SensedType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ces Loopback Configuration",
+        "CamelCase": "CesLoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointCesUni_CesLoopbackConfiguration",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointCesUni_AdministrativeState",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointCesUni_OperationalState",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Framing",
+        "CamelCase": "Framing",
+        "Final": "PhysicalPathTerminationPointCesUni_Framing",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Encoding",
+        "CamelCase": "Encoding",
+        "Final": "PhysicalPathTerminationPointCesUni_Encoding",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Line Length",
+        "CamelCase": "LineLength",
+        "Final": "PhysicalPathTerminationPointCesUni_LineLength",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Ds1 Mode",
+        "CamelCase": "Ds1Mode",
+        "Final": "PhysicalPathTerminationPointCesUni_Ds1Mode",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointCesUni_Arc",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointCesUni_ArcInterval",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Line Type",
+        "CamelCase": "LineType",
+        "Final": "PhysicalPathTerminationPointCesUni_LineType",
+        "Index": 12
+      }
+    }
+  },
+  "14": {
+    "Name": "Interworking VCC termination point",
+    "Filename": "interworkingvccterminationpoint.go",
+    "CamelCase": "InterworkingVccTerminationPoint",
+    "ClassID": 14,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vci Value",
+        "CamelCase": "VciValue",
+        "Final": "InterworkingVccTerminationPoint_VciValue",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vp Network Ctp Connectivity Pointer",
+        "CamelCase": "VpNetworkCtpConnectivityPointer",
+        "Final": "InterworkingVccTerminationPoint_VpNetworkCtpConnectivityPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Deprecated 1",
+        "CamelCase": "Deprecated1",
+        "Final": "InterworkingVccTerminationPoint_Deprecated1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Deprecated 2",
+        "CamelCase": "Deprecated2",
+        "Final": "InterworkingVccTerminationPoint_Deprecated2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Aal5 Profile Pointer",
+        "CamelCase": "Aal5ProfilePointer",
+        "Final": "InterworkingVccTerminationPoint_Aal5ProfilePointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Deprecated 3",
+        "CamelCase": "Deprecated3",
+        "Final": "InterworkingVccTerminationPoint_Deprecated3",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Aal Loopback Configuration",
+        "CamelCase": "AalLoopbackConfiguration",
+        "Final": "InterworkingVccTerminationPoint_AalLoopbackConfiguration",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Pptp Counter",
+        "CamelCase": "PptpCounter",
+        "Final": "InterworkingVccTerminationPoint_PptpCounter",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "InterworkingVccTerminationPoint_OperationalState",
+        "Index": 9
+      }
+    }
+  },
+  "16": {
+    "Name": "AAL5 profile",
+    "Filename": "aal5profile.go",
+    "CamelCase": "Aal5Profile",
+    "ClassID": 16,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Max Cpcs Pdu Size",
+        "CamelCase": "MaxCpcsPduSize",
+        "Final": "Aal5Profile_MaxCpcsPduSize",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Aal Mode",
+        "CamelCase": "AalMode",
+        "Final": "Aal5Profile_AalMode",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sscs Type",
+        "CamelCase": "SscsType",
+        "Final": "Aal5Profile_SscsType",
+        "Index": 3
+      }
+    }
+  },
+  "18": {
+    "Name": "AAL5 performance monitoring history data",
+    "Filename": "aal5performancemonitoringhistorydata.go",
+    "CamelCase": "Aal5PerformanceMonitoringHistoryData",
+    "ClassID": 18,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "Aal5PerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "Aal5PerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sum Of Invalid Cs Field Errors",
+        "CamelCase": "SumOfInvalidCsFieldErrors",
+        "Final": "Aal5PerformanceMonitoringHistoryData_SumOfInvalidCsFieldErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Crc Violations",
+        "CamelCase": "CrcViolations",
+        "Final": "Aal5PerformanceMonitoringHistoryData_CrcViolations",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Reassembly Timer Expirations",
+        "CamelCase": "ReassemblyTimerExpirations",
+        "Final": "Aal5PerformanceMonitoringHistoryData_ReassemblyTimerExpirations",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Buffer Overflows",
+        "CamelCase": "BufferOverflows",
+        "Final": "Aal5PerformanceMonitoringHistoryData_BufferOverflows",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Encap Protocol Errors",
+        "CamelCase": "EncapProtocolErrors",
+        "Final": "Aal5PerformanceMonitoringHistoryData_EncapProtocolErrors",
+        "Index": 7
+      }
+    }
+  },
+  "21": {
+    "Name": "CES service profile",
+    "Filename": "cesserviceprofile.go",
+    "CamelCase": "CesServiceProfile",
+    "ClassID": 21,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ces Buffered Cdv Tolerance",
+        "CamelCase": "CesBufferedCdvTolerance",
+        "Final": "CesServiceProfile_CesBufferedCdvTolerance",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Channel Associated Signalling Cas",
+        "CamelCase": "ChannelAssociatedSignallingCas",
+        "Final": "CesServiceProfile_ChannelAssociatedSignallingCas",
+        "Index": 2
+      }
+    }
+  },
+  "24": {
+    "Name": "Ethernet performance monitoring history data",
+    "Filename": "ethernetperformancemonitoringhistorydata.go",
+    "CamelCase": "EthernetPerformanceMonitoringHistoryData",
+    "ClassID": 24,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fcs Errors",
+        "CamelCase": "FcsErrors",
+        "Final": "EthernetPerformanceMonitoringHistoryData_FcsErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Excessive Collision Counter",
+        "CamelCase": "ExcessiveCollisionCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Late Collision Counter",
+        "CamelCase": "LateCollisionCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_LateCollisionCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Frames Too Long",
+        "CamelCase": "FramesTooLong",
+        "Final": "EthernetPerformanceMonitoringHistoryData_FramesTooLong",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Buffer Overflows On Receive",
+        "CamelCase": "BufferOverflowsOnReceive",
+        "Final": "EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Buffer Overflows On Transmit",
+        "CamelCase": "BufferOverflowsOnTransmit",
+        "Final": "EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Single Collision Frame Counter",
+        "CamelCase": "SingleCollisionFrameCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Multiple Collisions Frame Counter",
+        "CamelCase": "MultipleCollisionsFrameCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Sqe Counter",
+        "CamelCase": "SqeCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_SqeCounter",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Deferred Transmission Counter",
+        "CamelCase": "DeferredTransmissionCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Internal Mac Transmit Error Counter",
+        "CamelCase": "InternalMacTransmitErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Carrier Sense Error Counter",
+        "CamelCase": "CarrierSenseErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Alignment Error Counter",
+        "CamelCase": "AlignmentErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Internal Mac Receive Error Counter",
+        "CamelCase": "InternalMacReceiveErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter",
+        "Index": 16
+      }
+    }
+  },
+  "45": {
+    "Name": "MAC bridge service profile",
+    "Filename": "macbridgeserviceprofile.go",
+    "CamelCase": "MacBridgeServiceProfile",
+    "ClassID": 45,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Spanning Tree Ind",
+        "CamelCase": "SpanningTreeInd",
+        "Final": "MacBridgeServiceProfile_SpanningTreeInd",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Learning Ind",
+        "CamelCase": "LearningInd",
+        "Final": "MacBridgeServiceProfile_LearningInd",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Port Bridging Ind",
+        "CamelCase": "PortBridgingInd",
+        "Final": "MacBridgeServiceProfile_PortBridgingInd",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Priority",
+        "CamelCase": "Priority",
+        "Final": "MacBridgeServiceProfile_Priority",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Max Age",
+        "CamelCase": "MaxAge",
+        "Final": "MacBridgeServiceProfile_MaxAge",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Hello Time",
+        "CamelCase": "HelloTime",
+        "Final": "MacBridgeServiceProfile_HelloTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Forward Delay",
+        "CamelCase": "ForwardDelay",
+        "Final": "MacBridgeServiceProfile_ForwardDelay",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Unknown Mac Address Discard",
+        "CamelCase": "UnknownMacAddressDiscard",
+        "Final": "MacBridgeServiceProfile_UnknownMacAddressDiscard",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Mac Learning Depth",
+        "CamelCase": "MacLearningDepth",
+        "Final": "MacBridgeServiceProfile_MacLearningDepth",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Dynamic Filtering Ageing Time",
+        "CamelCase": "DynamicFilteringAgeingTime",
+        "Final": "MacBridgeServiceProfile_DynamicFilteringAgeingTime",
+        "Index": 10
+      }
+    }
+  },
+  "46": {
+    "Name": "MAC bridge configuration data",
+    "Filename": "macbridgeconfigurationdata.go",
+    "CamelCase": "MacBridgeConfigurationData",
+    "ClassID": 46,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Bridge Mac Address",
+        "CamelCase": "BridgeMacAddress",
+        "Final": "MacBridgeConfigurationData_BridgeMacAddress",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Bridge Priority",
+        "CamelCase": "BridgePriority",
+        "Final": "MacBridgeConfigurationData_BridgePriority",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Designated Root",
+        "CamelCase": "DesignatedRoot",
+        "Final": "MacBridgeConfigurationData_DesignatedRoot",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Root Path Cost",
+        "CamelCase": "RootPathCost",
+        "Final": "MacBridgeConfigurationData_RootPathCost",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Bridge Port Count",
+        "CamelCase": "BridgePortCount",
+        "Final": "MacBridgeConfigurationData_BridgePortCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Root Port Num",
+        "CamelCase": "RootPortNum",
+        "Final": "MacBridgeConfigurationData_RootPortNum",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Hello Time",
+        "CamelCase": "HelloTime",
+        "Final": "MacBridgeConfigurationData_HelloTime",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Forward Delay",
+        "CamelCase": "ForwardDelay",
+        "Final": "MacBridgeConfigurationData_ForwardDelay",
+        "Index": 8
+      }
+    }
+  },
+  "47": {
+    "Name": "MAC bridge port configuration data",
+    "Filename": "macbridgeportconfigurationdata.go",
+    "CamelCase": "MacBridgePortConfigurationData",
+    "ClassID": 47,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Bridge Id Pointer",
+        "CamelCase": "BridgeIdPointer",
+        "Final": "MacBridgePortConfigurationData_BridgeIdPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Port Num",
+        "CamelCase": "PortNum",
+        "Final": "MacBridgePortConfigurationData_PortNum",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "MacBridgePortConfigurationData_TpType",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tp Pointer",
+        "CamelCase": "TpPointer",
+        "Final": "MacBridgePortConfigurationData_TpPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Port Priority",
+        "CamelCase": "PortPriority",
+        "Final": "MacBridgePortConfigurationData_PortPriority",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Port Path Cost",
+        "CamelCase": "PortPathCost",
+        "Final": "MacBridgePortConfigurationData_PortPathCost",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Port Spanning Tree Ind",
+        "CamelCase": "PortSpanningTreeInd",
+        "Final": "MacBridgePortConfigurationData_PortSpanningTreeInd",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Deprecated 1",
+        "CamelCase": "Deprecated1",
+        "Final": "MacBridgePortConfigurationData_Deprecated1",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Deprecated 2",
+        "CamelCase": "Deprecated2",
+        "Final": "MacBridgePortConfigurationData_Deprecated2",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Port Mac Address",
+        "CamelCase": "PortMacAddress",
+        "Final": "MacBridgePortConfigurationData_PortMacAddress",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Outbound Td Pointer",
+        "CamelCase": "OutboundTdPointer",
+        "Final": "MacBridgePortConfigurationData_OutboundTdPointer",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Inbound Td Pointer",
+        "CamelCase": "InboundTdPointer",
+        "Final": "MacBridgePortConfigurationData_InboundTdPointer",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Mac Learning Depth",
+        "CamelCase": "MacLearningDepth",
+        "Final": "MacBridgePortConfigurationData_MacLearningDepth",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lasp Id Pointer",
+        "CamelCase": "LaspIdPointer",
+        "Final": "MacBridgePortConfigurationData_LaspIdPointer",
+        "Index": 14
+      }
+    }
+  },
+  "48": {
+    "Name": "MAC bridge port designation data",
+    "Filename": "macbridgeportdesignationdata.go",
+    "CamelCase": "MacBridgePortDesignationData",
+    "ClassID": 48,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Designated Bridge Root Cost Port",
+        "CamelCase": "DesignatedBridgeRootCostPort",
+        "Final": "MacBridgePortDesignationData_DesignatedBridgeRootCostPort",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Port State",
+        "CamelCase": "PortState",
+        "Final": "MacBridgePortDesignationData_PortState",
+        "Index": 2
+      }
+    }
+  },
+  "49": {
+    "Name": "MAC bridge port filter table data",
+    "Filename": "macbridgeportfiltertabledata.go",
+    "CamelCase": "MacBridgePortFilterTableData",
+    "ClassID": 49,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mac Filter Table",
+        "CamelCase": "MacFilterTable",
+        "Final": "MacBridgePortFilterTableData_MacFilterTable",
+        "Index": 1
+      }
+    }
+  },
+  "50": {
+    "Name": "MAC bridge port bridge table data",
+    "Filename": "macbridgeportbridgetabledata.go",
+    "CamelCase": "MacBridgePortBridgeTableData",
+    "ClassID": 50,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Bridge Table",
+        "CamelCase": "BridgeTable",
+        "Final": "MacBridgePortBridgeTableData_BridgeTable",
+        "Index": 1
+      }
+    }
+  },
+  "51": {
+    "Name": "MAC bridge performance monitoring history data",
+    "Filename": "macbridgeperformancemonitoringhistorydata.go",
+    "CamelCase": "MacBridgePerformanceMonitoringHistoryData",
+    "ClassID": 51,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MacBridgePerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MacBridgePerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Bridge Learning Entry Discard Count",
+        "CamelCase": "BridgeLearningEntryDiscardCount",
+        "Final": "MacBridgePerformanceMonitoringHistoryData_BridgeLearningEntryDiscardCount",
+        "Index": 3
+      }
+    }
+  },
+  "52": {
+    "Name": "MAC bridge port performance monitoring history data",
+    "Filename": "macbridgeportperformancemonitoringhistorydata.go",
+    "CamelCase": "MacBridgePortPerformanceMonitoringHistoryData",
+    "ClassID": 52,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Forwarded Frame Counter",
+        "CamelCase": "ForwardedFrameCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ForwardedFrameCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Delay Exceeded Discard Counter",
+        "CamelCase": "DelayExceededDiscardCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_DelayExceededDiscardCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Transmission Unit Mtu Exceeded Discard Counter",
+        "CamelCase": "MaximumTransmissionUnitMtuExceededDiscardCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_MaximumTransmissionUnitMtuExceededDiscardCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Frame Counter",
+        "CamelCase": "ReceivedFrameCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ReceivedFrameCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Received And Discarded Counter",
+        "CamelCase": "ReceivedAndDiscardedCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ReceivedAndDiscardedCounter",
+        "Index": 7
+      }
+    }
+  },
+  "53": {
+    "Name": "Physical path termination point POTS UNI",
+    "Filename": "physicalpathterminationpointpotsuni.go",
+    "CamelCase": "PhysicalPathTerminationPointPotsUni",
+    "ClassID": 53,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointPotsUni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "PhysicalPathTerminationPointPotsUni_Deprecated",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointPotsUni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointPotsUni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Impedance",
+        "CamelCase": "Impedance",
+        "Final": "PhysicalPathTerminationPointPotsUni_Impedance",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmission Path",
+        "CamelCase": "TransmissionPath",
+        "Final": "PhysicalPathTerminationPointPotsUni_TransmissionPath",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Gain",
+        "CamelCase": "RxGain",
+        "Final": "PhysicalPathTerminationPointPotsUni_RxGain",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Gain",
+        "CamelCase": "TxGain",
+        "Final": "PhysicalPathTerminationPointPotsUni_TxGain",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointPotsUni_OperationalState",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Hook State",
+        "CamelCase": "HookState",
+        "Final": "PhysicalPathTerminationPointPotsUni_HookState",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Pots Holdover Time",
+        "CamelCase": "PotsHoldoverTime",
+        "Final": "PhysicalPathTerminationPointPotsUni_PotsHoldoverTime",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Nominal Feed Voltage",
+        "CamelCase": "NominalFeedVoltage",
+        "Final": "PhysicalPathTerminationPointPotsUni_NominalFeedVoltage",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Loss Of Softswitch",
+        "CamelCase": "LossOfSoftswitch",
+        "Final": "PhysicalPathTerminationPointPotsUni_LossOfSoftswitch",
+        "Index": 13
+      }
+    }
+  },
+  "58": {
+    "Name": "Voice service profile",
+    "Filename": "voiceserviceprofile.go",
+    "CamelCase": "VoiceServiceProfile",
+    "ClassID": 58,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Announcement Type",
+        "CamelCase": "AnnouncementType",
+        "Final": "VoiceServiceProfile_AnnouncementType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Jitter Target",
+        "CamelCase": "JitterTarget",
+        "Final": "VoiceServiceProfile_JitterTarget",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Jitter Buffer Max",
+        "CamelCase": "JitterBufferMax",
+        "Final": "VoiceServiceProfile_JitterBufferMax",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Echo Cancel Ind",
+        "CamelCase": "EchoCancelInd",
+        "Final": "VoiceServiceProfile_EchoCancelInd",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Pstn Protocol Variant",
+        "CamelCase": "PstnProtocolVariant",
+        "Final": "VoiceServiceProfile_PstnProtocolVariant",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Dtmf Digit Levels",
+        "CamelCase": "DtmfDigitLevels",
+        "Final": "VoiceServiceProfile_DtmfDigitLevels",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Dtmf Digit Duration",
+        "CamelCase": "DtmfDigitDuration",
+        "Final": "VoiceServiceProfile_DtmfDigitDuration",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Hook Flash Minimum Time",
+        "CamelCase": "HookFlashMinimumTime",
+        "Final": "VoiceServiceProfile_HookFlashMinimumTime",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Hook Flash Maximum Time",
+        "CamelCase": "HookFlashMaximumTime",
+        "Final": "VoiceServiceProfile_HookFlashMaximumTime",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tone Pattern Table",
+        "CamelCase": "TonePatternTable",
+        "Final": "VoiceServiceProfile_TonePatternTable",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tone Event Table",
+        "CamelCase": "ToneEventTable",
+        "Final": "VoiceServiceProfile_ToneEventTable",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Ringing Pattern Table",
+        "CamelCase": "RingingPatternTable",
+        "Final": "VoiceServiceProfile_RingingPatternTable",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Ringing Event Table",
+        "CamelCase": "RingingEventTable",
+        "Final": "VoiceServiceProfile_RingingEventTable",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Network Specific Extensions Pointer",
+        "CamelCase": "NetworkSpecificExtensionsPointer",
+        "Final": "VoiceServiceProfile_NetworkSpecificExtensionsPointer",
+        "Index": 14
+      }
+    }
+  },
+  "62": {
+    "Name": "VP performance monitoring history data",
+    "Filename": "vpperformancemonitoringhistorydata.go",
+    "CamelCase": "VpPerformanceMonitoringHistoryData",
+    "ClassID": 62,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "VpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "VpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Lost C 0 1 Cells",
+        "CamelCase": "LostC01Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_LostC01Cells",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Lost C0 Cells",
+        "CamelCase": "LostC0Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_LostC0Cells",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Misinserted Cells",
+        "CamelCase": "MisinsertedCells",
+        "Final": "VpPerformanceMonitoringHistoryData_MisinsertedCells",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted C0 _ 1 Cells",
+        "CamelCase": "TransmittedC01Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_TransmittedC01Cells",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Transmitted C0 Cells",
+        "CamelCase": "TransmittedC0Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_TransmittedC0Cells",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Impaired Block",
+        "CamelCase": "ImpairedBlock",
+        "Final": "VpPerformanceMonitoringHistoryData_ImpairedBlock",
+        "Index": 8
+      }
+    }
+  },
+  "78": {
+    "Name": "VLAN tagging operation configuration data",
+    "Filename": "vlantaggingoperationconfigurationdata.go",
+    "CamelCase": "VlanTaggingOperationConfigurationData",
+    "ClassID": 78,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Upstream Vlan Tagging Operation Mode",
+        "CamelCase": "UpstreamVlanTaggingOperationMode",
+        "Final": "VlanTaggingOperationConfigurationData_UpstreamVlanTaggingOperationMode",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Upstream Vlan Tag Tci Value",
+        "CamelCase": "UpstreamVlanTagTciValue",
+        "Final": "VlanTaggingOperationConfigurationData_UpstreamVlanTagTciValue",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Vlan Tagging Operation Mode",
+        "CamelCase": "DownstreamVlanTaggingOperationMode",
+        "Final": "VlanTaggingOperationConfigurationData_DownstreamVlanTaggingOperationMode",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Association Type",
+        "CamelCase": "AssociationType",
+        "Final": "VlanTaggingOperationConfigurationData_AssociationType",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Associated Me Pointer",
+        "CamelCase": "AssociatedMePointer",
+        "Final": "VlanTaggingOperationConfigurationData_AssociatedMePointer",
+        "Index": 5
+      }
+    }
+  },
+  "79": {
+    "Name": "MAC bridge port filter pre-assign table",
+    "Filename": "macbridgeportfilterpre-assigntable.go",
+    "CamelCase": "MacBridgePortFilterPreAssignTable",
+    "ClassID": 79,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ipv4 Multicast Filtering",
+        "CamelCase": "Ipv4MulticastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_Ipv4MulticastFiltering",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Ipv6 Multicast Filtering",
+        "CamelCase": "Ipv6MulticastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_Ipv6MulticastFiltering",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ipv4 Broadcast Filtering",
+        "CamelCase": "Ipv4BroadcastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_Ipv4BroadcastFiltering",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rarp Filtering",
+        "CamelCase": "RarpFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_RarpFiltering",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Ipx Filtering",
+        "CamelCase": "IpxFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_IpxFiltering",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Netbeui Filtering",
+        "CamelCase": "NetbeuiFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_NetbeuiFiltering",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Appletalk Filtering",
+        "CamelCase": "AppletalkFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_AppletalkFiltering",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Bridge Management Information Filtering",
+        "CamelCase": "BridgeManagementInformationFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_BridgeManagementInformationFiltering",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arp Filtering",
+        "CamelCase": "ArpFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_ArpFiltering",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Point_To_Point Protocol Over Ethernet Pppoe Broadcast Filtering",
+        "CamelCase": "PointToPointProtocolOverEthernetPppoeBroadcastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_PointToPointProtocolOverEthernetPppoeBroadcastFiltering",
+        "Index": 10
+      }
+    }
+  },
+  "82": {
+    "Name": "Physical path termination point video UNI",
+    "Filename": "physicalpathterminationpointvideouni.go",
+    "CamelCase": "PhysicalPathTerminationPointVideoUni",
+    "ClassID": 82,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointVideoUni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointVideoUni_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointVideoUni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointVideoUni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Power Control",
+        "CamelCase": "PowerControl",
+        "Final": "PhysicalPathTerminationPointVideoUni_PowerControl",
+        "Index": 5
+      }
+    }
+  },
+  "83": {
+    "Name": "Physical path termination point LCT UNI",
+    "Filename": "physicalpathterminationpointlctuni.go",
+    "CamelCase": "PhysicalPathTerminationPointLctUni",
+    "ClassID": 83,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointLctUni_AdministrativeState",
+        "Index": 1
+      }
+    }
+  },
+  "84": {
+    "Name": "VLAN tagging filter data",
+    "Filename": "vlantaggingfilterdata.go",
+    "CamelCase": "VlanTaggingFilterData",
+    "ClassID": 84,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vlan Filter List",
+        "CamelCase": "VlanFilterList",
+        "Final": "VlanTaggingFilterData_VlanFilterList",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Forward Operation",
+        "CamelCase": "ForwardOperation",
+        "Final": "VlanTaggingFilterData_ForwardOperation",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Number Of Entries",
+        "CamelCase": "NumberOfEntries",
+        "Final": "VlanTaggingFilterData_NumberOfEntries",
+        "Index": 3
+      }
+    }
+  },
+  "89": {
+    "Name": "Ethernet performance monitoring history data 2",
+    "Filename": "ethernetperformancemonitoringhistorydata2.go",
+    "CamelCase": "EthernetPerformanceMonitoringHistoryData2",
+    "ClassID": 89,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetPerformanceMonitoringHistoryData2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetPerformanceMonitoringHistoryData2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Pppoe Filtered Frame Counter",
+        "CamelCase": "PppoeFilteredFrameCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData2_PppoeFilteredFrameCounter",
+        "Index": 3
+      }
+    }
+  },
+  "90": {
+    "Name": "Physical path termination point video ANI",
+    "Filename": "physicalpathterminationpointvideoani.go",
+    "CamelCase": "PhysicalPathTerminationPointVideoAni",
+    "ClassID": 90,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointVideoAni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointVideoAni_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointVideoAni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointVideoAni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Frequency Range Low",
+        "CamelCase": "FrequencyRangeLow",
+        "Final": "PhysicalPathTerminationPointVideoAni_FrequencyRangeLow",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Frequency Range High",
+        "CamelCase": "FrequencyRangeHigh",
+        "Final": "PhysicalPathTerminationPointVideoAni_FrequencyRangeHigh",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Signal Capability",
+        "CamelCase": "SignalCapability",
+        "Final": "PhysicalPathTerminationPointVideoAni_SignalCapability",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Optical Signal Level",
+        "CamelCase": "OpticalSignalLevel",
+        "Final": "PhysicalPathTerminationPointVideoAni_OpticalSignalLevel",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Pilot Signal Level",
+        "CamelCase": "PilotSignalLevel",
+        "Final": "PhysicalPathTerminationPointVideoAni_PilotSignalLevel",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Signal Level Min",
+        "CamelCase": "SignalLevelMin",
+        "Final": "PhysicalPathTerminationPointVideoAni_SignalLevelMin",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Signal Level Max",
+        "CamelCase": "SignalLevelMax",
+        "Final": "PhysicalPathTerminationPointVideoAni_SignalLevelMax",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Pilot Frequency",
+        "CamelCase": "PilotFrequency",
+        "Final": "PhysicalPathTerminationPointVideoAni_PilotFrequency",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Agc Mode",
+        "CamelCase": "AgcMode",
+        "Final": "PhysicalPathTerminationPointVideoAni_AgcMode",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Agc Setting",
+        "CamelCase": "AgcSetting",
+        "Final": "PhysicalPathTerminationPointVideoAni_AgcSetting",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Video Lower Optical Threshold",
+        "CamelCase": "VideoLowerOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointVideoAni_VideoLowerOpticalThreshold",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Video Upper Optical Threshold",
+        "CamelCase": "VideoUpperOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointVideoAni_VideoUpperOpticalThreshold",
+        "Index": 16
+      }
+    }
+  },
+  "98": {
+    "Name": "Physical path termination point xDSL UNI part 1",
+    "Filename": "physicalpathterminationpointxdslunipart1.go",
+    "CamelCase": "PhysicalPathTerminationPointXdslUniPart1",
+    "ClassID": 98,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Loopback Configuration",
+        "CamelCase": "LoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_LoopbackConfiguration",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_AdministrativeState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_OperationalState",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xdsl Line Configuration Profile",
+        "CamelCase": "XdslLineConfigurationProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslLineConfigurationProfile",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Xdsl Subcarrier Masking Downstream Profile",
+        "CamelCase": "XdslSubcarrierMaskingDownstreamProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingDownstreamProfile",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Xdsl Subcarrier Masking Upstream Profile",
+        "CamelCase": "XdslSubcarrierMaskingUpstreamProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingUpstreamProfile",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xdsl Downstream Power Spectral Density Psd Mask Profile",
+        "CamelCase": "XdslDownstreamPowerSpectralDensityPsdMaskProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamPowerSpectralDensityPsdMaskProfile",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xdsl Downstream Rfi Bands Profile",
+        "CamelCase": "XdslDownstreamRfiBandsProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamRfiBandsProfile",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_Arc",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_ArcInterval",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Modem Type",
+        "CamelCase": "ModemType",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_ModemType",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upstream Psd Mask Profile",
+        "CamelCase": "UpstreamPsdMaskProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_UpstreamPsdMaskProfile",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Network Specific Extensions Pointer",
+        "CamelCase": "NetworkSpecificExtensionsPointer",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_NetworkSpecificExtensionsPointer",
+        "Index": 13
+      }
+    }
+  },
+  "99": {
+    "Name": "Physical path termination point xDSL UNI part 2",
+    "Filename": "physicalpathterminationpointxdslunipart2.go",
+    "CamelCase": "PhysicalPathTerminationPointXdslUniPart2",
+    "ClassID": 99,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 0 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel0Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Downstream",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 1 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel1Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Downstream",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 2 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel2Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Downstream",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 3 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel3Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Downstream",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 0 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 1 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel1Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Upstream",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 2 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel2Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Upstream",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 3 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel3Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Upstream",
+        "Index": 8
+      }
+    }
+  },
+  "100": {
+    "Name": "xDSL line inventory and status data part 1",
+    "Filename": "xdsllineinventoryandstatusdatapart1.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart1",
+    "ClassID": 100,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Xtu_C G.994.1 Vendor Id",
+        "CamelCase": "XtuCG9941VendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCG9941VendorId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Xtu_R G.994.1 Vendor Id",
+        "CamelCase": "XtuRG9941VendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRG9941VendorId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Xtu_C System Vendor Id",
+        "CamelCase": "XtuCSystemVendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSystemVendorId",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xtu_R System Vendor Id",
+        "CamelCase": "XtuRSystemVendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSystemVendorId",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Xtu_C Version Number",
+        "CamelCase": "XtuCVersionNumber",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCVersionNumber",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Xtu_R Version Number",
+        "CamelCase": "XtuRVersionNumber",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRVersionNumber",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xtu_C Serial Number Part 1",
+        "CamelCase": "XtuCSerialNumberPart1",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart1",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xtu_C Serial Number Part 2",
+        "CamelCase": "XtuCSerialNumberPart2",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart2",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Xtu_R Serial Number Part 1",
+        "CamelCase": "XtuRSerialNumberPart1",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart1",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Xtu_R Serial Number Part 2",
+        "CamelCase": "XtuRSerialNumberPart2",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart2",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Xtu_C Self Test Results",
+        "CamelCase": "XtuCSelfTestResults",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSelfTestResults",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Xtu_R Self Test Results",
+        "CamelCase": "XtuRSelfTestResults",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSelfTestResults",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Xtu_C Transmission System Capability",
+        "CamelCase": "XtuCTransmissionSystemCapability",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCTransmissionSystemCapability",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Xtu_R Transmission System Capability",
+        "CamelCase": "XtuRTransmissionSystemCapability",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRTransmissionSystemCapability",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Initialization Success_Failure Cause",
+        "CamelCase": "InitializationSuccessFailureCause",
+        "Final": "XdslLineInventoryAndStatusDataPart1_InitializationSuccessFailureCause",
+        "Index": 15
+      }
+    }
+  },
+  "101": {
+    "Name": "xDSL line inventory and status data part 2",
+    "Filename": "xdsllineinventoryandstatusdatapart2.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart2",
+    "ClassID": 101,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Xdsl Transmission System",
+        "CamelCase": "XdslTransmissionSystem",
+        "Final": "XdslLineInventoryAndStatusDataPart2_XdslTransmissionSystem",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Line Power Management State",
+        "CamelCase": "LinePowerManagementState",
+        "Final": "XdslLineInventoryAndStatusDataPart2_LinePowerManagementState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Line Attenuation",
+        "CamelCase": "DownstreamLineAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamLineAttenuation",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Line Attenuation",
+        "CamelCase": "UpstreamLineAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamLineAttenuation",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Signal Attenuation",
+        "CamelCase": "DownstreamSignalAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamSignalAttenuation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Signal Attenuation",
+        "CamelCase": "UpstreamSignalAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamSignalAttenuation",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Downstream Snr Ratio Margin",
+        "CamelCase": "DownstreamSnrRatioMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamSnrRatioMargin",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upstream Snr Margin",
+        "CamelCase": "UpstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamSnrMargin",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Downstream Maximum Attainable Data Rate",
+        "CamelCase": "DownstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamMaximumAttainableDataRate",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upstream Maximum Attainable Data Rate",
+        "CamelCase": "UpstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamMaximumAttainableDataRate",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Downstream Actual Power Spectrum Density",
+        "CamelCase": "DownstreamActualPowerSpectrumDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamActualPowerSpectrumDensity",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upstream Actual Power Spectrum Density",
+        "CamelCase": "UpstreamActualPowerSpectrumDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamActualPowerSpectrumDensity",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Downstream Actual Aggregate Transmit Power",
+        "CamelCase": "DownstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamActualAggregateTransmitPower",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Actual Aggregate Transmit Power",
+        "CamelCase": "UpstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamActualAggregateTransmitPower",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Initialization _ Last State Transmitted Downstream",
+        "CamelCase": "InitializationLastStateTransmittedDownstream",
+        "Final": "XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedDownstream",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Initialization _ Last State Transmitted Upstream",
+        "CamelCase": "InitializationLastStateTransmittedUpstream",
+        "Final": "XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedUpstream",
+        "Index": 16
+      }
+    }
+  },
+  "102": {
+    "Name": "xDSL channel downstream status data",
+    "Filename": "xdslchanneldownstreamstatusdata.go",
+    "CamelCase": "XdslChannelDownstreamStatusData",
+    "ClassID": 102,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Actual Interleaving Delay",
+        "CamelCase": "ActualInterleavingDelay",
+        "Final": "XdslChannelDownstreamStatusData_ActualInterleavingDelay",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Actual Data Rate",
+        "CamelCase": "ActualDataRate",
+        "Final": "XdslChannelDownstreamStatusData_ActualDataRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Previous Data Rate",
+        "CamelCase": "PreviousDataRate",
+        "Final": "XdslChannelDownstreamStatusData_PreviousDataRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Actual Impulse Noise Protection",
+        "CamelCase": "ActualImpulseNoiseProtection",
+        "Final": "XdslChannelDownstreamStatusData_ActualImpulseNoiseProtection",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Actual Size Of Reed_Solomon Codeword",
+        "CamelCase": "ActualSizeOfReedSolomonCodeword",
+        "Final": "XdslChannelDownstreamStatusData_ActualSizeOfReedSolomonCodeword",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actual Number Of Reed_Solomon Redundancy Bytes",
+        "CamelCase": "ActualNumberOfReedSolomonRedundancyBytes",
+        "Final": "XdslChannelDownstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Actual Number Of Bits Per Symbol",
+        "CamelCase": "ActualNumberOfBitsPerSymbol",
+        "Final": "XdslChannelDownstreamStatusData_ActualNumberOfBitsPerSymbol",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Actual Interleaving Depth",
+        "CamelCase": "ActualInterleavingDepth",
+        "Final": "XdslChannelDownstreamStatusData_ActualInterleavingDepth",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Actual Interleaving Block Length",
+        "CamelCase": "ActualInterleavingBlockLength",
+        "Final": "XdslChannelDownstreamStatusData_ActualInterleavingBlockLength",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Actual Latency Path",
+        "CamelCase": "ActualLatencyPath",
+        "Final": "XdslChannelDownstreamStatusData_ActualLatencyPath",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Actual Impulse Noise Protection Against Repetitive Electrical Impulse Noise Actinp_Rein",
+        "CamelCase": "ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein",
+        "Final": "XdslChannelDownstreamStatusData_ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein",
+        "Index": 11
+      }
+    }
+  },
+  "103": {
+    "Name": "xDSL channel upstream status data",
+    "Filename": "xdslchannelupstreamstatusdata.go",
+    "CamelCase": "XdslChannelUpstreamStatusData",
+    "ClassID": 103,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Actual Interleaving Delay",
+        "CamelCase": "ActualInterleavingDelay",
+        "Final": "XdslChannelUpstreamStatusData_ActualInterleavingDelay",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Actual Data Rate",
+        "CamelCase": "ActualDataRate",
+        "Final": "XdslChannelUpstreamStatusData_ActualDataRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Previous Data Rate",
+        "CamelCase": "PreviousDataRate",
+        "Final": "XdslChannelUpstreamStatusData_PreviousDataRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Actual Impulse Noise Protection",
+        "CamelCase": "ActualImpulseNoiseProtection",
+        "Final": "XdslChannelUpstreamStatusData_ActualImpulseNoiseProtection",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Impulse Noise Protection Reporting Mode",
+        "CamelCase": "ImpulseNoiseProtectionReportingMode",
+        "Final": "XdslChannelUpstreamStatusData_ImpulseNoiseProtectionReportingMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actual Size Of Reed_Solomon Codeword",
+        "CamelCase": "ActualSizeOfReedSolomonCodeword",
+        "Final": "XdslChannelUpstreamStatusData_ActualSizeOfReedSolomonCodeword",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Actual Number Of Reed_Solomon Redundancy Bytes",
+        "CamelCase": "ActualNumberOfReedSolomonRedundancyBytes",
+        "Final": "XdslChannelUpstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Actual Number Of Bits Per Symbol",
+        "CamelCase": "ActualNumberOfBitsPerSymbol",
+        "Final": "XdslChannelUpstreamStatusData_ActualNumberOfBitsPerSymbol",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Actual Interleaving Depth",
+        "CamelCase": "ActualInterleavingDepth",
+        "Final": "XdslChannelUpstreamStatusData_ActualInterleavingDepth",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Actual Interleaving Block Length",
+        "CamelCase": "ActualInterleavingBlockLength",
+        "Final": "XdslChannelUpstreamStatusData_ActualInterleavingBlockLength",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Actual Latency Path",
+        "CamelCase": "ActualLatencyPath",
+        "Final": "XdslChannelUpstreamStatusData_ActualLatencyPath",
+        "Index": 11
+      }
+    }
+  },
+  "105": {
+    "Name": "xDSL line configuration profile part 2",
+    "Filename": "xdsllineconfigurationprofilepart2.go",
+    "CamelCase": "XdslLineConfigurationProfilePart2",
+    "ClassID": 105,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Downstream Minimum Time Interval For Upshift Rate Adaptation",
+        "CamelCase": "DownstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Upstream Minimum Time Interval For Upshift Rate Adaptation",
+        "CamelCase": "UpstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Downshift Noise Margin",
+        "CamelCase": "DownstreamDownshiftNoiseMargin",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamDownshiftNoiseMargin",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Downshift Noise Margin",
+        "CamelCase": "UpstreamDownshiftNoiseMargin",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamDownshiftNoiseMargin",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Minimum Time Interval For Downshift Rate Adaptation",
+        "CamelCase": "DownstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Minimum Time Interval For Downshift Rate Adaptation",
+        "CamelCase": "UpstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xtu Impedance State Forced",
+        "CamelCase": "XtuImpedanceStateForced",
+        "Final": "XdslLineConfigurationProfilePart2_XtuImpedanceStateForced",
+        "Index": 7
+      },
+      "8": {
+        "Name": "L0_Time",
+        "CamelCase": "L0Time",
+        "Final": "XdslLineConfigurationProfilePart2_L0Time",
+        "Index": 8
+      },
+      "9": {
+        "Name": "L2_Time",
+        "CamelCase": "L2Time",
+        "Final": "XdslLineConfigurationProfilePart2_L2Time",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Downstream Maximum Nominal Power Spectral Density",
+        "CamelCase": "DownstreamMaximumNominalPowerSpectralDensity",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMaximumNominalPowerSpectralDensity",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upstream Maximum Nominal Power Spectral Density",
+        "CamelCase": "UpstreamMaximumNominalPowerSpectralDensity",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMaximumNominalPowerSpectralDensity",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Downstream Maximum Nominal Aggregate Transmit Power",
+        "CamelCase": "DownstreamMaximumNominalAggregateTransmitPower",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMaximumNominalAggregateTransmitPower",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Upstream Maximum Nominal Aggregate Transmit Power",
+        "CamelCase": "UpstreamMaximumNominalAggregateTransmitPower",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMaximumNominalAggregateTransmitPower",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Maximum Aggregate_Receive Power",
+        "CamelCase": "UpstreamMaximumAggregateReceivePower",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMaximumAggregateReceivePower",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Vdsl2 Transmission System Enabling",
+        "CamelCase": "Vdsl2TransmissionSystemEnabling",
+        "Final": "XdslLineConfigurationProfilePart2_Vdsl2TransmissionSystemEnabling",
+        "Index": 15
+      }
+    }
+  },
+  "106": {
+    "Name": "xDSL line configuration profile part 3",
+    "Filename": "xdsllineconfigurationprofilepart3.go",
+    "CamelCase": "XdslLineConfigurationProfilePart3",
+    "ClassID": 106,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Loop Diagnostics Mode Forced Ldsf",
+        "CamelCase": "LoopDiagnosticsModeForcedLdsf",
+        "Final": "XdslLineConfigurationProfilePart3_LoopDiagnosticsModeForcedLdsf",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Automode Cold Start Forced",
+        "CamelCase": "AutomodeColdStartForced",
+        "Final": "XdslLineConfigurationProfilePart3_AutomodeColdStartForced",
+        "Index": 2
+      },
+      "3": {
+        "Name": "L2 Atpr",
+        "CamelCase": "L2Atpr",
+        "Final": "XdslLineConfigurationProfilePart3_L2Atpr",
+        "Index": 3
+      },
+      "4": {
+        "Name": "L2 Atprt",
+        "CamelCase": "L2Atprt",
+        "Final": "XdslLineConfigurationProfilePart3_L2Atprt",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Force Inp Downstream",
+        "CamelCase": "ForceInpDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_ForceInpDownstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Force Inp Upstream",
+        "CamelCase": "ForceInpUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_ForceInpUpstream",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Update Request Flag For Near_End Test Parameters",
+        "CamelCase": "UpdateRequestFlagForNearEndTestParameters",
+        "Final": "XdslLineConfigurationProfilePart3_UpdateRequestFlagForNearEndTestParameters",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Update Request Flag For Far_End Test Parameters",
+        "CamelCase": "UpdateRequestFlagForFarEndTestParameters",
+        "Final": "XdslLineConfigurationProfilePart3_UpdateRequestFlagForFarEndTestParameters",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Inm Inter Arrival Time Offset Upstream",
+        "CamelCase": "InmInterArrivalTimeOffsetUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetUpstream",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Inm Inter_Arrival Time Step Upstream",
+        "CamelCase": "InmInterArrivalTimeStepUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepUpstream",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Inm Cluster Continuation Value Upstream",
+        "CamelCase": "InmClusterContinuationValueUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmClusterContinuationValueUpstream",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Inm Equivalent Inp Mode Upstream",
+        "CamelCase": "InmEquivalentInpModeUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmEquivalentInpModeUpstream",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Inm Inter Arrival Time Offset Downstream",
+        "CamelCase": "InmInterArrivalTimeOffsetDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetDownstream",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Inm Inter_Arrival Time Step Downstream",
+        "CamelCase": "InmInterArrivalTimeStepDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepDownstream",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Inm Cluster Continuation Value Downstream",
+        "CamelCase": "InmClusterContinuationValueDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmClusterContinuationValueDownstream",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Inm Equivalent Inp Mode Downstream",
+        "CamelCase": "InmEquivalentInpModeDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmEquivalentInpModeDownstream",
+        "Index": 16
+      }
+    }
+  },
+  "107": {
+    "Name": "xDSL channel configuration profile",
+    "Filename": "xdslchannelconfigurationprofile.go",
+    "CamelCase": "XdslChannelConfigurationProfile",
+    "ClassID": 107,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Minimum Data Rate",
+        "CamelCase": "MinimumDataRate",
+        "Final": "XdslChannelConfigurationProfile_MinimumDataRate",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Maximum Data Rate",
+        "CamelCase": "MaximumDataRate",
+        "Final": "XdslChannelConfigurationProfile_MaximumDataRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rate Adaptation Ratio",
+        "CamelCase": "RateAdaptationRatio",
+        "Final": "XdslChannelConfigurationProfile_RateAdaptationRatio",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Maximum Interleaving Delay",
+        "CamelCase": "MaximumInterleavingDelay",
+        "Final": "XdslChannelConfigurationProfile_MaximumInterleavingDelay",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Data Rate Threshold Upshift",
+        "CamelCase": "DataRateThresholdUpshift",
+        "Final": "XdslChannelConfigurationProfile_DataRateThresholdUpshift",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Data Rate Threshold Downshift",
+        "CamelCase": "DataRateThresholdDownshift",
+        "Final": "XdslChannelConfigurationProfile_DataRateThresholdDownshift",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Minimum Reserved Data Rate",
+        "CamelCase": "MinimumReservedDataRate",
+        "Final": "XdslChannelConfigurationProfile_MinimumReservedDataRate",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Minimum Data Rate In Low _ Power State",
+        "CamelCase": "MinimumDataRateInLowPowerState",
+        "Final": "XdslChannelConfigurationProfile_MinimumDataRateInLowPowerState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Minimum Impulse Noise Protection",
+        "CamelCase": "MinimumImpulseNoiseProtection",
+        "Final": "XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Maximum Bit Error Ratio",
+        "CamelCase": "MaximumBitErrorRatio",
+        "Final": "XdslChannelConfigurationProfile_MaximumBitErrorRatio",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Minimum Impulse Noise Protection 8_Khz",
+        "CamelCase": "MinimumImpulseNoiseProtection8Khz",
+        "Final": "XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection8Khz",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Maximum Delay Variation",
+        "CamelCase": "MaximumDelayVariation",
+        "Final": "XdslChannelConfigurationProfile_MaximumDelayVariation",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Channel Initialization Policy Selection",
+        "CamelCase": "ChannelInitializationPolicySelection",
+        "Final": "XdslChannelConfigurationProfile_ChannelInitializationPolicySelection",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Minimum Sos Bit Rate Downstream",
+        "CamelCase": "MinimumSosBitRateDownstream",
+        "Final": "XdslChannelConfigurationProfile_MinimumSosBitRateDownstream",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Minimum Sos Bit Rate Upstream",
+        "CamelCase": "MinimumSosBitRateUpstream",
+        "Final": "XdslChannelConfigurationProfile_MinimumSosBitRateUpstream",
+        "Index": 15
+      }
+    }
+  },
+  "108": {
+    "Name": "xDSL subcarrier masking downstream profile",
+    "Filename": "xdslsubcarriermaskingdownstreamprofile.go",
+    "CamelCase": "XdslSubcarrierMaskingDownstreamProfile",
+    "ClassID": 108,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Downstream Subcarrier Mask 1",
+        "CamelCase": "DownstreamSubcarrierMask1",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask1",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Downstream Subcarrier Mask 2",
+        "CamelCase": "DownstreamSubcarrierMask2",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask2",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Subcarrier Mask 3",
+        "CamelCase": "DownstreamSubcarrierMask3",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask3",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Subcarrier Mask 4",
+        "CamelCase": "DownstreamSubcarrierMask4",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask4",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mask Valid",
+        "CamelCase": "MaskValid",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_MaskValid",
+        "Index": 5
+      }
+    }
+  },
+  "109": {
+    "Name": "xDSL subcarrier masking upstream profile",
+    "Filename": "xdslsubcarriermaskingupstreamprofile.go",
+    "CamelCase": "XdslSubcarrierMaskingUpstreamProfile",
+    "ClassID": 109,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Upstream Subcarrier Mask",
+        "CamelCase": "UpstreamSubcarrierMask",
+        "Final": "XdslSubcarrierMaskingUpstreamProfile_UpstreamSubcarrierMask",
+        "Index": 1
+      }
+    }
+  },
+  "110": {
+    "Name": "xDSL PSD mask profile",
+    "Filename": "xdslpsdmaskprofile.go",
+    "CamelCase": "XdslPsdMaskProfile",
+    "ClassID": 110,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Psd Mask Table",
+        "CamelCase": "PsdMaskTable",
+        "Final": "XdslPsdMaskProfile_PsdMaskTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Mask Valid",
+        "CamelCase": "MaskValid",
+        "Final": "XdslPsdMaskProfile_MaskValid",
+        "Index": 2
+      }
+    }
+  },
+  "111": {
+    "Name": "xDSL downstream RFI bands profile",
+    "Filename": "xdsldownstreamrfibandsprofile.go",
+    "CamelCase": "XdslDownstreamRfiBandsProfile",
+    "ClassID": 111,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Downstream Rfi Bands Table",
+        "CamelCase": "DownstreamRfiBandsTable",
+        "Final": "XdslDownstreamRfiBandsProfile_DownstreamRfiBandsTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Bands Valid",
+        "CamelCase": "BandsValid",
+        "Final": "XdslDownstreamRfiBandsProfile_BandsValid",
+        "Index": 2
+      }
+    }
+  },
+  "112": {
+    "Name": "xDSL xTU-C performance monitoring history data",
+    "Filename": "xdslxtu-cperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuCPerformanceMonitoringHistoryData",
+    "ClassID": 112,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Loss Of Frame Seconds",
+        "CamelCase": "LossOfFrameSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfFrameSeconds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Loss Of Signal Seconds",
+        "CamelCase": "LossOfSignalSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfSignalSeconds",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Loss Of Link Seconds",
+        "CamelCase": "LossOfLinkSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfLinkSeconds",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Loss Of Power Seconds",
+        "CamelCase": "LossOfPowerSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfPowerSeconds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Errored Seconds Es",
+        "CamelCase": "ErroredSecondsEs",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_ErroredSecondsEs",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Severely Errored Seconds",
+        "CamelCase": "SeverelyErroredSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_SeverelyErroredSeconds",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Line Initializations",
+        "CamelCase": "LineInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LineInitializations",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Failed Line Initializations",
+        "CamelCase": "FailedLineInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_FailedLineInitializations",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Short Initializations",
+        "CamelCase": "ShortInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_ShortInitializations",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Failed Short Initializations",
+        "CamelCase": "FailedShortInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_FailedShortInitializations",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Unavailable Seconds",
+        "CamelCase": "UnavailableSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_UnavailableSeconds",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Sos Success Count Near End",
+        "CamelCase": "SosSuccessCountNearEnd",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountNearEnd",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Sos Success Count Far End",
+        "CamelCase": "SosSuccessCountFarEnd",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountFarEnd",
+        "Index": 16
+      }
+    }
+  },
+  "113": {
+    "Name": "xDSL xTU-R performance monitoring history data",
+    "Filename": "xdslxtu-rperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuRPerformanceMonitoringHistoryData",
+    "ClassID": 113,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Loss Of Frame Seconds",
+        "CamelCase": "LossOfFrameSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LossOfFrameSeconds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Loss Of Signal Seconds",
+        "CamelCase": "LossOfSignalSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LossOfSignalSeconds",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Loss Of Power Seconds",
+        "CamelCase": "LossOfPowerSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LossOfPowerSeconds",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Errored Seconds",
+        "CamelCase": "ErroredSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_ErroredSeconds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Severely Errored Seconds",
+        "CamelCase": "SeverelyErroredSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_SeverelyErroredSeconds",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Unavailable Seconds",
+        "CamelCase": "UnavailableSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_UnavailableSeconds",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Leftr Defect Seconds",
+        "CamelCase": "LeftrDefectSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LeftrDefectSeconds",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Error_Free Bits Counter",
+        "CamelCase": "ErrorFreeBitsCounter",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_ErrorFreeBitsCounter",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Minimum Error_Free Throughput Mineftr",
+        "CamelCase": "MinimumErrorFreeThroughputMineftr",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_MinimumErrorFreeThroughputMineftr",
+        "Index": 12
+      }
+    }
+  },
+  "114": {
+    "Name": "xDSL xTU-C channel performance monitoring history data",
+    "Filename": "xdslxtu-cchannelperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuCChannelPerformanceMonitoringHistoryData",
+    "ClassID": 114,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Blocks",
+        "CamelCase": "CorrectedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_CorrectedBlocks",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Uncorrected Blocks",
+        "CamelCase": "UncorrectedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_UncorrectedBlocks",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Transmitted Blocks",
+        "CamelCase": "TransmittedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_TransmittedBlocks",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Blocks",
+        "CamelCase": "ReceivedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_ReceivedBlocks",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Code Violations",
+        "CamelCase": "CodeViolations",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_CodeViolations",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Forward Error Corrections",
+        "CamelCase": "ForwardErrorCorrections",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections",
+        "Index": 8
+      }
+    }
+  },
+  "115": {
+    "Name": "xDSL xTU-R channel performance monitoring history data",
+    "Filename": "xdslxtu-rchannelperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuRChannelPerformanceMonitoringHistoryData",
+    "ClassID": 115,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Blocks",
+        "CamelCase": "CorrectedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_CorrectedBlocks",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Uncorrected Blocks",
+        "CamelCase": "UncorrectedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_UncorrectedBlocks",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Transmitted Blocks",
+        "CamelCase": "TransmittedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_TransmittedBlocks",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Blocks",
+        "CamelCase": "ReceivedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_ReceivedBlocks",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Code Violations",
+        "CamelCase": "CodeViolations",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_CodeViolations",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Forward Error Corrections",
+        "CamelCase": "ForwardErrorCorrections",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections",
+        "Index": 8
+      }
+    }
+  },
+  "116": {
+    "Name": "TC adaptor performance monitoring history data xDSL",
+    "Filename": "tcadaptorperformancemonitoringhistorydataxdsl.go",
+    "CamelCase": "TcAdaptorPerformanceMonitoringHistoryDataXdsl",
+    "ClassID": 116,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Near_End Hec Violation Count",
+        "CamelCase": "NearEndHecViolationCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndHecViolationCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Near_End Delineated Total Cell Count Cd P",
+        "CamelCase": "NearEndDelineatedTotalCellCountCdP",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndDelineatedTotalCellCountCdP",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Near_End User Total Cell Count Cu_P",
+        "CamelCase": "NearEndUserTotalCellCountCuP",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndUserTotalCellCountCuP",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Near_End Idle Cell Bit Error Count",
+        "CamelCase": "NearEndIdleCellBitErrorCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndIdleCellBitErrorCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Far_End Hec Violation Count",
+        "CamelCase": "FarEndHecViolationCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndHecViolationCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Far_End Delineated Total Cell Count Cd_Pfe",
+        "CamelCase": "FarEndDelineatedTotalCellCountCdPfe",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndDelineatedTotalCellCountCdPfe",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Far_End User Total Cell Count Cu_Pfe",
+        "CamelCase": "FarEndUserTotalCellCountCuPfe",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndUserTotalCellCountCuPfe",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Far_End Idle Cell Bit Error Count",
+        "CamelCase": "FarEndIdleCellBitErrorCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndIdleCellBitErrorCount",
+        "Index": 10
+      }
+    }
+  },
+  "130": {
+    "Name": "IEEE 802.1p mapper service profile",
+    "Filename": "ieee802.1pmapperserviceprofile.go",
+    "CamelCase": "Ieee8021PMapperServiceProfile",
+    "ClassID": 130,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tp Pointer",
+        "CamelCase": "TpPointer",
+        "Final": "Ieee8021PMapperServiceProfile_TpPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 0",
+        "CamelCase": "InterworkTpPointerForPBitPriority0",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 1",
+        "CamelCase": "InterworkTpPointerForPBitPriority1",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 2",
+        "CamelCase": "InterworkTpPointerForPBitPriority2",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 3",
+        "CamelCase": "InterworkTpPointerForPBitPriority3",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 4",
+        "CamelCase": "InterworkTpPointerForPBitPriority4",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 5",
+        "CamelCase": "InterworkTpPointerForPBitPriority5",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 6",
+        "CamelCase": "InterworkTpPointerForPBitPriority6",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 7",
+        "CamelCase": "InterworkTpPointerForPBitPriority7",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Unmarked Frame Option",
+        "CamelCase": "UnmarkedFrameOption",
+        "Final": "Ieee8021PMapperServiceProfile_UnmarkedFrameOption",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Dscp To P Bit Mapping",
+        "CamelCase": "DscpToPBitMapping",
+        "Final": "Ieee8021PMapperServiceProfile_DscpToPBitMapping",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Default P Bit Assumption",
+        "CamelCase": "DefaultPBitAssumption",
+        "Final": "Ieee8021PMapperServiceProfile_DefaultPBitAssumption",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "Ieee8021PMapperServiceProfile_TpType",
+        "Index": 13
+      }
+    }
+  },
+  "131": {
+    "Name": "OLT-G",
+    "Filename": "olt-g.go",
+    "CamelCase": "OltG",
+    "ClassID": 131,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Olt Vendor Id",
+        "CamelCase": "OltVendorId",
+        "Final": "OltG_OltVendorId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Equipment Id",
+        "CamelCase": "EquipmentId",
+        "Final": "OltG_EquipmentId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "OltG_Version",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Time Of Day Information",
+        "CamelCase": "TimeOfDayInformation",
+        "Final": "OltG_TimeOfDayInformation",
+        "Index": 4
+      }
+    }
+  },
+  "133": {
+    "Name": "ONU power shedding",
+    "Filename": "onupowershedding.go",
+    "CamelCase": "OnuPowerShedding",
+    "ClassID": 133,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Restore Power Timer Reset Interval",
+        "CamelCase": "RestorePowerTimerResetInterval",
+        "Final": "OnuPowerShedding_RestorePowerTimerResetInterval",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Data Class Shedding Interval",
+        "CamelCase": "DataClassSheddingInterval",
+        "Final": "OnuPowerShedding_DataClassSheddingInterval",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Voice Class Shedding Interval",
+        "CamelCase": "VoiceClassSheddingInterval",
+        "Final": "OnuPowerShedding_VoiceClassSheddingInterval",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Video Overlay Class Shedding Interval",
+        "CamelCase": "VideoOverlayClassSheddingInterval",
+        "Final": "OnuPowerShedding_VideoOverlayClassSheddingInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Video Return Class Shedding Interval",
+        "CamelCase": "VideoReturnClassSheddingInterval",
+        "Final": "OnuPowerShedding_VideoReturnClassSheddingInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Digital Subscriber Line Class Shedding Interval",
+        "CamelCase": "DigitalSubscriberLineClassSheddingInterval",
+        "Final": "OnuPowerShedding_DigitalSubscriberLineClassSheddingInterval",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Atm Class Shedding Interval",
+        "CamelCase": "AtmClassSheddingInterval",
+        "Final": "OnuPowerShedding_AtmClassSheddingInterval",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Ces Class Shedding Interval",
+        "CamelCase": "CesClassSheddingInterval",
+        "Final": "OnuPowerShedding_CesClassSheddingInterval",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Frame Class Shedding Interval",
+        "CamelCase": "FrameClassSheddingInterval",
+        "Final": "OnuPowerShedding_FrameClassSheddingInterval",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Sdh_Sonet Class Shedding Interval",
+        "CamelCase": "SdhSonetClassSheddingInterval",
+        "Final": "OnuPowerShedding_SdhSonetClassSheddingInterval",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Shedding Status",
+        "CamelCase": "SheddingStatus",
+        "Final": "OnuPowerShedding_SheddingStatus",
+        "Index": 11
+      }
+    }
+  },
+  "134": {
+    "Name": "IP host config data",
+    "Filename": "iphostconfigdata.go",
+    "CamelCase": "IpHostConfigData",
+    "ClassID": 134,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ip Options",
+        "CamelCase": "IpOptions",
+        "Final": "IpHostConfigData_IpOptions",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Mac Address",
+        "CamelCase": "MacAddress",
+        "Final": "IpHostConfigData_MacAddress",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Onu Identifier",
+        "CamelCase": "OnuIdentifier",
+        "Final": "IpHostConfigData_OnuIdentifier",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ip Address",
+        "CamelCase": "IpAddress",
+        "Final": "IpHostConfigData_IpAddress",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mask",
+        "CamelCase": "Mask",
+        "Final": "IpHostConfigData_Mask",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Gateway",
+        "CamelCase": "Gateway",
+        "Final": "IpHostConfigData_Gateway",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Primary Dns",
+        "CamelCase": "PrimaryDns",
+        "Final": "IpHostConfigData_PrimaryDns",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Secondary Dns",
+        "CamelCase": "SecondaryDns",
+        "Final": "IpHostConfigData_SecondaryDns",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Current Address",
+        "CamelCase": "CurrentAddress",
+        "Final": "IpHostConfigData_CurrentAddress",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Current Mask",
+        "CamelCase": "CurrentMask",
+        "Final": "IpHostConfigData_CurrentMask",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Current Gateway",
+        "CamelCase": "CurrentGateway",
+        "Final": "IpHostConfigData_CurrentGateway",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Current Primary Dns",
+        "CamelCase": "CurrentPrimaryDns",
+        "Final": "IpHostConfigData_CurrentPrimaryDns",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Current Secondary Dns",
+        "CamelCase": "CurrentSecondaryDns",
+        "Final": "IpHostConfigData_CurrentSecondaryDns",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Domain Name",
+        "CamelCase": "DomainName",
+        "Final": "IpHostConfigData_DomainName",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Host Name",
+        "CamelCase": "HostName",
+        "Final": "IpHostConfigData_HostName",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Relay Agent Options",
+        "CamelCase": "RelayAgentOptions",
+        "Final": "IpHostConfigData_RelayAgentOptions",
+        "Index": 16
+      }
+    }
+  },
+  "135": {
+    "Name": "IP host performance monitoring history data",
+    "Filename": "iphostperformancemonitoringhistorydata.go",
+    "CamelCase": "IpHostPerformanceMonitoringHistoryData",
+    "ClassID": 135,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "IpHostPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "IpHostPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Icmp Errors",
+        "CamelCase": "IcmpErrors",
+        "Final": "IpHostPerformanceMonitoringHistoryData_IcmpErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Dns Errors",
+        "CamelCase": "DnsErrors",
+        "Final": "IpHostPerformanceMonitoringHistoryData_DnsErrors",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Dhcp Timeouts",
+        "CamelCase": "DhcpTimeouts",
+        "Final": "IpHostPerformanceMonitoringHistoryData_DhcpTimeouts",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ip Address Conflict",
+        "CamelCase": "IpAddressConflict",
+        "Final": "IpHostPerformanceMonitoringHistoryData_IpAddressConflict",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Out Of Memory",
+        "CamelCase": "OutOfMemory",
+        "Final": "IpHostPerformanceMonitoringHistoryData_OutOfMemory",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Internal Error",
+        "CamelCase": "InternalError",
+        "Final": "IpHostPerformanceMonitoringHistoryData_InternalError",
+        "Index": 8
+      }
+    }
+  },
+  "136": {
+    "Name": "TCP/UDP config data",
+    "Filename": "tcpudpconfigdata.go",
+    "CamelCase": "TcpUdpConfigData",
+    "ClassID": 136,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Port Id",
+        "CamelCase": "PortId",
+        "Final": "TcpUdpConfigData_PortId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Protocol",
+        "CamelCase": "Protocol",
+        "Final": "TcpUdpConfigData_Protocol",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tos_Diffserv Field",
+        "CamelCase": "TosDiffservField",
+        "Final": "TcpUdpConfigData_TosDiffservField",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ip Host Pointer",
+        "CamelCase": "IpHostPointer",
+        "Final": "TcpUdpConfigData_IpHostPointer",
+        "Index": 4
+      }
+    }
+  },
+  "137": {
+    "Name": "Network address",
+    "Filename": "networkaddress.go",
+    "CamelCase": "NetworkAddress",
+    "ClassID": 137,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Security Pointer",
+        "CamelCase": "SecurityPointer",
+        "Final": "NetworkAddress_SecurityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Address Pointer",
+        "CamelCase": "AddressPointer",
+        "Final": "NetworkAddress_AddressPointer",
+        "Index": 2
+      }
+    }
+  },
+  "138": {
+    "Name": "VoIP config data",
+    "Filename": "voipconfigdata.go",
+    "CamelCase": "VoipConfigData",
+    "ClassID": 138,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Available Signalling Protocols",
+        "CamelCase": "AvailableSignallingProtocols",
+        "Final": "VoipConfigData_AvailableSignallingProtocols",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Signalling Protocol Used",
+        "CamelCase": "SignallingProtocolUsed",
+        "Final": "VoipConfigData_SignallingProtocolUsed",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Available Voip Configuration Methods",
+        "CamelCase": "AvailableVoipConfigurationMethods",
+        "Final": "VoipConfigData_AvailableVoipConfigurationMethods",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Voip Configuration Method Used",
+        "CamelCase": "VoipConfigurationMethodUsed",
+        "Final": "VoipConfigData_VoipConfigurationMethodUsed",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Voip Configuration Address Pointer",
+        "CamelCase": "VoipConfigurationAddressPointer",
+        "Final": "VoipConfigData_VoipConfigurationAddressPointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Voip Configuration State",
+        "CamelCase": "VoipConfigurationState",
+        "Final": "VoipConfigData_VoipConfigurationState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Retrieve Profile",
+        "CamelCase": "RetrieveProfile",
+        "Final": "VoipConfigData_RetrieveProfile",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Profile Version",
+        "CamelCase": "ProfileVersion",
+        "Final": "VoipConfigData_ProfileVersion",
+        "Index": 8
+      }
+    }
+  },
+  "139": {
+    "Name": "VoIP voice CTP",
+    "Filename": "voipvoicectp.go",
+    "CamelCase": "VoipVoiceCtp",
+    "ClassID": 139,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "User Protocol Pointer",
+        "CamelCase": "UserProtocolPointer",
+        "Final": "VoipVoiceCtp_UserProtocolPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Pptp Pointer",
+        "CamelCase": "PptpPointer",
+        "Final": "VoipVoiceCtp_PptpPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "V O Ip Media Profile Pointer",
+        "CamelCase": "VOIpMediaProfilePointer",
+        "Final": "VoipVoiceCtp_VOIpMediaProfilePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Signalling Code",
+        "CamelCase": "SignallingCode",
+        "Final": "VoipVoiceCtp_SignallingCode",
+        "Index": 4
+      }
+    }
+  },
+  "140": {
+    "Name": "Call control performance monitoring history data",
+    "Filename": "callcontrolperformancemonitoringhistorydata.go",
+    "CamelCase": "CallControlPerformanceMonitoringHistoryData",
+    "ClassID": 140,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "CallControlPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "CallControlPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Call Setup Failures",
+        "CamelCase": "CallSetupFailures",
+        "Final": "CallControlPerformanceMonitoringHistoryData_CallSetupFailures",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Call Setup Timer",
+        "CamelCase": "CallSetupTimer",
+        "Final": "CallControlPerformanceMonitoringHistoryData_CallSetupTimer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Call Terminate Failures",
+        "CamelCase": "CallTerminateFailures",
+        "Final": "CallControlPerformanceMonitoringHistoryData_CallTerminateFailures",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Analog Port Releases",
+        "CamelCase": "AnalogPortReleases",
+        "Final": "CallControlPerformanceMonitoringHistoryData_AnalogPortReleases",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Analog Port Off_Hook Timer",
+        "CamelCase": "AnalogPortOffHookTimer",
+        "Final": "CallControlPerformanceMonitoringHistoryData_AnalogPortOffHookTimer",
+        "Index": 7
+      }
+    }
+  },
+  "141": {
+    "Name": "VoIP line status",
+    "Filename": "voiplinestatus.go",
+    "CamelCase": "VoipLineStatus",
+    "ClassID": 141,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Voip Codec Used",
+        "CamelCase": "VoipCodecUsed",
+        "Final": "VoipLineStatus_VoipCodecUsed",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Voip Voice Server Status",
+        "CamelCase": "VoipVoiceServerStatus",
+        "Final": "VoipLineStatus_VoipVoiceServerStatus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Voip Port Session Type",
+        "CamelCase": "VoipPortSessionType",
+        "Final": "VoipLineStatus_VoipPortSessionType",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Voip Call 1 Packet Period",
+        "CamelCase": "VoipCall1PacketPeriod",
+        "Final": "VoipLineStatus_VoipCall1PacketPeriod",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Voip Call 2 Packet Period",
+        "CamelCase": "VoipCall2PacketPeriod",
+        "Final": "VoipLineStatus_VoipCall2PacketPeriod",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Voip Call 1 Dest Addr",
+        "CamelCase": "VoipCall1DestAddr",
+        "Final": "VoipLineStatus_VoipCall1DestAddr",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Voip Call 2 Dest Addr",
+        "CamelCase": "VoipCall2DestAddr",
+        "Final": "VoipLineStatus_VoipCall2DestAddr",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Voip Line State",
+        "CamelCase": "VoipLineState",
+        "Final": "VoipLineStatus_VoipLineState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Emergency Call Status",
+        "CamelCase": "EmergencyCallStatus",
+        "Final": "VoipLineStatus_EmergencyCallStatus",
+        "Index": 9
+      }
+    }
+  },
+  "142": {
+    "Name": "VoIP media profile",
+    "Filename": "voipmediaprofile.go",
+    "CamelCase": "VoipMediaProfile",
+    "ClassID": 142,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fax Mode",
+        "CamelCase": "FaxMode",
+        "Final": "VoipMediaProfile_FaxMode",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Voice Service Profile Pointer",
+        "CamelCase": "VoiceServiceProfilePointer",
+        "Final": "VoipMediaProfile_VoiceServiceProfilePointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Codec Selection 1st Order",
+        "CamelCase": "CodecSelection1StOrder",
+        "Final": "VoipMediaProfile_CodecSelection1StOrder",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Packet Period Selection 1st Order",
+        "CamelCase": "PacketPeriodSelection1StOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection1StOrder",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Silence Suppression 1st Order",
+        "CamelCase": "SilenceSuppression1StOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression1StOrder",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Codec Selection 2nd Order",
+        "CamelCase": "CodecSelection2NdOrder",
+        "Final": "VoipMediaProfile_CodecSelection2NdOrder",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Packet Period Selection 2nd Order",
+        "CamelCase": "PacketPeriodSelection2NdOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection2NdOrder",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Silence Suppression 2nd Order",
+        "CamelCase": "SilenceSuppression2NdOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression2NdOrder",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Codec Selection 3rd Order",
+        "CamelCase": "CodecSelection3RdOrder",
+        "Final": "VoipMediaProfile_CodecSelection3RdOrder",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Packet Period Selection 3rd Order",
+        "CamelCase": "PacketPeriodSelection3RdOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection3RdOrder",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Silence Suppression 3rd Order",
+        "CamelCase": "SilenceSuppression3RdOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression3RdOrder",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Codec Selection 4th Order",
+        "CamelCase": "CodecSelection4ThOrder",
+        "Final": "VoipMediaProfile_CodecSelection4ThOrder",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packet Period Selection 4th Order",
+        "CamelCase": "PacketPeriodSelection4ThOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection4ThOrder",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Silence Suppression 4th Order",
+        "CamelCase": "SilenceSuppression4ThOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression4ThOrder",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Oob Dtmf",
+        "CamelCase": "OobDtmf",
+        "Final": "VoipMediaProfile_OobDtmf",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Rtp Profile Pointer",
+        "CamelCase": "RtpProfilePointer",
+        "Final": "VoipMediaProfile_RtpProfilePointer",
+        "Index": 16
+      }
+    }
+  },
+  "143": {
+    "Name": "RTP profile data",
+    "Filename": "rtpprofiledata.go",
+    "CamelCase": "RtpProfileData",
+    "ClassID": 143,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Local Port Min",
+        "CamelCase": "LocalPortMin",
+        "Final": "RtpProfileData_LocalPortMin",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Local Port Max",
+        "CamelCase": "LocalPortMax",
+        "Final": "RtpProfileData_LocalPortMax",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Dscp Mark",
+        "CamelCase": "DscpMark",
+        "Final": "RtpProfileData_DscpMark",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Piggyback Events",
+        "CamelCase": "PiggybackEvents",
+        "Final": "RtpProfileData_PiggybackEvents",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tone Events",
+        "CamelCase": "ToneEvents",
+        "Final": "RtpProfileData_ToneEvents",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Dtmf Events",
+        "CamelCase": "DtmfEvents",
+        "Final": "RtpProfileData_DtmfEvents",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Cas Events",
+        "CamelCase": "CasEvents",
+        "Final": "RtpProfileData_CasEvents",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Ip Host Config Pointer",
+        "CamelCase": "IpHostConfigPointer",
+        "Final": "RtpProfileData_IpHostConfigPointer",
+        "Index": 8
+      }
+    }
+  },
+  "144": {
+    "Name": "RTP performance monitoring history data",
+    "Filename": "rtpperformancemonitoringhistorydata.go",
+    "CamelCase": "RtpPerformanceMonitoringHistoryData",
+    "ClassID": 144,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "RtpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "RtpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rtp Errors",
+        "CamelCase": "RtpErrors",
+        "Final": "RtpPerformanceMonitoringHistoryData_RtpErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Packet Loss",
+        "CamelCase": "PacketLoss",
+        "Final": "RtpPerformanceMonitoringHistoryData_PacketLoss",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Jitter",
+        "CamelCase": "MaximumJitter",
+        "Final": "RtpPerformanceMonitoringHistoryData_MaximumJitter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Maximum Time Between Real_Time Transport Control Protocol Rtcp Packets",
+        "CamelCase": "MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets",
+        "Final": "RtpPerformanceMonitoringHistoryData_MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Buffer Underflows",
+        "CamelCase": "BufferUnderflows",
+        "Final": "RtpPerformanceMonitoringHistoryData_BufferUnderflows",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Buffer Overflows",
+        "CamelCase": "BufferOverflows",
+        "Final": "RtpPerformanceMonitoringHistoryData_BufferOverflows",
+        "Index": 8
+      }
+    }
+  },
+  "145": {
+    "Name": "Network dial plan table",
+    "Filename": "networkdialplantable.go",
+    "CamelCase": "NetworkDialPlanTable",
+    "ClassID": 145,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Dial Plan Number",
+        "CamelCase": "DialPlanNumber",
+        "Final": "NetworkDialPlanTable_DialPlanNumber",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Dial Plan Table Max Size",
+        "CamelCase": "DialPlanTableMaxSize",
+        "Final": "NetworkDialPlanTable_DialPlanTableMaxSize",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Critical Dial Timeout",
+        "CamelCase": "CriticalDialTimeout",
+        "Final": "NetworkDialPlanTable_CriticalDialTimeout",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Partial Dial Timeout",
+        "CamelCase": "PartialDialTimeout",
+        "Final": "NetworkDialPlanTable_PartialDialTimeout",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Dial Plan Format",
+        "CamelCase": "DialPlanFormat",
+        "Final": "NetworkDialPlanTable_DialPlanFormat",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Dial Plan Table",
+        "CamelCase": "DialPlanTable",
+        "Final": "NetworkDialPlanTable_DialPlanTable",
+        "Index": 6
+      }
+    }
+  },
+  "146": {
+    "Name": "VoIP application service profile",
+    "Filename": "voipapplicationserviceprofile.go",
+    "CamelCase": "VoipApplicationServiceProfile",
+    "ClassID": 146,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Cid Features",
+        "CamelCase": "CidFeatures",
+        "Final": "VoipApplicationServiceProfile_CidFeatures",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Call Waiting Features",
+        "CamelCase": "CallWaitingFeatures",
+        "Final": "VoipApplicationServiceProfile_CallWaitingFeatures",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Call Progress Or Transfer Features",
+        "CamelCase": "CallProgressOrTransferFeatures",
+        "Final": "VoipApplicationServiceProfile_CallProgressOrTransferFeatures",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Call Presentation Features",
+        "CamelCase": "CallPresentationFeatures",
+        "Final": "VoipApplicationServiceProfile_CallPresentationFeatures",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Direct Connect Feature",
+        "CamelCase": "DirectConnectFeature",
+        "Final": "VoipApplicationServiceProfile_DirectConnectFeature",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Direct Connect Uri Pointer",
+        "CamelCase": "DirectConnectUriPointer",
+        "Final": "VoipApplicationServiceProfile_DirectConnectUriPointer",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Bridged Line Agent Uri Pointer",
+        "CamelCase": "BridgedLineAgentUriPointer",
+        "Final": "VoipApplicationServiceProfile_BridgedLineAgentUriPointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Conference Factory Uri Pointer",
+        "CamelCase": "ConferenceFactoryUriPointer",
+        "Final": "VoipApplicationServiceProfile_ConferenceFactoryUriPointer",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Dial Tone Feature Delay_Warmline Timer New",
+        "CamelCase": "DialToneFeatureDelayWarmlineTimerNew",
+        "Final": "VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Ip Host Pointer",
+        "CamelCase": "IpHostPointer",
+        "Final": "VoipApplicationServiceProfile_IpHostPointer",
+        "Index": 10
+      }
+    }
+  },
+  "147": {
+    "Name": "VoIP feature access codes",
+    "Filename": "voipfeatureaccesscodes.go",
+    "CamelCase": "VoipFeatureAccessCodes",
+    "ClassID": 147,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Cancel Call Waiting",
+        "CamelCase": "CancelCallWaiting",
+        "Final": "VoipFeatureAccessCodes_CancelCallWaiting",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Call Hold",
+        "CamelCase": "CallHold",
+        "Final": "VoipFeatureAccessCodes_CallHold",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Call Park",
+        "CamelCase": "CallPark",
+        "Final": "VoipFeatureAccessCodes_CallPark",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Caller Id Activate",
+        "CamelCase": "CallerIdActivate",
+        "Final": "VoipFeatureAccessCodes_CallerIdActivate",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Caller Id Deactivate",
+        "CamelCase": "CallerIdDeactivate",
+        "Final": "VoipFeatureAccessCodes_CallerIdDeactivate",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Do Not Disturb Activation",
+        "CamelCase": "DoNotDisturbActivation",
+        "Final": "VoipFeatureAccessCodes_DoNotDisturbActivation",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Do Not Disturb Deactivation",
+        "CamelCase": "DoNotDisturbDeactivation",
+        "Final": "VoipFeatureAccessCodes_DoNotDisturbDeactivation",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Do Not Disturb Pin Change",
+        "CamelCase": "DoNotDisturbPinChange",
+        "Final": "VoipFeatureAccessCodes_DoNotDisturbPinChange",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Emergency Service Number",
+        "CamelCase": "EmergencyServiceNumber",
+        "Final": "VoipFeatureAccessCodes_EmergencyServiceNumber",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Intercom Service",
+        "CamelCase": "IntercomService",
+        "Final": "VoipFeatureAccessCodes_IntercomService",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Unattended_Blind Call Transfer",
+        "CamelCase": "UnattendedBlindCallTransfer",
+        "Final": "VoipFeatureAccessCodes_UnattendedBlindCallTransfer",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Attended Call Transfer",
+        "CamelCase": "AttendedCallTransfer",
+        "Final": "VoipFeatureAccessCodes_AttendedCallTransfer",
+        "Index": 12
+      }
+    }
+  },
+  "148": {
+    "Name": "Authentication security method",
+    "Filename": "authenticationsecuritymethod.go",
+    "CamelCase": "AuthenticationSecurityMethod",
+    "ClassID": 148,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Validation Scheme",
+        "CamelCase": "ValidationScheme",
+        "Final": "AuthenticationSecurityMethod_ValidationScheme",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Username 1",
+        "CamelCase": "Username1",
+        "Final": "AuthenticationSecurityMethod_Username1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Password",
+        "CamelCase": "Password",
+        "Final": "AuthenticationSecurityMethod_Password",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Realm",
+        "CamelCase": "Realm",
+        "Final": "AuthenticationSecurityMethod_Realm",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Username 2",
+        "CamelCase": "Username2",
+        "Final": "AuthenticationSecurityMethod_Username2",
+        "Index": 5
+      }
+    }
+  },
+  "149": {
+    "Name": "SIP config portal",
+    "Filename": "sipconfigportal.go",
+    "CamelCase": "SipConfigPortal",
+    "ClassID": 149,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Configuration Text Table",
+        "CamelCase": "ConfigurationTextTable",
+        "Final": "SipConfigPortal_ConfigurationTextTable",
+        "Index": 1
+      }
+    }
+  },
+  "150": {
+    "Name": "SIP agent config data",
+    "Filename": "sipagentconfigdata.go",
+    "CamelCase": "SipAgentConfigData",
+    "ClassID": 150,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Proxy Server Address Pointer",
+        "CamelCase": "ProxyServerAddressPointer",
+        "Final": "SipAgentConfigData_ProxyServerAddressPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Outbound Proxy Address Pointer",
+        "CamelCase": "OutboundProxyAddressPointer",
+        "Final": "SipAgentConfigData_OutboundProxyAddressPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Primary Sip Dns",
+        "CamelCase": "PrimarySipDns",
+        "Final": "SipAgentConfigData_PrimarySipDns",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Secondary Sip Dns",
+        "CamelCase": "SecondarySipDns",
+        "Final": "SipAgentConfigData_SecondarySipDns",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tcp_Udp Pointer",
+        "CamelCase": "TcpUdpPointer",
+        "Final": "SipAgentConfigData_TcpUdpPointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sip Reg Exp Time",
+        "CamelCase": "SipRegExpTime",
+        "Final": "SipAgentConfigData_SipRegExpTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Sip Rereg Head Start Time",
+        "CamelCase": "SipReregHeadStartTime",
+        "Final": "SipAgentConfigData_SipReregHeadStartTime",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Host Part Uri",
+        "CamelCase": "HostPartUri",
+        "Final": "SipAgentConfigData_HostPartUri",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Sip Status",
+        "CamelCase": "SipStatus",
+        "Final": "SipAgentConfigData_SipStatus",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Sip Registrar",
+        "CamelCase": "SipRegistrar",
+        "Final": "SipAgentConfigData_SipRegistrar",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Softswitch",
+        "CamelCase": "Softswitch",
+        "Final": "SipAgentConfigData_Softswitch",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Sip Response Table",
+        "CamelCase": "SipResponseTable",
+        "Final": "SipAgentConfigData_SipResponseTable",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Sip Option Transmit Control",
+        "CamelCase": "SipOptionTransmitControl",
+        "Final": "SipAgentConfigData_SipOptionTransmitControl",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Sip Uri Format",
+        "CamelCase": "SipUriFormat",
+        "Final": "SipAgentConfigData_SipUriFormat",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Redundant Sip Agent Pointer",
+        "CamelCase": "RedundantSipAgentPointer",
+        "Final": "SipAgentConfigData_RedundantSipAgentPointer",
+        "Index": 15
+      }
+    }
+  },
+  "151": {
+    "Name": "SIP agent performance monitoring history data",
+    "Filename": "sipagentperformancemonitoringhistorydata.go",
+    "CamelCase": "SipAgentPerformanceMonitoringHistoryData",
+    "ClassID": 151,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Transactions",
+        "CamelCase": "Transactions",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_Transactions",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rx Invite Reqs",
+        "CamelCase": "RxInviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxInviteReqs",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Invite Retrans",
+        "CamelCase": "RxInviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxInviteRetrans",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Rx Noninvite Reqs",
+        "CamelCase": "RxNoninviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxNoninviteReqs",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Noninvite Retrans",
+        "CamelCase": "RxNoninviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxNoninviteRetrans",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Rx Response",
+        "CamelCase": "RxResponse",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxResponse",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Response Retransmissions",
+        "CamelCase": "RxResponseRetransmissions",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxResponseRetransmissions",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Invite Reqs",
+        "CamelCase": "TxInviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxInviteReqs",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tx Invite Retrans",
+        "CamelCase": "TxInviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxInviteRetrans",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Noninvite Reqs",
+        "CamelCase": "TxNoninviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxNoninviteReqs",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tx Noninvite Retrans",
+        "CamelCase": "TxNoninviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxNoninviteRetrans",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tx Response",
+        "CamelCase": "TxResponse",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxResponse",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tx Response Retransmissions",
+        "CamelCase": "TxResponseRetransmissions",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxResponseRetransmissions",
+        "Index": 15
+      }
+    }
+  },
+  "152": {
+    "Name": "SIP call initiation performance monitoring history data",
+    "Filename": "sipcallinitiationperformancemonitoringhistorydata.go",
+    "CamelCase": "SipCallInitiationPerformanceMonitoringHistoryData",
+    "ClassID": 152,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Failed To Connect Counter",
+        "CamelCase": "FailedToConnectCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailedToConnectCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Failed To Validate Counter",
+        "CamelCase": "FailedToValidateCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailedToValidateCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Timeout Counter",
+        "CamelCase": "TimeoutCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_TimeoutCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Failure Received Counter",
+        "CamelCase": "FailureReceivedCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailureReceivedCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Failed To Authenticate Counter",
+        "CamelCase": "FailedToAuthenticateCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailedToAuthenticateCounter",
+        "Index": 7
+      }
+    }
+  },
+  "153": {
+    "Name": "SIP user data",
+    "Filename": "sipuserdata.go",
+    "CamelCase": "SipUserData",
+    "ClassID": 153,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Sip Agent Pointer",
+        "CamelCase": "SipAgentPointer",
+        "Final": "SipUserData_SipAgentPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "User Part Aor",
+        "CamelCase": "UserPartAor",
+        "Final": "SipUserData_UserPartAor",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sip Display Name",
+        "CamelCase": "SipDisplayName",
+        "Final": "SipUserData_SipDisplayName",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Username And Password",
+        "CamelCase": "UsernameAndPassword",
+        "Final": "SipUserData_UsernameAndPassword",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Voicemail Server Sip Uri",
+        "CamelCase": "VoicemailServerSipUri",
+        "Final": "SipUserData_VoicemailServerSipUri",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Voicemail Subscription Expiration Time",
+        "CamelCase": "VoicemailSubscriptionExpirationTime",
+        "Final": "SipUserData_VoicemailSubscriptionExpirationTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Network Dial Plan Pointer",
+        "CamelCase": "NetworkDialPlanPointer",
+        "Final": "SipUserData_NetworkDialPlanPointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Application Services Profile Pointer",
+        "CamelCase": "ApplicationServicesProfilePointer",
+        "Final": "SipUserData_ApplicationServicesProfilePointer",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Feature Code Pointer",
+        "CamelCase": "FeatureCodePointer",
+        "Final": "SipUserData_FeatureCodePointer",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Pptp Pointer",
+        "CamelCase": "PptpPointer",
+        "Final": "SipUserData_PptpPointer",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Release Timer",
+        "CamelCase": "ReleaseTimer",
+        "Final": "SipUserData_ReleaseTimer",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Receiver Off Hook Roh Timer",
+        "CamelCase": "ReceiverOffHookRohTimer",
+        "Final": "SipUserData_ReceiverOffHookRohTimer",
+        "Index": 12
+      }
+    }
+  },
+  "154": {
+    "Name": "MGC config portal",
+    "Filename": "mgcconfigportal.go",
+    "CamelCase": "MgcConfigPortal",
+    "ClassID": 154,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Configuration Text Table",
+        "CamelCase": "ConfigurationTextTable",
+        "Final": "MgcConfigPortal_ConfigurationTextTable",
+        "Index": 1
+      }
+    }
+  },
+  "155": {
+    "Name": "MGC config data",
+    "Filename": "mgcconfigdata.go",
+    "CamelCase": "MgcConfigData",
+    "ClassID": 155,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Primary Mgc",
+        "CamelCase": "PrimaryMgc",
+        "Final": "MgcConfigData_PrimaryMgc",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Secondary Mgc",
+        "CamelCase": "SecondaryMgc",
+        "Final": "MgcConfigData_SecondaryMgc",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tcp_Udp Pointer",
+        "CamelCase": "TcpUdpPointer",
+        "Final": "MgcConfigData_TcpUdpPointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "MgcConfigData_Version",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Message Format",
+        "CamelCase": "MessageFormat",
+        "Final": "MgcConfigData_MessageFormat",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Maximum Retry Time",
+        "CamelCase": "MaximumRetryTime",
+        "Final": "MgcConfigData_MaximumRetryTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Maximum Retry Attempts",
+        "CamelCase": "MaximumRetryAttempts",
+        "Final": "MgcConfigData_MaximumRetryAttempts",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Service Change Delay",
+        "CamelCase": "ServiceChangeDelay",
+        "Final": "MgcConfigData_ServiceChangeDelay",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Termination Id Base",
+        "CamelCase": "TerminationIdBase",
+        "Final": "MgcConfigData_TerminationIdBase",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Softswitch",
+        "CamelCase": "Softswitch",
+        "Final": "MgcConfigData_Softswitch",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Message Id Pointer",
+        "CamelCase": "MessageIdPointer",
+        "Final": "MgcConfigData_MessageIdPointer",
+        "Index": 11
+      }
+    }
+  },
+  "156": {
+    "Name": "MGC performance monitoring history data",
+    "Filename": "mgcperformancemonitoringhistorydata.go",
+    "CamelCase": "MgcPerformanceMonitoringHistoryData",
+    "ClassID": 156,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MgcPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MgcPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Received Messages",
+        "CamelCase": "ReceivedMessages",
+        "Final": "MgcPerformanceMonitoringHistoryData_ReceivedMessages",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Received Octets",
+        "CamelCase": "ReceivedOctets",
+        "Final": "MgcPerformanceMonitoringHistoryData_ReceivedOctets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Sent Messages",
+        "CamelCase": "SentMessages",
+        "Final": "MgcPerformanceMonitoringHistoryData_SentMessages",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sent Octets",
+        "CamelCase": "SentOctets",
+        "Final": "MgcPerformanceMonitoringHistoryData_SentOctets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Protocol Errors",
+        "CamelCase": "ProtocolErrors",
+        "Final": "MgcPerformanceMonitoringHistoryData_ProtocolErrors",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Transport Losses",
+        "CamelCase": "TransportLosses",
+        "Final": "MgcPerformanceMonitoringHistoryData_TransportLosses",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Last Detected Event",
+        "CamelCase": "LastDetectedEvent",
+        "Final": "MgcPerformanceMonitoringHistoryData_LastDetectedEvent",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Last Detected Event Time",
+        "CamelCase": "LastDetectedEventTime",
+        "Final": "MgcPerformanceMonitoringHistoryData_LastDetectedEventTime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Last Detected Reset Time",
+        "CamelCase": "LastDetectedResetTime",
+        "Final": "MgcPerformanceMonitoringHistoryData_LastDetectedResetTime",
+        "Index": 11
+      }
+    }
+  },
+  "157": {
+    "Name": "Large string",
+    "Filename": "largestring.go",
+    "CamelCase": "LargeString",
+    "ClassID": 157,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Number Of Parts",
+        "CamelCase": "NumberOfParts",
+        "Final": "LargeString_NumberOfParts",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Part 1",
+        "CamelCase": "Part1",
+        "Final": "LargeString_Part1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Part 2",
+        "CamelCase": "Part2",
+        "Final": "LargeString_Part2",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Part 3",
+        "CamelCase": "Part3",
+        "Final": "LargeString_Part3",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Part 4",
+        "CamelCase": "Part4",
+        "Final": "LargeString_Part4",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Part 5",
+        "CamelCase": "Part5",
+        "Final": "LargeString_Part5",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Part 6",
+        "CamelCase": "Part6",
+        "Final": "LargeString_Part6",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Part 7",
+        "CamelCase": "Part7",
+        "Final": "LargeString_Part7",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Part 8",
+        "CamelCase": "Part8",
+        "Final": "LargeString_Part8",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Part 9",
+        "CamelCase": "Part9",
+        "Final": "LargeString_Part9",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Part 10",
+        "CamelCase": "Part10",
+        "Final": "LargeString_Part10",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Part 11",
+        "CamelCase": "Part11",
+        "Final": "LargeString_Part11",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Part 12",
+        "CamelCase": "Part12",
+        "Final": "LargeString_Part12",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Part 13",
+        "CamelCase": "Part13",
+        "Final": "LargeString_Part13",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Part 14",
+        "CamelCase": "Part14",
+        "Final": "LargeString_Part14",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Part 15",
+        "CamelCase": "Part15",
+        "Final": "LargeString_Part15",
+        "Index": 16
+      }
+    }
+  },
+  "158": {
+    "Name": "ONU remote debug",
+    "Filename": "onuremotedebug.go",
+    "CamelCase": "OnuRemoteDebug",
+    "ClassID": 158,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Command Format",
+        "CamelCase": "CommandFormat",
+        "Final": "OnuRemoteDebug_CommandFormat",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Command",
+        "CamelCase": "Command",
+        "Final": "OnuRemoteDebug_Command",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Reply Table",
+        "CamelCase": "ReplyTable",
+        "Final": "OnuRemoteDebug_ReplyTable",
+        "Index": 3
+      }
+    }
+  },
+  "160": {
+    "Name": "Equipment extension package",
+    "Filename": "equipmentextensionpackage.go",
+    "CamelCase": "EquipmentExtensionPackage",
+    "ClassID": 160,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Environmental Sense",
+        "CamelCase": "EnvironmentalSense",
+        "Final": "EquipmentExtensionPackage_EnvironmentalSense",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Contact Closure Output",
+        "CamelCase": "ContactClosureOutput",
+        "Final": "EquipmentExtensionPackage_ContactClosureOutput",
+        "Index": 2
+      }
+    }
+  },
+  "162": {
+    "Name": "Physical path termination point MoCA UNI",
+    "Filename": "physicalpathterminationpointmocauni.go",
+    "CamelCase": "PhysicalPathTerminationPointMocaUni",
+    "ClassID": 162,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Loopback Configuration",
+        "CamelCase": "LoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointMocaUni_LoopbackConfiguration",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointMocaUni_AdministrativeState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointMocaUni_OperationalState",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Max Frame Size",
+        "CamelCase": "MaxFrameSize",
+        "Final": "PhysicalPathTerminationPointMocaUni_MaxFrameSize",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointMocaUni_Arc",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointMocaUni_ArcInterval",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Pppoe Filter",
+        "CamelCase": "PppoeFilter",
+        "Final": "PhysicalPathTerminationPointMocaUni_PppoeFilter",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Network Status",
+        "CamelCase": "NetworkStatus",
+        "Final": "PhysicalPathTerminationPointMocaUni_NetworkStatus",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Password",
+        "CamelCase": "Password",
+        "Final": "PhysicalPathTerminationPointMocaUni_Password",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Privacy Enabled",
+        "CamelCase": "PrivacyEnabled",
+        "Final": "PhysicalPathTerminationPointMocaUni_PrivacyEnabled",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Minimum Bandwidth Alarm Threshold",
+        "CamelCase": "MinimumBandwidthAlarmThreshold",
+        "Final": "PhysicalPathTerminationPointMocaUni_MinimumBandwidthAlarmThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Frequency Mask",
+        "CamelCase": "FrequencyMask",
+        "Final": "PhysicalPathTerminationPointMocaUni_FrequencyMask",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Rf Channel",
+        "CamelCase": "RfChannel",
+        "Final": "PhysicalPathTerminationPointMocaUni_RfChannel",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Last Operational Frequency",
+        "CamelCase": "LastOperationalFrequency",
+        "Final": "PhysicalPathTerminationPointMocaUni_LastOperationalFrequency",
+        "Index": 14
+      }
+    }
+  },
+  "163": {
+    "Name": "MoCA Ethernet performance monitoring history data",
+    "Filename": "mocaethernetperformancemonitoringhistorydata.go",
+    "CamelCase": "MocaEthernetPerformanceMonitoringHistoryData",
+    "ClassID": 163,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Incoming Unicast Packets",
+        "CamelCase": "IncomingUnicastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingUnicastPackets",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Incoming Discarded Packets",
+        "CamelCase": "IncomingDiscardedPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingDiscardedPackets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Incoming Errored Packets",
+        "CamelCase": "IncomingErroredPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingErroredPackets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Incoming Unknown Packets",
+        "CamelCase": "IncomingUnknownPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingUnknownPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Incoming Multicast Packets",
+        "CamelCase": "IncomingMulticastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingMulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Incoming Broadcast Packets",
+        "CamelCase": "IncomingBroadcastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingBroadcastPackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Incoming Octets",
+        "CamelCase": "IncomingOctets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingOctets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Outgoing Unicast Packets",
+        "CamelCase": "OutgoingUnicastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnicastPackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Outgoing Discarded Packets",
+        "CamelCase": "OutgoingDiscardedPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingDiscardedPackets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Outgoing Errored Packets",
+        "CamelCase": "OutgoingErroredPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingErroredPackets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Outgoing Unknown Packets",
+        "CamelCase": "OutgoingUnknownPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnknownPackets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Outgoing Multicast Packets",
+        "CamelCase": "OutgoingMulticastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingMulticastPackets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Outgoing Broadcast Packets",
+        "CamelCase": "OutgoingBroadcastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingBroadcastPackets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Outgoing Octets",
+        "CamelCase": "OutgoingOctets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingOctets",
+        "Index": 16
+      }
+    }
+  },
+  "164": {
+    "Name": "MoCA interface performance monitoring history data",
+    "Filename": "mocainterfaceperformancemonitoringhistorydata.go",
+    "CamelCase": "MocaInterfacePerformanceMonitoringHistoryData",
+    "ClassID": 164,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Phy T X Broadcast Rate",
+        "CamelCase": "PhyTXBroadcastRate",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_PhyTXBroadcastRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Node Table",
+        "CamelCase": "NodeTable",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_NodeTable",
+        "Index": 4
+      }
+    }
+  },
+  "165": {
+    "Name": "VDSL2 line configuration extensions",
+    "Filename": "vdsl2lineconfigurationextensions.go",
+    "CamelCase": "Vdsl2LineConfigurationExtensions",
+    "ClassID": 165,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vdsl2 Profiles Enabling",
+        "CamelCase": "Vdsl2ProfilesEnabling",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2ProfilesEnabling",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vdsl2 Psd Mask Class Selection Classmask",
+        "CamelCase": "Vdsl2PsdMaskClassSelectionClassmask",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2PsdMaskClassSelectionClassmask",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Vdsl2 Limit Psd Masks",
+        "CamelCase": "Vdsl2LimitPsdMasks",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2LimitPsdMasks",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Vdsl2 Us0 Disabling",
+        "CamelCase": "Vdsl2Us0Disabling",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2Us0Disabling",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Vdsl2 Us0 Psd Masks",
+        "CamelCase": "Vdsl2Us0PsdMasks",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2Us0PsdMasks",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Vdsl2_Carmask Table",
+        "CamelCase": "Vdsl2CarmaskTable",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2CarmaskTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Carmask Valid",
+        "CamelCase": "CarmaskValid",
+        "Final": "Vdsl2LineConfigurationExtensions_CarmaskValid",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upboshaped",
+        "CamelCase": "Upboshaped",
+        "Final": "Vdsl2LineConfigurationExtensions_Upboshaped",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Cyclic Extension",
+        "CamelCase": "CyclicExtension",
+        "Final": "Vdsl2LineConfigurationExtensions_CyclicExtension",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Downstream Signal_To_Noise Ratio Snr Mode",
+        "CamelCase": "DownstreamSignalToNoiseRatioSnrMode",
+        "Final": "Vdsl2LineConfigurationExtensions_DownstreamSignalToNoiseRatioSnrMode",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upstream Snr Mode",
+        "CamelCase": "UpstreamSnrMode",
+        "Final": "Vdsl2LineConfigurationExtensions_UpstreamSnrMode",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Transmitter Referred Virtual Noise Downstream Table",
+        "CamelCase": "TransmitterReferredVirtualNoiseDownstreamTable",
+        "Final": "Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseDownstreamTable",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Transmitter Referred Virtual Noise Upstream Table",
+        "CamelCase": "TransmitterReferredVirtualNoiseUpstreamTable",
+        "Final": "Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseUpstreamTable",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Dpboshaped",
+        "CamelCase": "Dpboshaped",
+        "Final": "Vdsl2LineConfigurationExtensions_Dpboshaped",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Upboklref_Pb",
+        "CamelCase": "UpboklrefPb",
+        "Final": "Vdsl2LineConfigurationExtensions_UpboklrefPb",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Upboshaped Aele_Mode Upboelmt",
+        "CamelCase": "UpboshapedAeleModeUpboelmt",
+        "Final": "Vdsl2LineConfigurationExtensions_UpboshapedAeleModeUpboelmt",
+        "Index": 16
+      }
+    }
+  },
+  "168": {
+    "Name": "VDSL2 line inventory and status data part 1",
+    "Filename": "vdsl2lineinventoryandstatusdatapart1.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart1",
+    "ClassID": 168,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vdsl2 Transmission System Capability Xtu C",
+        "CamelCase": "Vdsl2TransmissionSystemCapabilityXtuC",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystemCapabilityXtuC",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vdsl2 Transmission System",
+        "CamelCase": "Vdsl2TransmissionSystem",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystem",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Vdsl2 Profile",
+        "CamelCase": "Vdsl2Profile",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Profile",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Vdsl2 Limit Psd Mask And Bandplan",
+        "CamelCase": "Vdsl2LimitPsdMaskAndBandplan",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2LimitPsdMaskAndBandplan",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Vdsl2 Us0 Psd Mask",
+        "CamelCase": "Vdsl2Us0PsdMask",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Us0PsdMask",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actsnrmodeds",
+        "CamelCase": "Actsnrmodeds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Actsnrmodeds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Hlingds",
+        "CamelCase": "Hlingds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Hlingds",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Hloggds",
+        "CamelCase": "Hloggds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Hloggds",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Qlngds",
+        "CamelCase": "Qlngds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Qlngds",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Snrgds",
+        "CamelCase": "Snrgds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Snrgds",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Mrefpsdds Table",
+        "CamelCase": "MrefpsddsTable",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_MrefpsddsTable",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Trellisds",
+        "CamelCase": "Trellisds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Trellisds",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Actual Rate Adaptation Mode Downstream",
+        "CamelCase": "ActualRateAdaptationModeDownstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_ActualRateAdaptationModeDownstream",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Actual Impulse Noise Protection Robust Operations Channel Roc Downstream",
+        "CamelCase": "ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Snr Margin Roc Downstream",
+        "CamelCase": "SnrMarginRocDownstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_SnrMarginRocDownstream",
+        "Index": 15
+      }
+    }
+  },
+  "169": {
+    "Name": "VDSL2 line inventory and status data part 2",
+    "Filename": "vdsl2lineinventoryandstatusdatapart2.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart2",
+    "ClassID": 169,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vdsl2 Transmission System Capability Xtu_R",
+        "CamelCase": "Vdsl2TransmissionSystemCapabilityXtuR",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Vdsl2TransmissionSystemCapabilityXtuR",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Actsnrmodeus",
+        "CamelCase": "Actsnrmodeus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Actsnrmodeus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upbokle",
+        "CamelCase": "Upbokle",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Upbokle",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Hlingus",
+        "CamelCase": "Hlingus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Hlingus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Hloggus",
+        "CamelCase": "Hloggus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Hloggus",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Qlngus",
+        "CamelCase": "Qlngus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Qlngus",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Snrgus",
+        "CamelCase": "Snrgus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Snrgus",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Mrefpsdus Table",
+        "CamelCase": "MrefpsdusTable",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_MrefpsdusTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Trellisus",
+        "CamelCase": "Trellisus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Trellisus",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Actualce",
+        "CamelCase": "Actualce",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Actualce",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upbokle_R",
+        "CamelCase": "UpbokleR",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_UpbokleR",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Actual Rate Adaptation Mode Upstream",
+        "CamelCase": "ActualRateAdaptationModeUpstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_ActualRateAdaptationModeUpstream",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Actual Impulse Noise Protection Roc Upstream",
+        "CamelCase": "ActualImpulseNoiseProtectionRocUpstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_ActualImpulseNoiseProtectionRocUpstream",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Snr Margin Roc Upstream",
+        "CamelCase": "SnrMarginRocUpstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_SnrMarginRocUpstream",
+        "Index": 14
+      }
+    }
+  },
+  "170": {
+    "Name": "VDSL2 line inventory and status data part 3",
+    "Filename": "vdsl2lineinventoryandstatusdatapart3.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart3",
+    "ClassID": 170,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Upstream Bands Count",
+        "CamelCase": "UpstreamBandsCount",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamBandsCount",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Downstream Bands Count",
+        "CamelCase": "DownstreamBandsCount",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamBandsCount",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Line Attenuation Per Band",
+        "CamelCase": "DownstreamLineAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationPerBand",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Line Attenuation Per Band",
+        "CamelCase": "UpstreamLineAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationPerBand",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Signal Attenuation Per Band",
+        "CamelCase": "DownstreamSignalAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationPerBand",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Signal Attenuation Per Band",
+        "CamelCase": "UpstreamSignalAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationPerBand",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Downstream Snr Margin Per Band",
+        "CamelCase": "DownstreamSnrMarginPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginPerBand",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upstream Snr Margin Per Band",
+        "CamelCase": "UpstreamSnrMarginPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginPerBand",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Downstream Line Attenuation Extension",
+        "CamelCase": "DownstreamLineAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationExtension",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upstream Line Attenuation Extension",
+        "CamelCase": "UpstreamLineAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationExtension",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Downstream Signal Attenuation Extension",
+        "CamelCase": "DownstreamSignalAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationExtension",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upstream Signal Attenuation Extension",
+        "CamelCase": "UpstreamSignalAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationExtension",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Downstream Snr Margin Extension",
+        "CamelCase": "DownstreamSnrMarginExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginExtension",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Snr Margin Extension",
+        "CamelCase": "UpstreamSnrMarginExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginExtension",
+        "Index": 14
+      }
+    }
+  },
+  "171": {
+    "Name": "Extended VLAN tagging operation configuration data",
+    "Filename": "extendedvlantaggingoperationconfigurationdata.go",
+    "CamelCase": "ExtendedVlanTaggingOperationConfigurationData",
+    "ClassID": 171,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Association Type",
+        "CamelCase": "AssociationType",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_AssociationType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Received Frame Vlan Tagging Operation Table Max Size",
+        "CamelCase": "ReceivedFrameVlanTaggingOperationTableMaxSize",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTableMaxSize",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Input Tpid",
+        "CamelCase": "InputTpid",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_InputTpid",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Output Tpid",
+        "CamelCase": "OutputTpid",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_OutputTpid",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Mode",
+        "CamelCase": "DownstreamMode",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_DownstreamMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Frame Vlan Tagging Operation Table",
+        "CamelCase": "ReceivedFrameVlanTaggingOperationTable",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Associated Me Pointer",
+        "CamelCase": "AssociatedMePointer",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Dscp To P Bit Mapping",
+        "CamelCase": "DscpToPBitMapping",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_DscpToPBitMapping",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Enhanced Mode",
+        "CamelCase": "EnhancedMode",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_EnhancedMode",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Enhanced Received Frame Classification And Processing Table",
+        "CamelCase": "EnhancedReceivedFrameClassificationAndProcessingTable",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_EnhancedReceivedFrameClassificationAndProcessingTable",
+        "Index": 10
+      }
+    }
+  },
+  "256": {
+    "Name": "ONU-G",
+    "Filename": "onu-g.go",
+    "CamelCase": "OnuG",
+    "ClassID": 256,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vendor Id",
+        "CamelCase": "VendorId",
+        "Final": "OnuG_VendorId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "OnuG_Version",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Serial Number",
+        "CamelCase": "SerialNumber",
+        "Final": "OnuG_SerialNumber",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Traffic Management Option",
+        "CamelCase": "TrafficManagementOption",
+        "Final": "OnuG_TrafficManagementOption",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "OnuG_Deprecated",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Battery Backup",
+        "CamelCase": "BatteryBackup",
+        "Final": "OnuG_BatteryBackup",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "OnuG_AdministrativeState",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "OnuG_OperationalState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Onu Survival Time",
+        "CamelCase": "OnuSurvivalTime",
+        "Final": "OnuG_OnuSurvivalTime",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Logical Onu Id",
+        "CamelCase": "LogicalOnuId",
+        "Final": "OnuG_LogicalOnuId",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Logical Password",
+        "CamelCase": "LogicalPassword",
+        "Final": "OnuG_LogicalPassword",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Credentials Status",
+        "CamelCase": "CredentialsStatus",
+        "Final": "OnuG_CredentialsStatus",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Extended Tc_Layer Options",
+        "CamelCase": "ExtendedTcLayerOptions",
+        "Final": "OnuG_ExtendedTcLayerOptions",
+        "Index": 13
+      }
+    }
+  },
+  "257": {
+    "Name": "ONU2-G",
+    "Filename": "onu2-g.go",
+    "CamelCase": "Onu2G",
+    "ClassID": 257,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Equipment Id",
+        "CamelCase": "EquipmentId",
+        "Final": "Onu2G_EquipmentId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Optical Network Unit Management And Control Channel Omcc Version",
+        "CamelCase": "OpticalNetworkUnitManagementAndControlChannelOmccVersion",
+        "Final": "Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Vendor Product Code",
+        "CamelCase": "VendorProductCode",
+        "Final": "Onu2G_VendorProductCode",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Security Capability",
+        "CamelCase": "SecurityCapability",
+        "Final": "Onu2G_SecurityCapability",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Security Mode",
+        "CamelCase": "SecurityMode",
+        "Final": "Onu2G_SecurityMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Priority Queue Number",
+        "CamelCase": "TotalPriorityQueueNumber",
+        "Final": "Onu2G_TotalPriorityQueueNumber",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Total Traffic Scheduler Number",
+        "CamelCase": "TotalTrafficSchedulerNumber",
+        "Final": "Onu2G_TotalTrafficSchedulerNumber",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "Onu2G_Deprecated",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Total Gem Port_Id Number",
+        "CamelCase": "TotalGemPortIdNumber",
+        "Final": "Onu2G_TotalGemPortIdNumber",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Sysuptime",
+        "CamelCase": "Sysuptime",
+        "Final": "Onu2G_Sysuptime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Connectivity Capability",
+        "CamelCase": "ConnectivityCapability",
+        "Final": "Onu2G_ConnectivityCapability",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Current Connectivity Mode",
+        "CamelCase": "CurrentConnectivityMode",
+        "Final": "Onu2G_CurrentConnectivityMode",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Quality Of Service Qos Configuration Flexibility",
+        "CamelCase": "QualityOfServiceQosConfigurationFlexibility",
+        "Final": "Onu2G_QualityOfServiceQosConfigurationFlexibility",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Priority Queue Scale Factor",
+        "CamelCase": "PriorityQueueScaleFactor",
+        "Final": "Onu2G_PriorityQueueScaleFactor",
+        "Index": 14
+      }
+    }
+  },
+  "262": {
+    "Name": "T-CONT",
+    "Filename": "t-cont.go",
+    "CamelCase": "TCont",
+    "ClassID": 262,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Alloc_Id",
+        "CamelCase": "AllocId",
+        "Final": "TCont_AllocId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "TCont_Deprecated",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Policy",
+        "CamelCase": "Policy",
+        "Final": "TCont_Policy",
+        "Index": 3
+      }
+    }
+  },
+  "263": {
+    "Name": "ANI-G",
+    "Filename": "ani-g.go",
+    "CamelCase": "AniG",
+    "ClassID": 263,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Sr Indication",
+        "CamelCase": "SrIndication",
+        "Final": "AniG_SrIndication",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Total TCont Number",
+        "CamelCase": "TotalTcontNumber",
+        "Final": "AniG_TotalTcontNumber",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Gem Block Length",
+        "CamelCase": "GemBlockLength",
+        "Final": "AniG_GemBlockLength",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Piggyback Dba Reporting",
+        "CamelCase": "PiggybackDbaReporting",
+        "Final": "AniG_PiggybackDbaReporting",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "AniG_Deprecated",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Signal Fail Threshold",
+        "CamelCase": "SignalFailThreshold",
+        "Final": "AniG_SignalFailThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Signal Degrade Threshold",
+        "CamelCase": "SignalDegradeThreshold",
+        "Final": "AniG_SignalDegradeThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "AniG_Arc",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "AniG_ArcInterval",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Optical Signal Level",
+        "CamelCase": "OpticalSignalLevel",
+        "Final": "AniG_OpticalSignalLevel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Lower Optical Threshold",
+        "CamelCase": "LowerOpticalThreshold",
+        "Final": "AniG_LowerOpticalThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upper Optical Threshold",
+        "CamelCase": "UpperOpticalThreshold",
+        "Final": "AniG_UpperOpticalThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Onu Response Time",
+        "CamelCase": "OnuResponseTime",
+        "Final": "AniG_OnuResponseTime",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Transmit Optical Level",
+        "CamelCase": "TransmitOpticalLevel",
+        "Final": "AniG_TransmitOpticalLevel",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Lower Transmit Power Threshold",
+        "CamelCase": "LowerTransmitPowerThreshold",
+        "Final": "AniG_LowerTransmitPowerThreshold",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Upper Transmit Power Threshold",
+        "CamelCase": "UpperTransmitPowerThreshold",
+        "Final": "AniG_UpperTransmitPowerThreshold",
+        "Index": 16
+      }
+    }
+  },
+  "264": {
+    "Name": "UNI-G",
+    "Filename": "uni-g.go",
+    "CamelCase": "UniG",
+    "ClassID": 264,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "UniG_Deprecated",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "UniG_AdministrativeState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Management Capability",
+        "CamelCase": "ManagementCapability",
+        "Final": "UniG_ManagementCapability",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Non_Omci Management Identifier",
+        "CamelCase": "NonOmciManagementIdentifier",
+        "Final": "UniG_NonOmciManagementIdentifier",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Relay Agent Options",
+        "CamelCase": "RelayAgentOptions",
+        "Final": "UniG_RelayAgentOptions",
+        "Index": 5
+      }
+    }
+  },
+  "266": {
+    "Name": "GEM interworking termination point",
+    "Filename": "geminterworkingterminationpoint.go",
+    "CamelCase": "GemInterworkingTerminationPoint",
+    "ClassID": 266,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Gem Port Network Ctp Connectivity Pointer",
+        "CamelCase": "GemPortNetworkCtpConnectivityPointer",
+        "Final": "GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Interworking Option",
+        "CamelCase": "InterworkingOption",
+        "Final": "GemInterworkingTerminationPoint_InterworkingOption",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Service Profile Pointer",
+        "CamelCase": "ServiceProfilePointer",
+        "Final": "GemInterworkingTerminationPoint_ServiceProfilePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Interworking Termination Point Pointer",
+        "CamelCase": "InterworkingTerminationPointPointer",
+        "Final": "GemInterworkingTerminationPoint_InterworkingTerminationPointPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Pptp Counter",
+        "CamelCase": "PptpCounter",
+        "Final": "GemInterworkingTerminationPoint_PptpCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "GemInterworkingTerminationPoint_OperationalState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Gal Profile Pointer",
+        "CamelCase": "GalProfilePointer",
+        "Final": "GemInterworkingTerminationPoint_GalProfilePointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Gal Loopback Configuration",
+        "CamelCase": "GalLoopbackConfiguration",
+        "Final": "GemInterworkingTerminationPoint_GalLoopbackConfiguration",
+        "Index": 8
+      }
+    }
+  },
+  "268": {
+    "Name": "GEM port network CTP",
+    "Filename": "gemportnetworkctp.go",
+    "CamelCase": "GemPortNetworkCtp",
+    "ClassID": 268,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Port_Id",
+        "CamelCase": "PortId",
+        "Final": "GemPortNetworkCtp_PortId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "T_Cont Pointer",
+        "CamelCase": "TContPointer",
+        "Final": "GemPortNetworkCtp_TContPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Direction",
+        "CamelCase": "Direction",
+        "Final": "GemPortNetworkCtp_Direction",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Traffic Management Pointer For Upstream",
+        "CamelCase": "TrafficManagementPointerForUpstream",
+        "Final": "GemPortNetworkCtp_TrafficManagementPointerForUpstream",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Traffic Descriptor Profile Pointer For Upstream",
+        "CamelCase": "TrafficDescriptorProfilePointerForUpstream",
+        "Final": "GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Uni Counter",
+        "CamelCase": "UniCounter",
+        "Final": "GemPortNetworkCtp_UniCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Priority Queue Pointer For Down Stream",
+        "CamelCase": "PriorityQueuePointerForDownStream",
+        "Final": "GemPortNetworkCtp_PriorityQueuePointerForDownStream",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Encryption State",
+        "CamelCase": "EncryptionState",
+        "Final": "GemPortNetworkCtp_EncryptionState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Traffic Descriptor Profile Pointer For Downstream",
+        "CamelCase": "TrafficDescriptorProfilePointerForDownstream",
+        "Final": "GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Encryption Key Ring",
+        "CamelCase": "EncryptionKeyRing",
+        "Final": "GemPortNetworkCtp_EncryptionKeyRing",
+        "Index": 10
+      }
+    }
+  },
+  "269": {
+    "Name": "VP network CTP",
+    "Filename": "vpnetworkctp.go",
+    "CamelCase": "VpNetworkCtp",
+    "ClassID": 269,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vpi Value",
+        "CamelCase": "VpiValue",
+        "Final": "VpNetworkCtp_VpiValue",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Uni Pointer",
+        "CamelCase": "UniPointer",
+        "Final": "VpNetworkCtp_UniPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Direction",
+        "CamelCase": "Direction",
+        "Final": "VpNetworkCtp_Direction",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Deprecated 1",
+        "CamelCase": "Deprecated1",
+        "Final": "VpNetworkCtp_Deprecated1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Deprecated 2",
+        "CamelCase": "Deprecated2",
+        "Final": "VpNetworkCtp_Deprecated2",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Deprecated 3",
+        "CamelCase": "Deprecated3",
+        "Final": "VpNetworkCtp_Deprecated3",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Deprecated 4",
+        "CamelCase": "Deprecated4",
+        "Final": "VpNetworkCtp_Deprecated4",
+        "Index": 7
+      }
+    }
+  },
+  "272": {
+    "Name": "GAL Ethernet profile",
+    "Filename": "galethernetprofile.go",
+    "CamelCase": "GalEthernetProfile",
+    "ClassID": 272,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Maximum Gem Payload Size",
+        "CamelCase": "MaximumGemPayloadSize",
+        "Final": "GalEthernetProfile_MaximumGemPayloadSize",
+        "Index": 1
+      }
+    }
+  },
+  "273": {
+    "Name": "Threshold data 1",
+    "Filename": "thresholddata1.go",
+    "CamelCase": "ThresholdData1",
+    "ClassID": 273,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Threshold Value_1",
+        "CamelCase": "ThresholdValue1",
+        "Final": "ThresholdData1_ThresholdValue1",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Value_2",
+        "CamelCase": "ThresholdValue2",
+        "Final": "ThresholdData1_ThresholdValue2",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Threshold Value_3",
+        "CamelCase": "ThresholdValue3",
+        "Final": "ThresholdData1_ThresholdValue3",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Threshold Value_4",
+        "CamelCase": "ThresholdValue4",
+        "Final": "ThresholdData1_ThresholdValue4",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Threshold Value_5",
+        "CamelCase": "ThresholdValue5",
+        "Final": "ThresholdData1_ThresholdValue5",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Threshold Value_6",
+        "CamelCase": "ThresholdValue6",
+        "Final": "ThresholdData1_ThresholdValue6",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Threshold Value_7",
+        "CamelCase": "ThresholdValue7",
+        "Final": "ThresholdData1_ThresholdValue7",
+        "Index": 7
+      }
+    }
+  },
+  "274": {
+    "Name": "Threshold data 2",
+    "Filename": "thresholddata2.go",
+    "CamelCase": "ThresholdData2",
+    "ClassID": 274,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Threshold Value_8",
+        "CamelCase": "ThresholdValue8",
+        "Final": "ThresholdData2_ThresholdValue8",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Value_9",
+        "CamelCase": "ThresholdValue9",
+        "Final": "ThresholdData2_ThresholdValue9",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Threshold Value_10",
+        "CamelCase": "ThresholdValue10",
+        "Final": "ThresholdData2_ThresholdValue10",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Threshold Value_11",
+        "CamelCase": "ThresholdValue11",
+        "Final": "ThresholdData2_ThresholdValue11",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Threshold Value_12",
+        "CamelCase": "ThresholdValue12",
+        "Final": "ThresholdData2_ThresholdValue12",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Threshold Value_13",
+        "CamelCase": "ThresholdValue13",
+        "Final": "ThresholdData2_ThresholdValue13",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Threshold Value_14",
+        "CamelCase": "ThresholdValue14",
+        "Final": "ThresholdData2_ThresholdValue14",
+        "Index": 7
+      }
+    }
+  },
+  "276": {
+    "Name": "GAL Ethernet performance monitoring history data",
+    "Filename": "galethernetperformancemonitoringhistorydata.go",
+    "CamelCase": "GalEthernetPerformanceMonitoringHistoryData",
+    "ClassID": 276,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "GalEthernetPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "GalEthernetPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Discarded Frames",
+        "CamelCase": "DiscardedFrames",
+        "Final": "GalEthernetPerformanceMonitoringHistoryData_DiscardedFrames",
+        "Index": 3
+      }
+    }
+  },
+  "277": {
+    "Name": "Priority queue",
+    "Filename": "priorityqueue.go",
+    "CamelCase": "PriorityQueue",
+    "ClassID": 277,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Queue Configuration Option",
+        "CamelCase": "QueueConfigurationOption",
+        "Final": "PriorityQueue_QueueConfigurationOption",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Maximum Queue Size",
+        "CamelCase": "MaximumQueueSize",
+        "Final": "PriorityQueue_MaximumQueueSize",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Allocated Queue Size",
+        "CamelCase": "AllocatedQueueSize",
+        "Final": "PriorityQueue_AllocatedQueueSize",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Discard_Block Counter Reset Interval",
+        "CamelCase": "DiscardBlockCounterResetInterval",
+        "Final": "PriorityQueue_DiscardBlockCounterResetInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Threshold Value For Discarded Blocks Due To Buffer Overflow",
+        "CamelCase": "ThresholdValueForDiscardedBlocksDueToBufferOverflow",
+        "Final": "PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Related Port",
+        "CamelCase": "RelatedPort",
+        "Final": "PriorityQueue_RelatedPort",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Traffic Scheduler Pointer",
+        "CamelCase": "TrafficSchedulerPointer",
+        "Final": "PriorityQueue_TrafficSchedulerPointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Weight",
+        "CamelCase": "Weight",
+        "Final": "PriorityQueue_Weight",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Back Pressure Operation",
+        "CamelCase": "BackPressureOperation",
+        "Final": "PriorityQueue_BackPressureOperation",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Back Pressure Time",
+        "CamelCase": "BackPressureTime",
+        "Final": "PriorityQueue_BackPressureTime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Back Pressure Occur Queue Threshold",
+        "CamelCase": "BackPressureOccurQueueThreshold",
+        "Final": "PriorityQueue_BackPressureOccurQueueThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Back Pressure Clear Queue Threshold",
+        "CamelCase": "BackPressureClearQueueThreshold",
+        "Final": "PriorityQueue_BackPressureClearQueueThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packet Drop Queue Thresholds",
+        "CamelCase": "PacketDropQueueThresholds",
+        "Final": "PriorityQueue_PacketDropQueueThresholds",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packet Drop Max_P",
+        "CamelCase": "PacketDropMaxP",
+        "Final": "PriorityQueue_PacketDropMaxP",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Queue Drop W_Q",
+        "CamelCase": "QueueDropWQ",
+        "Final": "PriorityQueue_QueueDropWQ",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Drop Precedence Colour Marking",
+        "CamelCase": "DropPrecedenceColourMarking",
+        "Final": "PriorityQueue_DropPrecedenceColourMarking",
+        "Index": 16
+      }
+    }
+  },
+  "278": {
+    "Name": "Traffic scheduler",
+    "Filename": "trafficscheduler.go",
+    "CamelCase": "TrafficScheduler",
+    "ClassID": 278,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "T_Cont Pointer",
+        "CamelCase": "TContPointer",
+        "Final": "TrafficScheduler_TContPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Traffic Scheduler Pointer",
+        "CamelCase": "TrafficSchedulerPointer",
+        "Final": "TrafficScheduler_TrafficSchedulerPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Policy",
+        "CamelCase": "Policy",
+        "Final": "TrafficScheduler_Policy",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Priority_Weight",
+        "CamelCase": "PriorityWeight",
+        "Final": "TrafficScheduler_PriorityWeight",
+        "Index": 4
+      }
+    }
+  },
+  "280": {
+    "Name": "Traffic descriptor",
+    "Filename": "trafficdescriptor.go",
+    "CamelCase": "TrafficDescriptor",
+    "ClassID": 280,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Cir",
+        "CamelCase": "Cir",
+        "Final": "TrafficDescriptor_Cir",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Pir",
+        "CamelCase": "Pir",
+        "Final": "TrafficDescriptor_Pir",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Cbs",
+        "CamelCase": "Cbs",
+        "Final": "TrafficDescriptor_Cbs",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Pbs",
+        "CamelCase": "Pbs",
+        "Final": "TrafficDescriptor_Pbs",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Colour Mode",
+        "CamelCase": "ColourMode",
+        "Final": "TrafficDescriptor_ColourMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ingress Colour Marking",
+        "CamelCase": "IngressColourMarking",
+        "Final": "TrafficDescriptor_IngressColourMarking",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Egress Colour Marking",
+        "CamelCase": "EgressColourMarking",
+        "Final": "TrafficDescriptor_EgressColourMarking",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Meter Type",
+        "CamelCase": "MeterType",
+        "Final": "TrafficDescriptor_MeterType",
+        "Index": 8
+      }
+    }
+  },
+  "281": {
+    "Name": "Multicast GEM interworking termination point",
+    "Filename": "multicastgeminterworkingterminationpoint.go",
+    "CamelCase": "MulticastGemInterworkingTerminationPoint",
+    "ClassID": 281,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Gem Port Network Ctp Connectivity Pointer",
+        "CamelCase": "GemPortNetworkCtpConnectivityPointer",
+        "Final": "MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Interworking Option",
+        "CamelCase": "InterworkingOption",
+        "Final": "MulticastGemInterworkingTerminationPoint_InterworkingOption",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Service Profile Pointer",
+        "CamelCase": "ServiceProfilePointer",
+        "Final": "MulticastGemInterworkingTerminationPoint_ServiceProfilePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Not Used 1",
+        "CamelCase": "NotUsed1",
+        "Final": "MulticastGemInterworkingTerminationPoint_NotUsed1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Pptp Counter",
+        "CamelCase": "PptpCounter",
+        "Final": "MulticastGemInterworkingTerminationPoint_PptpCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "MulticastGemInterworkingTerminationPoint_OperationalState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Gal Profile Pointer",
+        "CamelCase": "GalProfilePointer",
+        "Final": "MulticastGemInterworkingTerminationPoint_GalProfilePointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Not Used 2",
+        "CamelCase": "NotUsed2",
+        "Final": "MulticastGemInterworkingTerminationPoint_NotUsed2",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Ipv4 Multicast Address Table",
+        "CamelCase": "Ipv4MulticastAddressTable",
+        "Final": "MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Ipv6 Multicast Address Table",
+        "CamelCase": "Ipv6MulticastAddressTable",
+        "Final": "MulticastGemInterworkingTerminationPoint_Ipv6MulticastAddressTable",
+        "Index": 10
+      }
+    }
+  },
+  "282": {
+    "Name": "Pseudowire termination point",
+    "Filename": "pseudowireterminationpoint.go",
+    "CamelCase": "PseudowireTerminationPoint",
+    "ClassID": 282,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Underlying Transport",
+        "CamelCase": "UnderlyingTransport",
+        "Final": "PseudowireTerminationPoint_UnderlyingTransport",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Service Type",
+        "CamelCase": "ServiceType",
+        "Final": "PseudowireTerminationPoint_ServiceType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Signalling",
+        "CamelCase": "Signalling",
+        "Final": "PseudowireTerminationPoint_Signalling",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tdm Uni Pointer",
+        "CamelCase": "TdmUniPointer",
+        "Final": "PseudowireTerminationPoint_TdmUniPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "North_Side Pointer",
+        "CamelCase": "NorthSidePointer",
+        "Final": "PseudowireTerminationPoint_NorthSidePointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Far_End Ip Info",
+        "CamelCase": "FarEndIpInfo",
+        "Final": "PseudowireTerminationPoint_FarEndIpInfo",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Payload Size",
+        "CamelCase": "PayloadSize",
+        "Final": "PseudowireTerminationPoint_PayloadSize",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Payload Encapsulation Delay",
+        "CamelCase": "PayloadEncapsulationDelay",
+        "Final": "PseudowireTerminationPoint_PayloadEncapsulationDelay",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Timing Mode",
+        "CamelCase": "TimingMode",
+        "Final": "PseudowireTerminationPoint_TimingMode",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Transmit Circuit Id",
+        "CamelCase": "TransmitCircuitId",
+        "Final": "PseudowireTerminationPoint_TransmitCircuitId",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Expected Circuit Id",
+        "CamelCase": "ExpectedCircuitId",
+        "Final": "PseudowireTerminationPoint_ExpectedCircuitId",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Received Circuit Id",
+        "CamelCase": "ReceivedCircuitId",
+        "Final": "PseudowireTerminationPoint_ReceivedCircuitId",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Exception Policy",
+        "CamelCase": "ExceptionPolicy",
+        "Final": "PseudowireTerminationPoint_ExceptionPolicy",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PseudowireTerminationPoint_Arc",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PseudowireTerminationPoint_ArcInterval",
+        "Index": 15
+      }
+    }
+  },
+  "283": {
+    "Name": "RTP pseudowire parameters",
+    "Filename": "rtppseudowireparameters.go",
+    "CamelCase": "RtpPseudowireParameters",
+    "ClassID": 283,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Clock Reference",
+        "CamelCase": "ClockReference",
+        "Final": "RtpPseudowireParameters_ClockReference",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Rtp Timestamp Mode",
+        "CamelCase": "RtpTimestampMode",
+        "Final": "RtpPseudowireParameters_RtpTimestampMode",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ptype",
+        "CamelCase": "Ptype",
+        "Final": "RtpPseudowireParameters_Ptype",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ssrc",
+        "CamelCase": "Ssrc",
+        "Final": "RtpPseudowireParameters_Ssrc",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Expected Ptype",
+        "CamelCase": "ExpectedPtype",
+        "Final": "RtpPseudowireParameters_ExpectedPtype",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Expected Ssrc",
+        "CamelCase": "ExpectedSsrc",
+        "Final": "RtpPseudowireParameters_ExpectedSsrc",
+        "Index": 6
+      }
+    }
+  },
+  "284": {
+    "Name": "Pseudowire maintenance profile",
+    "Filename": "pseudowiremaintenanceprofile.go",
+    "CamelCase": "PseudowireMaintenanceProfile",
+    "ClassID": 284,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Jitter Buffer Maximum Depth",
+        "CamelCase": "JitterBufferMaximumDepth",
+        "Final": "PseudowireMaintenanceProfile_JitterBufferMaximumDepth",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Jitter Buffer Desired Depth",
+        "CamelCase": "JitterBufferDesiredDepth",
+        "Final": "PseudowireMaintenanceProfile_JitterBufferDesiredDepth",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fill Policy",
+        "CamelCase": "FillPolicy",
+        "Final": "PseudowireMaintenanceProfile_FillPolicy",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Misconnected Packets Declaration Policy",
+        "CamelCase": "MisconnectedPacketsDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_MisconnectedPacketsDeclarationPolicy",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Misconnected Packets Clear Policy",
+        "CamelCase": "MisconnectedPacketsClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_MisconnectedPacketsClearPolicy",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Loss Of Packets Declaration Policy",
+        "CamelCase": "LossOfPacketsDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_LossOfPacketsDeclarationPolicy",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Loss Of Packets Clear Policy",
+        "CamelCase": "LossOfPacketsClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_LossOfPacketsClearPolicy",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Buffer Overrun_Underrun Declaration Policy",
+        "CamelCase": "BufferOverrunUnderrunDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_BufferOverrunUnderrunDeclarationPolicy",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Buffer Overrun_Underrun Clear Policy",
+        "CamelCase": "BufferOverrunUnderrunClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_BufferOverrunUnderrunClearPolicy",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Malformed Packets Declaration Policy",
+        "CamelCase": "MalformedPacketsDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_MalformedPacketsDeclarationPolicy",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Malformed Packets Clear Policy",
+        "CamelCase": "MalformedPacketsClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_MalformedPacketsClearPolicy",
+        "Index": 11
+      },
+      "12": {
+        "Name": "R_Bit Transmit Set Policy",
+        "CamelCase": "RBitTransmitSetPolicy",
+        "Final": "PseudowireMaintenanceProfile_RBitTransmitSetPolicy",
+        "Index": 12
+      },
+      "13": {
+        "Name": "R_Bit Transmit Clear Policy",
+        "CamelCase": "RBitTransmitClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_RBitTransmitClearPolicy",
+        "Index": 13
+      },
+      "14": {
+        "Name": "R_Bit Receive Policy",
+        "CamelCase": "RBitReceivePolicy",
+        "Final": "PseudowireMaintenanceProfile_RBitReceivePolicy",
+        "Index": 14
+      },
+      "15": {
+        "Name": "L Bit Receive Policy",
+        "CamelCase": "LBitReceivePolicy",
+        "Final": "PseudowireMaintenanceProfile_LBitReceivePolicy",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Ses Threshold",
+        "CamelCase": "SesThreshold",
+        "Final": "PseudowireMaintenanceProfile_SesThreshold",
+        "Index": 16
+      }
+    }
+  },
+  "285": {
+    "Name": "Pseudowire performance monitoring history data",
+    "Filename": "pseudowireperformancemonitoringhistorydata.go",
+    "CamelCase": "PseudowirePerformanceMonitoringHistoryData",
+    "ClassID": 285,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Received Packets",
+        "CamelCase": "ReceivedPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_ReceivedPackets",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Transmitted Packets",
+        "CamelCase": "TransmittedPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_TransmittedPackets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Missing Packets",
+        "CamelCase": "MissingPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MissingPackets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Misordered Packets Usable",
+        "CamelCase": "MisorderedPacketsUsable",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsUsable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Misordered Packets Dropped",
+        "CamelCase": "MisorderedPacketsDropped",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsDropped",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Playout Buffer Underruns_Overruns",
+        "CamelCase": "PlayoutBufferUnderrunsOverruns",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_PlayoutBufferUnderrunsOverruns",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Malformed Packets",
+        "CamelCase": "MalformedPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MalformedPackets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Stray Packets",
+        "CamelCase": "StrayPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_StrayPackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Remote Packet Loss",
+        "CamelCase": "RemotePacketLoss",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_RemotePacketLoss",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tdm L_Bit Packets Transmitted",
+        "CamelCase": "TdmLBitPacketsTransmitted",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_TdmLBitPacketsTransmitted",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Es",
+        "CamelCase": "Es",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_Es",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Ses",
+        "CamelCase": "Ses",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_Ses",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Uas",
+        "CamelCase": "Uas",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_Uas",
+        "Index": 15
+      }
+    }
+  },
+  "286": {
+    "Name": "Ethernet flow termination point",
+    "Filename": "ethernetflowterminationpoint.go",
+    "CamelCase": "EthernetFlowTerminationPoint",
+    "ClassID": 286,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Destination Mac",
+        "CamelCase": "DestinationMac",
+        "Final": "EthernetFlowTerminationPoint_DestinationMac",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Source Mac",
+        "CamelCase": "SourceMac",
+        "Final": "EthernetFlowTerminationPoint_SourceMac",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tag Policy",
+        "CamelCase": "TagPolicy",
+        "Final": "EthernetFlowTerminationPoint_TagPolicy",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tci",
+        "CamelCase": "Tci",
+        "Final": "EthernetFlowTerminationPoint_Tci",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Loopback",
+        "CamelCase": "Loopback",
+        "Final": "EthernetFlowTerminationPoint_Loopback",
+        "Index": 5
+      }
+    }
+  },
+  "287": {
+    "Name": "OMCI",
+    "Filename": "omci.go",
+    "CamelCase": "Omci",
+    "ClassID": 287,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Me Type Table",
+        "CamelCase": "MeTypeTable",
+        "Final": "Omci_MeTypeTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Message Type Table",
+        "CamelCase": "MessageTypeTable",
+        "Final": "Omci_MessageTypeTable",
+        "Index": 2
+      }
+    }
+  },
+  "288": {
+    "Name": "Managed entity ME",
+    "Filename": "managedentityme.go",
+    "CamelCase": "ManagedEntityMe",
+    "ClassID": 288,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Name",
+        "CamelCase": "Name",
+        "Final": "ManagedEntityMe_Name",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Attributes Table",
+        "CamelCase": "AttributesTable",
+        "Final": "ManagedEntityMe_AttributesTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Access",
+        "CamelCase": "Access",
+        "Final": "ManagedEntityMe_Access",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Alarms Table",
+        "CamelCase": "AlarmsTable",
+        "Final": "ManagedEntityMe_AlarmsTable",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Avcs Table",
+        "CamelCase": "AvcsTable",
+        "Final": "ManagedEntityMe_AvcsTable",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actions",
+        "CamelCase": "Actions",
+        "Final": "ManagedEntityMe_Actions",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Instances Table",
+        "CamelCase": "InstancesTable",
+        "Final": "ManagedEntityMe_InstancesTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Support",
+        "CamelCase": "Support",
+        "Final": "ManagedEntityMe_Support",
+        "Index": 8
+      }
+    }
+  },
+  "289": {
+    "Name": "Attribute ME",
+    "Filename": "attributeme.go",
+    "CamelCase": "AttributeMe",
+    "ClassID": 289,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Name",
+        "CamelCase": "Name",
+        "Final": "AttributeMe_Name",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Size",
+        "CamelCase": "Size",
+        "Final": "AttributeMe_Size",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Access",
+        "CamelCase": "Access",
+        "Final": "AttributeMe_Access",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Format",
+        "CamelCase": "Format",
+        "Final": "AttributeMe_Format",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Lower Limit",
+        "CamelCase": "LowerLimit",
+        "Final": "AttributeMe_LowerLimit",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upper Limit",
+        "CamelCase": "UpperLimit",
+        "Final": "AttributeMe_UpperLimit",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Bit Field",
+        "CamelCase": "BitField",
+        "Final": "AttributeMe_BitField",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Code Points Table",
+        "CamelCase": "CodePointsTable",
+        "Final": "AttributeMe_CodePointsTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Support",
+        "CamelCase": "Support",
+        "Final": "AttributeMe_Support",
+        "Index": 9
+      }
+    }
+  },
+  "290": {
+    "Name": "Dot1X port extension package",
+    "Filename": "dot1xportextensionpackage.go",
+    "CamelCase": "Dot1XPortExtensionPackage",
+    "ClassID": 290,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Dot1X Enable",
+        "CamelCase": "Dot1XEnable",
+        "Final": "Dot1XPortExtensionPackage_Dot1XEnable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Action Register",
+        "CamelCase": "ActionRegister",
+        "Final": "Dot1XPortExtensionPackage_ActionRegister",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Authenticator Pae State",
+        "CamelCase": "AuthenticatorPaeState",
+        "Final": "Dot1XPortExtensionPackage_AuthenticatorPaeState",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Backend Authentication State",
+        "CamelCase": "BackendAuthenticationState",
+        "Final": "Dot1XPortExtensionPackage_BackendAuthenticationState",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Admin Controlled Directions",
+        "CamelCase": "AdminControlledDirections",
+        "Final": "Dot1XPortExtensionPackage_AdminControlledDirections",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational Controlled Directions",
+        "CamelCase": "OperationalControlledDirections",
+        "Final": "Dot1XPortExtensionPackage_OperationalControlledDirections",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Authenticator Controlled Port Status",
+        "CamelCase": "AuthenticatorControlledPortStatus",
+        "Final": "Dot1XPortExtensionPackage_AuthenticatorControlledPortStatus",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Quiet Period",
+        "CamelCase": "QuietPeriod",
+        "Final": "Dot1XPortExtensionPackage_QuietPeriod",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Server Timeout Period",
+        "CamelCase": "ServerTimeoutPeriod",
+        "Final": "Dot1XPortExtensionPackage_ServerTimeoutPeriod",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Re_Authentication Period",
+        "CamelCase": "ReAuthenticationPeriod",
+        "Final": "Dot1XPortExtensionPackage_ReAuthenticationPeriod",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Re_Authentication Enabled",
+        "CamelCase": "ReAuthenticationEnabled",
+        "Final": "Dot1XPortExtensionPackage_ReAuthenticationEnabled",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Key Transmission Enabled",
+        "CamelCase": "KeyTransmissionEnabled",
+        "Final": "Dot1XPortExtensionPackage_KeyTransmissionEnabled",
+        "Index": 12
+      }
+    }
+  },
+  "291": {
+    "Name": "Dot1X configuration profile",
+    "Filename": "dot1xconfigurationprofile.go",
+    "CamelCase": "Dot1XConfigurationProfile",
+    "ClassID": 291,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Circuit Id Prefix",
+        "CamelCase": "CircuitIdPrefix",
+        "Final": "Dot1XConfigurationProfile_CircuitIdPrefix",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Fallback Policy",
+        "CamelCase": "FallbackPolicy",
+        "Final": "Dot1XConfigurationProfile_FallbackPolicy",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Auth Server 1",
+        "CamelCase": "AuthServer1",
+        "Final": "Dot1XConfigurationProfile_AuthServer1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Shared Secret Auth1",
+        "CamelCase": "SharedSecretAuth1",
+        "Final": "Dot1XConfigurationProfile_SharedSecretAuth1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Auth Server 2",
+        "CamelCase": "AuthServer2",
+        "Final": "Dot1XConfigurationProfile_AuthServer2",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Shared Secret Auth2",
+        "CamelCase": "SharedSecretAuth2",
+        "Final": "Dot1XConfigurationProfile_SharedSecretAuth2",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Auth Server 3",
+        "CamelCase": "AuthServer3",
+        "Final": "Dot1XConfigurationProfile_AuthServer3",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Shared Secret Auth3",
+        "CamelCase": "SharedSecretAuth3",
+        "Final": "Dot1XConfigurationProfile_SharedSecretAuth3",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Olt Proxy Address",
+        "CamelCase": "OltProxyAddress",
+        "Final": "Dot1XConfigurationProfile_OltProxyAddress",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Calling Station Id Format",
+        "CamelCase": "CallingStationIdFormat",
+        "Final": "Dot1XConfigurationProfile_CallingStationIdFormat",
+        "Index": 10
+      }
+    }
+  },
+  "292": {
+    "Name": "Dot1X performance monitoring history data",
+    "Filename": "dot1xperformancemonitoringhistorydata.go",
+    "CamelCase": "Dot1XPerformanceMonitoringHistoryData",
+    "ClassID": 292,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Eapol Frames Received",
+        "CamelCase": "EapolFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolFramesReceived",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Eapol Frames Transmitted",
+        "CamelCase": "EapolFramesTransmitted",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolFramesTransmitted",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Eapol Start Frames Received",
+        "CamelCase": "EapolStartFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolStartFramesReceived",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Eapol Logoff Frames Received",
+        "CamelCase": "EapolLogoffFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolLogoffFramesReceived",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Invalid Eapol Frames Received",
+        "CamelCase": "InvalidEapolFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_InvalidEapolFramesReceived",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Eap Resp_Id Frames Received",
+        "CamelCase": "EapRespIdFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapRespIdFramesReceived",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Eap Response Frames Received",
+        "CamelCase": "EapResponseFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapResponseFramesReceived",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Eap Initial Request Frames Transmitted",
+        "CamelCase": "EapInitialRequestFramesTransmitted",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapInitialRequestFramesTransmitted",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Eap Request Frames Transmitted",
+        "CamelCase": "EapRequestFramesTransmitted",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapRequestFramesTransmitted",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Eap Length Error Frames Received",
+        "CamelCase": "EapLengthErrorFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapLengthErrorFramesReceived",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Eap Success Frames Generated Autonomously",
+        "CamelCase": "EapSuccessFramesGeneratedAutonomously",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapSuccessFramesGeneratedAutonomously",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Eap Failure Frames Generated Autonomously",
+        "CamelCase": "EapFailureFramesGeneratedAutonomously",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapFailureFramesGeneratedAutonomously",
+        "Index": 14
+      }
+    }
+  },
+  "293": {
+    "Name": "Radius performance monitoring history data",
+    "Filename": "radiusperformancemonitoringhistorydata.go",
+    "CamelCase": "RadiusPerformanceMonitoringHistoryData",
+    "ClassID": 293,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "RadiusPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "RadiusPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Access_Request Packets Transmitted",
+        "CamelCase": "AccessRequestPacketsTransmitted",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessRequestPacketsTransmitted",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Access_Request Retransmission Count",
+        "CamelCase": "AccessRequestRetransmissionCount",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessRequestRetransmissionCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Access_Challenge Packets Received",
+        "CamelCase": "AccessChallengePacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessChallengePacketsReceived",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Access_Accept Packets Received",
+        "CamelCase": "AccessAcceptPacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessAcceptPacketsReceived",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Access_Reject Packets Received",
+        "CamelCase": "AccessRejectPacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessRejectPacketsReceived",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Invalid Radius Packets Received",
+        "CamelCase": "InvalidRadiusPacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_InvalidRadiusPacketsReceived",
+        "Index": 8
+      }
+    }
+  },
+  "296": {
+    "Name": "Ethernet performance monitoring history data 3",
+    "Filename": "ethernetperformancemonitoringhistorydata3.go",
+    "CamelCase": "EthernetPerformanceMonitoringHistoryData3",
+    "ClassID": 296,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Packets",
+        "CamelCase": "Packets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Packets",
+        "CamelCase": "BroadcastPackets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_BroadcastPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Packets",
+        "CamelCase": "MulticastPackets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_MulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Undersize Packets",
+        "CamelCase": "UndersizePackets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_UndersizePackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Fragments",
+        "CamelCase": "Fragments",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Fragments",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Jabbers",
+        "CamelCase": "Jabbers",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Jabbers",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Packets 64 Octets",
+        "CamelCase": "Packets64Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Packets 65 To 127 Octets",
+        "CamelCase": "Packets65To127Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packets 128 To 255 Octets",
+        "CamelCase": "Packets128To255Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packets 256 To 511 Octets",
+        "CamelCase": "Packets256To511Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Packets 512 To 1023 Octets",
+        "CamelCase": "Packets512To1023Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Packets 1024 To 1518 Octets",
+        "CamelCase": "Packets1024To1518Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "298": {
+    "Name": "Dot1 rate limiter",
+    "Filename": "dot1ratelimiter.go",
+    "CamelCase": "Dot1RateLimiter",
+    "ClassID": 298,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Parent Me Pointer",
+        "CamelCase": "ParentMePointer",
+        "Final": "Dot1RateLimiter_ParentMePointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "Dot1RateLimiter_TpType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upstream Unicast Flood Rate Pointer",
+        "CamelCase": "UpstreamUnicastFloodRatePointer",
+        "Final": "Dot1RateLimiter_UpstreamUnicastFloodRatePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Broadcast Rate Pointer",
+        "CamelCase": "UpstreamBroadcastRatePointer",
+        "Final": "Dot1RateLimiter_UpstreamBroadcastRatePointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Upstream Multicast Payload Rate Pointer",
+        "CamelCase": "UpstreamMulticastPayloadRatePointer",
+        "Final": "Dot1RateLimiter_UpstreamMulticastPayloadRatePointer",
+        "Index": 5
+      }
+    }
+  },
+  "299": {
+    "Name": "Dot1ag maintenance domain",
+    "Filename": "dot1agmaintenancedomain.go",
+    "CamelCase": "Dot1AgMaintenanceDomain",
+    "ClassID": 299,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Md Level",
+        "CamelCase": "MdLevel",
+        "Final": "Dot1AgMaintenanceDomain_MdLevel",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Md Name Format",
+        "CamelCase": "MdNameFormat",
+        "Final": "Dot1AgMaintenanceDomain_MdNameFormat",
+        "Index": 2
+      },
+      "3": {
+        "Name": "MD Name 1",
+        "CamelCase": "MdName1",
+        "Final": "Dot1AgMaintenanceDomain_MdName1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "MD Name 2",
+        "CamelCase": "MdName2",
+        "Final": "Dot1AgMaintenanceDomain_MdName2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maintenance Domain Intermediate Point Half Function Mhf Creation",
+        "CamelCase": "MaintenanceDomainIntermediatePointHalfFunctionMhfCreation",
+        "Final": "Dot1AgMaintenanceDomain_MaintenanceDomainIntermediatePointHalfFunctionMhfCreation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sender Id Permission",
+        "CamelCase": "SenderIdPermission",
+        "Final": "Dot1AgMaintenanceDomain_SenderIdPermission",
+        "Index": 6
+      }
+    }
+  },
+  "300": {
+    "Name": "Dot1ag maintenance association",
+    "Filename": "dot1agmaintenanceassociation.go",
+    "CamelCase": "Dot1AgMaintenanceAssociation",
+    "ClassID": 300,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Md Pointer",
+        "CamelCase": "MdPointer",
+        "Final": "Dot1AgMaintenanceAssociation_MdPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Short Ma Name Format",
+        "CamelCase": "ShortMaNameFormat",
+        "Final": "Dot1AgMaintenanceAssociation_ShortMaNameFormat",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Short MA Name 1",
+        "CamelCase": "ShortMaName1",
+        "Final": "Dot1AgMaintenanceAssociation_ShortMaName1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Short MA Name 2",
+        "CamelCase": "ShortMaName2",
+        "Final": "Dot1AgMaintenanceAssociation_ShortMaName2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Continuity Check Message Ccm Interval",
+        "CamelCase": "ContinuityCheckMessageCcmInterval",
+        "Final": "Dot1AgMaintenanceAssociation_ContinuityCheckMessageCcmInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Associated Vlans",
+        "CamelCase": "AssociatedVlans",
+        "Final": "Dot1AgMaintenanceAssociation_AssociatedVlans",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Mhf Creation",
+        "CamelCase": "MhfCreation",
+        "Final": "Dot1AgMaintenanceAssociation_MhfCreation",
+        "Index": 7
+      }
+    }
+  },
+  "301": {
+    "Name": "Dot1ag default MD level",
+    "Filename": "dot1agdefaultmdlevel.go",
+    "CamelCase": "Dot1AgDefaultMdLevel",
+    "ClassID": 301,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Layer 2 Type",
+        "CamelCase": "Layer2Type",
+        "Final": "Dot1AgDefaultMdLevel_Layer2Type",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Catchall Level",
+        "CamelCase": "CatchallLevel",
+        "Final": "Dot1AgDefaultMdLevel_CatchallLevel",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Catchall Mhf Creation",
+        "CamelCase": "CatchallMhfCreation",
+        "Final": "Dot1AgDefaultMdLevel_CatchallMhfCreation",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Catchall Sender Id Permission",
+        "CamelCase": "CatchallSenderIdPermission",
+        "Final": "Dot1AgDefaultMdLevel_CatchallSenderIdPermission",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Default Md Level Table",
+        "CamelCase": "DefaultMdLevelTable",
+        "Final": "Dot1AgDefaultMdLevel_DefaultMdLevelTable",
+        "Index": 5
+      }
+    }
+  },
+  "302": {
+    "Name": "Dot1ag MEP",
+    "Filename": "dot1agmep.go",
+    "CamelCase": "Dot1AgMep",
+    "ClassID": 302,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Layer 2 Entity Pointer",
+        "CamelCase": "Layer2EntityPointer",
+        "Final": "Dot1AgMep_Layer2EntityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Layer 2 Type",
+        "CamelCase": "Layer2Type",
+        "Final": "Dot1AgMep_Layer2Type",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ma Pointer",
+        "CamelCase": "MaPointer",
+        "Final": "Dot1AgMep_MaPointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Mep Id",
+        "CamelCase": "MepId",
+        "Final": "Dot1AgMep_MepId",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mep Control",
+        "CamelCase": "MepControl",
+        "Final": "Dot1AgMep_MepControl",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Primary Vlan",
+        "CamelCase": "PrimaryVlan",
+        "Final": "Dot1AgMep_PrimaryVlan",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "Dot1AgMep_AdministrativeState",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Ccm And Ltm Priority",
+        "CamelCase": "CcmAndLtmPriority",
+        "Final": "Dot1AgMep_CcmAndLtmPriority",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Egress Identifier",
+        "CamelCase": "EgressIdentifier",
+        "Final": "Dot1AgMep_EgressIdentifier",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Peer Mep Ids",
+        "CamelCase": "PeerMepIds",
+        "Final": "Dot1AgMep_PeerMepIds",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Eth Ais Control",
+        "CamelCase": "EthAisControl",
+        "Final": "Dot1AgMep_EthAisControl",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Fault Alarm Threshold",
+        "CamelCase": "FaultAlarmThreshold",
+        "Final": "Dot1AgMep_FaultAlarmThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Alarm Declaration Soak Time",
+        "CamelCase": "AlarmDeclarationSoakTime",
+        "Final": "Dot1AgMep_AlarmDeclarationSoakTime",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Alarm Clear Soak Time",
+        "CamelCase": "AlarmClearSoakTime",
+        "Final": "Dot1AgMep_AlarmClearSoakTime",
+        "Index": 14
+      }
+    }
+  },
+  "305": {
+    "Name": "Dot1ag CFM stack",
+    "Filename": "dot1agcfmstack.go",
+    "CamelCase": "Dot1AgCfmStack",
+    "ClassID": 305,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Layer 2 Type",
+        "CamelCase": "Layer2Type",
+        "Final": "Dot1AgCfmStack_Layer2Type",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Mp Status Table",
+        "CamelCase": "MpStatusTable",
+        "Final": "Dot1AgCfmStack_MpStatusTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Configuration Error List Table",
+        "CamelCase": "ConfigurationErrorListTable",
+        "Final": "Dot1AgCfmStack_ConfigurationErrorListTable",
+        "Index": 3
+      }
+    }
+  },
+  "306": {
+    "Name": "Dot1ag chassis-management info",
+    "Filename": "dot1agchassis-managementinfo.go",
+    "CamelCase": "Dot1AgChassisManagementInfo",
+    "ClassID": 306,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Chassis Id Length",
+        "CamelCase": "ChassisIdLength",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdLength",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Chassis Id Subtype",
+        "CamelCase": "ChassisIdSubtype",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdSubtype",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Chassis ID Part 1",
+        "CamelCase": "ChassisIdPart1",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdPart1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Chassis ID Part 2",
+        "CamelCase": "ChassisIdPart2",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdPart2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Management Address Domain Length",
+        "CamelCase": "ManagementAddressDomainLength",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressDomainLength",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Management Address Domain 1",
+        "CamelCase": "ManagementAddressDomain1",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressDomain1",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Management Address Domain 2",
+        "CamelCase": "ManagementAddressDomain2",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressDomain2",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Management Address Length",
+        "CamelCase": "ManagementAddressLength",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressLength",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Management Address 1",
+        "CamelCase": "ManagementAddress1",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddress1",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Management Address 2",
+        "CamelCase": "ManagementAddress2",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddress2",
+        "Index": 10
+      }
+    }
+  },
+  "307": {
+    "Name": "Octet string",
+    "Filename": "octetstring.go",
+    "CamelCase": "OctetString",
+    "ClassID": 307,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Length",
+        "CamelCase": "Length",
+        "Final": "OctetString_Length",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Part 1",
+        "CamelCase": "Part1",
+        "Final": "OctetString_Part1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Part 2",
+        "CamelCase": "Part2",
+        "Final": "OctetString_Part2",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Part 3",
+        "CamelCase": "Part3",
+        "Final": "OctetString_Part3",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Part 4",
+        "CamelCase": "Part4",
+        "Final": "OctetString_Part4",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Part 5",
+        "CamelCase": "Part5",
+        "Final": "OctetString_Part5",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Part 6",
+        "CamelCase": "Part6",
+        "Final": "OctetString_Part6",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Part 7",
+        "CamelCase": "Part7",
+        "Final": "OctetString_Part7",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Part 8",
+        "CamelCase": "Part8",
+        "Final": "OctetString_Part8",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Part 9",
+        "CamelCase": "Part9",
+        "Final": "OctetString_Part9",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Part 10",
+        "CamelCase": "Part10",
+        "Final": "OctetString_Part10",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Part 11",
+        "CamelCase": "Part11",
+        "Final": "OctetString_Part11",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Part 12",
+        "CamelCase": "Part12",
+        "Final": "OctetString_Part12",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Part 13",
+        "CamelCase": "Part13",
+        "Final": "OctetString_Part13",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Part 14",
+        "CamelCase": "Part14",
+        "Final": "OctetString_Part14",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Part 15",
+        "CamelCase": "Part15",
+        "Final": "OctetString_Part15",
+        "Index": 16
+      }
+    }
+  },
+  "308": {
+    "Name": "General purpose buffer",
+    "Filename": "generalpurposebuffer.go",
+    "CamelCase": "GeneralPurposeBuffer",
+    "ClassID": 308,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Maximum Size",
+        "CamelCase": "MaximumSize",
+        "Final": "GeneralPurposeBuffer_MaximumSize",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Buffer Table",
+        "CamelCase": "BufferTable",
+        "Final": "GeneralPurposeBuffer_BufferTable",
+        "Index": 2
+      }
+    }
+  },
+  "309": {
+    "Name": "Multicast operations profile",
+    "Filename": "multicastoperationsprofile.go",
+    "CamelCase": "MulticastOperationsProfile",
+    "ClassID": 309,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Igmp Version",
+        "CamelCase": "IgmpVersion",
+        "Final": "MulticastOperationsProfile_IgmpVersion",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Igmp Function",
+        "CamelCase": "IgmpFunction",
+        "Final": "MulticastOperationsProfile_IgmpFunction",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Immediate Leave",
+        "CamelCase": "ImmediateLeave",
+        "Final": "MulticastOperationsProfile_ImmediateLeave",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Igmp Tci",
+        "CamelCase": "UpstreamIgmpTci",
+        "Final": "MulticastOperationsProfile_UpstreamIgmpTci",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Upstream Igmp Tag Control",
+        "CamelCase": "UpstreamIgmpTagControl",
+        "Final": "MulticastOperationsProfile_UpstreamIgmpTagControl",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Igmp Rate",
+        "CamelCase": "UpstreamIgmpRate",
+        "Final": "MulticastOperationsProfile_UpstreamIgmpRate",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Dynamic Access Control List Table",
+        "CamelCase": "DynamicAccessControlListTable",
+        "Final": "MulticastOperationsProfile_DynamicAccessControlListTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Static Access Control List Table",
+        "CamelCase": "StaticAccessControlListTable",
+        "Final": "MulticastOperationsProfile_StaticAccessControlListTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Lost Groups List Table",
+        "CamelCase": "LostGroupsListTable",
+        "Final": "MulticastOperationsProfile_LostGroupsListTable",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Robustness",
+        "CamelCase": "Robustness",
+        "Final": "MulticastOperationsProfile_Robustness",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Querier Ip Address",
+        "CamelCase": "QuerierIpAddress",
+        "Final": "MulticastOperationsProfile_QuerierIpAddress",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Query Interval",
+        "CamelCase": "QueryInterval",
+        "Final": "MulticastOperationsProfile_QueryInterval",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Query Max Response Time",
+        "CamelCase": "QueryMaxResponseTime",
+        "Final": "MulticastOperationsProfile_QueryMaxResponseTime",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Last Member Query Interval",
+        "CamelCase": "LastMemberQueryInterval",
+        "Final": "MulticastOperationsProfile_LastMemberQueryInterval",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Unauthorized Join Request Behaviour",
+        "CamelCase": "UnauthorizedJoinRequestBehaviour",
+        "Final": "MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Downstream IGMP and multicast TCI",
+        "CamelCase": "DownstreamIgmpAndMulticastTci",
+        "Final": "MulticastOperationsProfile_DownstreamIgmpAndMulticastTci",
+        "Index": 16
+      }
+    }
+  },
+  "310": {
+    "Name": "Multicast subscriber config info",
+    "Filename": "multicastsubscriberconfiginfo.go",
+    "CamelCase": "MulticastSubscriberConfigInfo",
+    "ClassID": 310,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Me Type",
+        "CamelCase": "MeType",
+        "Final": "MulticastSubscriberConfigInfo_MeType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Multicast Operations Profile Pointer",
+        "CamelCase": "MulticastOperationsProfilePointer",
+        "Final": "MulticastSubscriberConfigInfo_MulticastOperationsProfilePointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Max Simultaneous Groups",
+        "CamelCase": "MaxSimultaneousGroups",
+        "Final": "MulticastSubscriberConfigInfo_MaxSimultaneousGroups",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Max Multicast Bandwidth",
+        "CamelCase": "MaxMulticastBandwidth",
+        "Final": "MulticastSubscriberConfigInfo_MaxMulticastBandwidth",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Bandwidth Enforcement",
+        "CamelCase": "BandwidthEnforcement",
+        "Final": "MulticastSubscriberConfigInfo_BandwidthEnforcement",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Multicast Service Package Table",
+        "CamelCase": "MulticastServicePackageTable",
+        "Final": "MulticastSubscriberConfigInfo_MulticastServicePackageTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Allowed Preview Groups Table",
+        "CamelCase": "AllowedPreviewGroupsTable",
+        "Final": "MulticastSubscriberConfigInfo_AllowedPreviewGroupsTable",
+        "Index": 7
+      }
+    }
+  },
+  "311": {
+    "Name": "Multicast subscriber monitor",
+    "Filename": "multicastsubscribermonitor.go",
+    "CamelCase": "MulticastSubscriberMonitor",
+    "ClassID": 311,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Me Type",
+        "CamelCase": "MeType",
+        "Final": "MulticastSubscriberMonitor_MeType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Current Multicast Bandwidth",
+        "CamelCase": "CurrentMulticastBandwidth",
+        "Final": "MulticastSubscriberMonitor_CurrentMulticastBandwidth",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Join Messages Counter",
+        "CamelCase": "JoinMessagesCounter",
+        "Final": "MulticastSubscriberMonitor_JoinMessagesCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Bandwidth Exceeded Counter",
+        "CamelCase": "BandwidthExceededCounter",
+        "Final": "MulticastSubscriberMonitor_BandwidthExceededCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Ipv4 Active Group List Table",
+        "CamelCase": "Ipv4ActiveGroupListTable",
+        "Final": "MulticastSubscriberMonitor_Ipv4ActiveGroupListTable",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ipv6 Active Group List Table",
+        "CamelCase": "Ipv6ActiveGroupListTable",
+        "Final": "MulticastSubscriberMonitor_Ipv6ActiveGroupListTable",
+        "Index": 6
+      }
+    }
+  },
+  "312": {
+    "Name": "FEC performance monitoring history data",
+    "Filename": "fecperformancemonitoringhistorydata.go",
+    "CamelCase": "FecPerformanceMonitoringHistoryData",
+    "ClassID": 312,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "FecPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "FecPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Bytes",
+        "CamelCase": "CorrectedBytes",
+        "Final": "FecPerformanceMonitoringHistoryData_CorrectedBytes",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Corrected Code Words",
+        "CamelCase": "CorrectedCodeWords",
+        "Final": "FecPerformanceMonitoringHistoryData_CorrectedCodeWords",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Uncorrectable Code Words",
+        "CamelCase": "UncorrectableCodeWords",
+        "Final": "FecPerformanceMonitoringHistoryData_UncorrectableCodeWords",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Code Words",
+        "CamelCase": "TotalCodeWords",
+        "Final": "FecPerformanceMonitoringHistoryData_TotalCodeWords",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "FecPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 7
+      }
+    }
+  },
+  "313": {
+    "Name": "RE ANI-G",
+    "Filename": "reani-g.go",
+    "CamelCase": "ReAniG",
+    "ClassID": 313,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "ReAniG_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "ReAniG_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "ReAniG_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "ReAniG_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Optical Signal Level",
+        "CamelCase": "OpticalSignalLevel",
+        "Final": "ReAniG_OpticalSignalLevel",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Lower Optical Threshold",
+        "CamelCase": "LowerOpticalThreshold",
+        "Final": "ReAniG_LowerOpticalThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Upper Optical Threshold",
+        "CamelCase": "UpperOpticalThreshold",
+        "Final": "ReAniG_UpperOpticalThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Transmit Optical Level",
+        "CamelCase": "TransmitOpticalLevel",
+        "Final": "ReAniG_TransmitOpticalLevel",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Lower Transmit Power Threshold",
+        "CamelCase": "LowerTransmitPowerThreshold",
+        "Final": "ReAniG_LowerTransmitPowerThreshold",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upper Transmit Power Threshold",
+        "CamelCase": "UpperTransmitPowerThreshold",
+        "Final": "ReAniG_UpperTransmitPowerThreshold",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Usage Mode",
+        "CamelCase": "UsageMode",
+        "Final": "ReAniG_UsageMode",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Target Upstream Frequency",
+        "CamelCase": "TargetUpstreamFrequency",
+        "Final": "ReAniG_TargetUpstreamFrequency",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Target Downstream Frequency",
+        "CamelCase": "TargetDownstreamFrequency",
+        "Final": "ReAniG_TargetDownstreamFrequency",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Signal Transmission Mode",
+        "CamelCase": "UpstreamSignalTransmissionMode",
+        "Final": "ReAniG_UpstreamSignalTransmissionMode",
+        "Index": 14
+      }
+    }
+  },
+  "314": {
+    "Name": "Physical path termination point RE UNI",
+    "Filename": "physicalpathterminationpointreuni.go",
+    "CamelCase": "PhysicalPathTerminationPointReUni",
+    "ClassID": 314,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointReUni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointReUni_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointReUni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointReUni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Re Ani_G Pointer",
+        "CamelCase": "ReAniGPointer",
+        "Final": "PhysicalPathTerminationPointReUni_ReAniGPointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Optical Receive Signal Level Table",
+        "CamelCase": "TotalOpticalReceiveSignalLevelTable",
+        "Final": "PhysicalPathTerminationPointReUni_TotalOpticalReceiveSignalLevelTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Per Burst Receive Signal Level Table",
+        "CamelCase": "PerBurstReceiveSignalLevelTable",
+        "Final": "PhysicalPathTerminationPointReUni_PerBurstReceiveSignalLevelTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Lower Receive Optical Threshold",
+        "CamelCase": "LowerReceiveOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_LowerReceiveOpticalThreshold",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Upper Receive Optical Threshold",
+        "CamelCase": "UpperReceiveOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_UpperReceiveOpticalThreshold",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Transmit Optical Level",
+        "CamelCase": "TransmitOpticalLevel",
+        "Final": "PhysicalPathTerminationPointReUni_TransmitOpticalLevel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Lower Transmit Power Threshold",
+        "CamelCase": "LowerTransmitPowerThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_LowerTransmitPowerThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upper Transmit Power Threshold",
+        "CamelCase": "UpperTransmitPowerThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_UpperTransmitPowerThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Additional Preamble",
+        "CamelCase": "AdditionalPreamble",
+        "Final": "PhysicalPathTerminationPointReUni_AdditionalPreamble",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Additional Guard Time",
+        "CamelCase": "AdditionalGuardTime",
+        "Final": "PhysicalPathTerminationPointReUni_AdditionalGuardTime",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Connected Onus Table",
+        "CamelCase": "ConnectedOnusTable",
+        "Final": "PhysicalPathTerminationPointReUni_ConnectedOnusTable",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Clear Onu Table",
+        "CamelCase": "ClearOnuTable",
+        "Final": "PhysicalPathTerminationPointReUni_ClearOnuTable",
+        "Index": 16
+      }
+    }
+  },
+  "315": {
+    "Name": "RE upstream amplifier",
+    "Filename": "reupstreamamplifier.go",
+    "CamelCase": "ReUpstreamAmplifier",
+    "ClassID": 315,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "ReUpstreamAmplifier_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "ReUpstreamAmplifier_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Operational Mode",
+        "CamelCase": "OperationalMode",
+        "Final": "ReUpstreamAmplifier_OperationalMode",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "ReUpstreamAmplifier_Arc",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "ReUpstreamAmplifier_ArcInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Re Downstream Amplifier Pointer",
+        "CamelCase": "ReDownstreamAmplifierPointer",
+        "Final": "ReUpstreamAmplifier_ReDownstreamAmplifierPointer",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Total Optical Receive Signal Level Table",
+        "CamelCase": "TotalOpticalReceiveSignalLevelTable",
+        "Final": "ReUpstreamAmplifier_TotalOpticalReceiveSignalLevelTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Per Burst Receive Signal Level Table",
+        "CamelCase": "PerBurstReceiveSignalLevelTable",
+        "Final": "ReUpstreamAmplifier_PerBurstReceiveSignalLevelTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Lower Receive Optical Threshold",
+        "CamelCase": "LowerReceiveOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_LowerReceiveOpticalThreshold",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upper Receive Optical Threshold",
+        "CamelCase": "UpperReceiveOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_UpperReceiveOpticalThreshold",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Transmit Optical Signal Level",
+        "CamelCase": "TransmitOpticalSignalLevel",
+        "Final": "ReUpstreamAmplifier_TransmitOpticalSignalLevel",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Lower Transmit Optical Threshold",
+        "CamelCase": "LowerTransmitOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_LowerTransmitOpticalThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Upper Transmit Optical Threshold",
+        "CamelCase": "UpperTransmitOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_UpperTransmitOpticalThreshold",
+        "Index": 13
+      }
+    }
+  },
+  "316": {
+    "Name": "RE downstream amplifier",
+    "Filename": "redownstreamamplifier.go",
+    "CamelCase": "ReDownstreamAmplifier",
+    "ClassID": 316,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "ReDownstreamAmplifier_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "ReDownstreamAmplifier_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "ReDownstreamAmplifier_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "ReDownstreamAmplifier_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Operational Mode",
+        "CamelCase": "OperationalMode",
+        "Final": "ReDownstreamAmplifier_OperationalMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Input Optical Signal Level",
+        "CamelCase": "InputOpticalSignalLevel",
+        "Final": "ReDownstreamAmplifier_InputOpticalSignalLevel",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Lower Input Optical Threshold",
+        "CamelCase": "LowerInputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_LowerInputOpticalThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upper Input Optical Threshold",
+        "CamelCase": "UpperInputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_UpperInputOpticalThreshold",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Output Optical Signal Level",
+        "CamelCase": "OutputOpticalSignalLevel",
+        "Final": "ReDownstreamAmplifier_OutputOpticalSignalLevel",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Lower Output Optical Threshold",
+        "CamelCase": "LowerOutputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_LowerOutputOpticalThreshold",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upper Output Optical Threshold",
+        "CamelCase": "UpperOutputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_UpperOutputOpticalThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "R S Splitter Coupling Ratio",
+        "CamelCase": "RSSplitterCouplingRatio",
+        "Final": "ReDownstreamAmplifier_RSSplitterCouplingRatio",
+        "Index": 12
+      }
+    }
+  },
+  "321": {
+    "Name": "Ethernet frame performance monitoring history data downstream",
+    "Filename": "ethernetframeperformancemonitoringhistorydatadownstream.go",
+    "CamelCase": "EthernetFramePerformanceMonitoringHistoryDataDownstream",
+    "ClassID": 321,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Packets",
+        "CamelCase": "Packets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Packets",
+        "CamelCase": "BroadcastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Packets",
+        "CamelCase": "MulticastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Packets",
+        "CamelCase": "CrcErroredPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Packets",
+        "CamelCase": "UndersizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Packets",
+        "CamelCase": "OversizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Packets 64 Octets",
+        "CamelCase": "Packets64Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Packets 65 To 127 Octets",
+        "CamelCase": "Packets65To127Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packets 128 To 255 Octets",
+        "CamelCase": "Packets128To255Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packets 256 To 511 Octets",
+        "CamelCase": "Packets256To511Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Packets 512 To 1023 Octets",
+        "CamelCase": "Packets512To1023Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Packets 1024 To 1518 Octets",
+        "CamelCase": "Packets1024To1518Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "322": {
+    "Name": "Ethernet frame performance monitoring history data upstream",
+    "Filename": "ethernetframeperformancemonitoringhistorydataupstream.go",
+    "CamelCase": "EthernetFramePerformanceMonitoringHistoryDataUpstream",
+    "ClassID": 322,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Packets",
+        "CamelCase": "Packets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Packets",
+        "CamelCase": "BroadcastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Packets",
+        "CamelCase": "MulticastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Packets",
+        "CamelCase": "CrcErroredPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Packets",
+        "CamelCase": "UndersizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Packets",
+        "CamelCase": "OversizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Packets 64 Octets",
+        "CamelCase": "Packets64Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Packets 65 To 127 Octets",
+        "CamelCase": "Packets65To127Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packets 128 To 255 Octets",
+        "CamelCase": "Packets128To255Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packets 256 To 511 Octets",
+        "CamelCase": "Packets256To511Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Packets 512 To 1023 Octets",
+        "CamelCase": "Packets512To1023Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Packets 1024 To 1518 Octets",
+        "CamelCase": "Packets1024To1518Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "323": {
+    "Name": "VDSL2 line configuration extensions 2",
+    "Filename": "vdsl2lineconfigurationextensions2.go",
+    "CamelCase": "Vdsl2LineConfigurationExtensions2",
+    "ClassID": 323,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Sos Time Downstream",
+        "CamelCase": "SosTimeDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosTimeDownstream",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Sos Time Upstream",
+        "CamelCase": "SosTimeUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosTimeUpstream",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sos Degraded Tones Threshold Downstream",
+        "CamelCase": "SosDegradedTonesThresholdDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdDownstream",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Sos Degraded Tones Threshold Upstream",
+        "CamelCase": "SosDegradedTonesThresholdUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdUpstream",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Sos Crc Threshold Downstream",
+        "CamelCase": "SosCrcThresholdDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosCrcThresholdDownstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sos Crc Threshold Upstream",
+        "CamelCase": "SosCrcThresholdUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosCrcThresholdUpstream",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Max Sos Downstream",
+        "CamelCase": "MaxSosDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_MaxSosDownstream",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Max Sos Upstream",
+        "CamelCase": "MaxSosUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_MaxSosUpstream",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Snr Max Offset Downstream",
+        "CamelCase": "SnrMaxOffsetDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SnrMaxOffsetDownstream",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Snr Max Offset Upstream",
+        "CamelCase": "SnrMaxOffsetUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SnrMaxOffsetUpstream",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Roc Minimum Impulse Noise Protection Downstream",
+        "CamelCase": "RocMinimumImpulseNoiseProtectionDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionDownstream",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Roc Minimum Impulse Noise Protection Upstream",
+        "CamelCase": "RocMinimumImpulseNoiseProtectionUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionUpstream",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Fext Downstream Transmitter Referred Virtual Noise Table",
+        "CamelCase": "FextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Final": "Vdsl2LineConfigurationExtensions2_FextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Next Downstream Transmitter Referred Virtual Noise Table",
+        "CamelCase": "NextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Final": "Vdsl2LineConfigurationExtensions2_NextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Index": 14
+      }
+    }
+  },
+  "324": {
+    "Name": "xDSL impulse noise monitor performance monitoring history data",
+    "Filename": "xdslimpulsenoisemonitorperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData",
+    "ClassID": 324,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Inm Inpeq Histogram Table",
+        "CamelCase": "InmInpeqHistogramTable",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramTable",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Inm Total Measurement",
+        "CamelCase": "InmTotalMeasurement",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurement",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Inm Iat Histogram",
+        "CamelCase": "InmIatHistogram",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogram",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Inm Inpeq Histogram Lfe Table",
+        "CamelCase": "InmInpeqHistogramLfeTable",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramLfeTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Inm Total Measurement Lfe",
+        "CamelCase": "InmTotalMeasurementLfe",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurementLfe",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Inm Iat Histogram Lfe",
+        "CamelCase": "InmIatHistogramLfe",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogramLfe",
+        "Index": 8
+      }
+    }
+  },
+  "325": {
+    "Name": "xDSL line inventory and status data part 5",
+    "Filename": "xdsllineinventoryandstatusdatapart5.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart5",
+    "ClassID": 325,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fext Downstream Snr Margin",
+        "CamelCase": "FextDownstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamSnrMargin",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Next Downstream Snr Margin",
+        "CamelCase": "NextDownstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamSnrMargin",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fext Upstream Snr Margin",
+        "CamelCase": "FextUpstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamSnrMargin",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Next Upstream Snr Margin",
+        "CamelCase": "NextUpstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamSnrMargin",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Fext Downstream Maximum Attainable Data Rate",
+        "CamelCase": "FextDownstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamMaximumAttainableDataRate",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Next Downstream Maximum Attainable Data Rate",
+        "CamelCase": "NextDownstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamMaximumAttainableDataRate",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fext Upstream Maximum Attainable Data Rate",
+        "CamelCase": "FextUpstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamMaximumAttainableDataRate",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Next Upstream Maximum Attainable Data Rate",
+        "CamelCase": "NextUpstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamMaximumAttainableDataRate",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Fext Downstream Actual Power Spectral Density",
+        "CamelCase": "FextDownstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamActualPowerSpectralDensity",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Next Downstream Actual Power Spectral Density",
+        "CamelCase": "NextDownstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamActualPowerSpectralDensity",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Fext Upstream Actual Power Spectral Density",
+        "CamelCase": "FextUpstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamActualPowerSpectralDensity",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Next Upstream Actual Power Spectral Density",
+        "CamelCase": "NextUpstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamActualPowerSpectralDensity",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Fext Downstream Actual Aggregate Transmit Power",
+        "CamelCase": "FextDownstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamActualAggregateTransmitPower",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Next Downstream Actual Aggregate Transmit Power",
+        "CamelCase": "NextDownstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamActualAggregateTransmitPower",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Fext Upstream Actual Aggregate Transmit Power",
+        "CamelCase": "FextUpstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamActualAggregateTransmitPower",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Next Upstream Actual Aggregate Transmit Power",
+        "CamelCase": "NextUpstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamActualAggregateTransmitPower",
+        "Index": 16
+      }
+    }
+  },
+  "328": {
+    "Name": "RE common amplifier parameters",
+    "Filename": "recommonamplifierparameters.go",
+    "CamelCase": "ReCommonAmplifierParameters",
+    "ClassID": 328,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Gain",
+        "CamelCase": "Gain",
+        "Final": "ReCommonAmplifierParameters_Gain",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Lower Gain Threshold",
+        "CamelCase": "LowerGainThreshold",
+        "Final": "ReCommonAmplifierParameters_LowerGainThreshold",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upper Gain Threshold",
+        "CamelCase": "UpperGainThreshold",
+        "Final": "ReCommonAmplifierParameters_UpperGainThreshold",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Target Gain",
+        "CamelCase": "TargetGain",
+        "Final": "ReCommonAmplifierParameters_TargetGain",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Device Temperature",
+        "CamelCase": "DeviceTemperature",
+        "Final": "ReCommonAmplifierParameters_DeviceTemperature",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Lower Device Temperature Threshold",
+        "CamelCase": "LowerDeviceTemperatureThreshold",
+        "Final": "ReCommonAmplifierParameters_LowerDeviceTemperatureThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Upper Device Temperature Threshold",
+        "CamelCase": "UpperDeviceTemperatureThreshold",
+        "Final": "ReCommonAmplifierParameters_UpperDeviceTemperatureThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Device Bias Current",
+        "CamelCase": "DeviceBiasCurrent",
+        "Final": "ReCommonAmplifierParameters_DeviceBiasCurrent",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Amplifier Saturation Output Power",
+        "CamelCase": "AmplifierSaturationOutputPower",
+        "Final": "ReCommonAmplifierParameters_AmplifierSaturationOutputPower",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Amplifier Noise Figure",
+        "CamelCase": "AmplifierNoiseFigure",
+        "Final": "ReCommonAmplifierParameters_AmplifierNoiseFigure",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Amplifier Saturation Gain",
+        "CamelCase": "AmplifierSaturationGain",
+        "Final": "ReCommonAmplifierParameters_AmplifierSaturationGain",
+        "Index": 11
+      }
+    }
+  },
+  "329": {
+    "Name": "Virtual Ethernet interface point",
+    "Filename": "virtualethernetinterfacepoint.go",
+    "CamelCase": "VirtualEthernetInterfacePoint",
+    "ClassID": 329,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "VirtualEthernetInterfacePoint_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "VirtualEthernetInterfacePoint_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Interdomain Name",
+        "CamelCase": "InterdomainName",
+        "Final": "VirtualEthernetInterfacePoint_InterdomainName",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tcp_Udp Pointer",
+        "CamelCase": "TcpUdpPointer",
+        "Final": "VirtualEthernetInterfacePoint_TcpUdpPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Iana Assigned Port",
+        "CamelCase": "IanaAssignedPort",
+        "Final": "VirtualEthernetInterfacePoint_IanaAssignedPort",
+        "Index": 5
+      }
+    }
+  },
+  "332": {
+    "Name": "Enhanced security control",
+    "Filename": "enhancedsecuritycontrol.go",
+    "CamelCase": "EnhancedSecurityControl",
+    "ClassID": 332,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Olt Crypto Capabilities",
+        "CamelCase": "OltCryptoCapabilities",
+        "Final": "EnhancedSecurityControl_OltCryptoCapabilities",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Olt Random Challenge Table",
+        "CamelCase": "OltRandomChallengeTable",
+        "Final": "EnhancedSecurityControl_OltRandomChallengeTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Olt Challenge Status",
+        "CamelCase": "OltChallengeStatus",
+        "Final": "EnhancedSecurityControl_OltChallengeStatus",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Onu Selected Crypto Capabilities",
+        "CamelCase": "OnuSelectedCryptoCapabilities",
+        "Final": "EnhancedSecurityControl_OnuSelectedCryptoCapabilities",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Onu Random Challenge Table",
+        "CamelCase": "OnuRandomChallengeTable",
+        "Final": "EnhancedSecurityControl_OnuRandomChallengeTable",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Onu Authentication Result Table",
+        "CamelCase": "OnuAuthenticationResultTable",
+        "Final": "EnhancedSecurityControl_OnuAuthenticationResultTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Olt Authentication Result Table",
+        "CamelCase": "OltAuthenticationResultTable",
+        "Final": "EnhancedSecurityControl_OltAuthenticationResultTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Olt Result Status",
+        "CamelCase": "OltResultStatus",
+        "Final": "EnhancedSecurityControl_OltResultStatus",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Onu Authentication Status",
+        "CamelCase": "OnuAuthenticationStatus",
+        "Final": "EnhancedSecurityControl_OnuAuthenticationStatus",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Master Session Key Name",
+        "CamelCase": "MasterSessionKeyName",
+        "Final": "EnhancedSecurityControl_MasterSessionKeyName",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Broadcast Key Table",
+        "CamelCase": "BroadcastKeyTable",
+        "Final": "EnhancedSecurityControl_BroadcastKeyTable",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Effective Key Length",
+        "CamelCase": "EffectiveKeyLength",
+        "Final": "EnhancedSecurityControl_EffectiveKeyLength",
+        "Index": 12
+      }
+    }
+  },
+  "333": {
+    "Name": "MPLS pseudowire termination point",
+    "Filename": "mplspseudowireterminationpoint.go",
+    "CamelCase": "MplsPseudowireTerminationPoint",
+    "ClassID": 333,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "MplsPseudowireTerminationPoint_TpType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Tp Pointer",
+        "CamelCase": "TpPointer",
+        "Final": "MplsPseudowireTerminationPoint_TpPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Mpls Label Indicator",
+        "CamelCase": "MplsLabelIndicator",
+        "Final": "MplsPseudowireTerminationPoint_MplsLabelIndicator",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Mpls Pw Direction",
+        "CamelCase": "MplsPwDirection",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwDirection",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mpls Pw Uplink Label",
+        "CamelCase": "MplsPwUplinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwUplinkLabel",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Mpls Pw Downlink Label",
+        "CamelCase": "MplsPwDownlinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwDownlinkLabel",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Mpls Pw Tc",
+        "CamelCase": "MplsPwTc",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwTc",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Mpls Tunnel Direction",
+        "CamelCase": "MplsTunnelDirection",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelDirection",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Mpls Tunnel Uplink Label",
+        "CamelCase": "MplsTunnelUplinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelUplinkLabel",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Mpls Tunnel Downlink Label",
+        "CamelCase": "MplsTunnelDownlinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelDownlinkLabel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Mpls Tunnel Tc",
+        "CamelCase": "MplsTunnelTc",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelTc",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Pseudowire Type",
+        "CamelCase": "PseudowireType",
+        "Final": "MplsPseudowireTerminationPoint_PseudowireType",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Pseudowire Control Word Preference",
+        "CamelCase": "PseudowireControlWordPreference",
+        "Final": "MplsPseudowireTerminationPoint_PseudowireControlWordPreference",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "MplsPseudowireTerminationPoint_AdministrativeState",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "MplsPseudowireTerminationPoint_OperationalState",
+        "Index": 15
+      }
+    }
+  },
+  "334": {
+    "Name": "Ethernet frame extended PM",
+    "Filename": "ethernetframeextendedpm.go",
+    "CamelCase": "EthernetFrameExtendedPm",
+    "ClassID": 334,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFrameExtendedPm_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Control Block",
+        "CamelCase": "ControlBlock",
+        "Final": "EthernetFrameExtendedPm_ControlBlock",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFrameExtendedPm_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFrameExtendedPm_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Frames",
+        "CamelCase": "Frames",
+        "Final": "EthernetFrameExtendedPm_Frames",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Frames",
+        "CamelCase": "BroadcastFrames",
+        "Final": "EthernetFrameExtendedPm_BroadcastFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Frames",
+        "CamelCase": "MulticastFrames",
+        "Final": "EthernetFrameExtendedPm_MulticastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Frames",
+        "CamelCase": "CrcErroredFrames",
+        "Final": "EthernetFrameExtendedPm_CrcErroredFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Frames",
+        "CamelCase": "UndersizeFrames",
+        "Final": "EthernetFrameExtendedPm_UndersizeFrames",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Frames",
+        "CamelCase": "OversizeFrames",
+        "Final": "EthernetFrameExtendedPm_OversizeFrames",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Frames 64 Octets",
+        "CamelCase": "Frames64Octets",
+        "Final": "EthernetFrameExtendedPm_Frames64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Frames 65 To 127 Octets",
+        "CamelCase": "Frames65To127Octets",
+        "Final": "EthernetFrameExtendedPm_Frames65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Frames 128 To 255 Octets",
+        "CamelCase": "Frames128To255Octets",
+        "Final": "EthernetFrameExtendedPm_Frames128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Frames 256 To 511 Octets",
+        "CamelCase": "Frames256To511Octets",
+        "Final": "EthernetFrameExtendedPm_Frames256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Frames 512 To 1 023 Octets",
+        "CamelCase": "Frames512To1023Octets",
+        "Final": "EthernetFrameExtendedPm_Frames512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Frames 1024 To 1518 Octets",
+        "CamelCase": "Frames1024To1518Octets",
+        "Final": "EthernetFrameExtendedPm_Frames1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "335": {
+    "Name": "SNMP configuration data",
+    "Filename": "snmpconfigurationdata.go",
+    "CamelCase": "SnmpConfigurationData",
+    "ClassID": 335,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Snmp Version",
+        "CamelCase": "SnmpVersion",
+        "Final": "SnmpConfigurationData_SnmpVersion",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Snmp Agent Address",
+        "CamelCase": "SnmpAgentAddress",
+        "Final": "SnmpConfigurationData_SnmpAgentAddress",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Snmp Server Address",
+        "CamelCase": "SnmpServerAddress",
+        "Final": "SnmpConfigurationData_SnmpServerAddress",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Snmp Server Port",
+        "CamelCase": "SnmpServerPort",
+        "Final": "SnmpConfigurationData_SnmpServerPort",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Security Name Pointer",
+        "CamelCase": "SecurityNamePointer",
+        "Final": "SnmpConfigurationData_SecurityNamePointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Community For Read",
+        "CamelCase": "CommunityForRead",
+        "Final": "SnmpConfigurationData_CommunityForRead",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Community For Write",
+        "CamelCase": "CommunityForWrite",
+        "Final": "SnmpConfigurationData_CommunityForWrite",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Sys Name Pointer",
+        "CamelCase": "SysNamePointer",
+        "Final": "SnmpConfigurationData_SysNamePointer",
+        "Index": 8
+      }
+    }
+  },
+  "336": {
+    "Name": "ONU dynamic power management control",
+    "Filename": "onudynamicpowermanagementcontrol.go",
+    "CamelCase": "OnuDynamicPowerManagementControl",
+    "ClassID": 336,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Power Reduction Management Capability",
+        "CamelCase": "PowerReductionManagementCapability",
+        "Final": "OnuDynamicPowerManagementControl_PowerReductionManagementCapability",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Power Reduction Management Mode",
+        "CamelCase": "PowerReductionManagementMode",
+        "Final": "OnuDynamicPowerManagementControl_PowerReductionManagementMode",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Itransinit",
+        "CamelCase": "Itransinit",
+        "Final": "OnuDynamicPowerManagementControl_Itransinit",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Itxinit",
+        "CamelCase": "Itxinit",
+        "Final": "OnuDynamicPowerManagementControl_Itxinit",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Sleep Interval",
+        "CamelCase": "MaximumSleepInterval",
+        "Final": "OnuDynamicPowerManagementControl_MaximumSleepInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Maximum Receiver_Off Interval",
+        "CamelCase": "MaximumReceiverOffInterval",
+        "Final": "OnuDynamicPowerManagementControl_MaximumReceiverOffInterval",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Minimum Aware Interval",
+        "CamelCase": "MinimumAwareInterval",
+        "Final": "OnuDynamicPowerManagementControl_MinimumAwareInterval",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Minimum Active Held Interval",
+        "CamelCase": "MinimumActiveHeldInterval",
+        "Final": "OnuDynamicPowerManagementControl_MinimumActiveHeldInterval",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Maximum Sleep Interval Extension",
+        "CamelCase": "MaximumSleepIntervalExtension",
+        "Final": "OnuDynamicPowerManagementControl_MaximumSleepIntervalExtension",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Ethernet Passive Optical Network Epon Capability Extension",
+        "CamelCase": "EthernetPassiveOpticalNetworkEponCapabilityExtension",
+        "Final": "OnuDynamicPowerManagementControl_EthernetPassiveOpticalNetworkEponCapabilityExtension",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Epon Setup Extension",
+        "CamelCase": "EponSetupExtension",
+        "Final": "OnuDynamicPowerManagementControl_EponSetupExtension",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Missing Consecutive Bursts Threshold",
+        "CamelCase": "MissingConsecutiveBurstsThreshold",
+        "Final": "OnuDynamicPowerManagementControl_MissingConsecutiveBurstsThreshold",
+        "Index": 12
+      }
+    }
+  },
+  "337": {
+    "Name": "PW ATM configuration data",
+    "Filename": "pwatmconfigurationdata.go",
+    "CamelCase": "PwAtmConfigurationData",
+    "ClassID": 337,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "PwAtmConfigurationData_TpType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Transport Tp Pointer",
+        "CamelCase": "TransportTpPointer",
+        "Final": "PwAtmConfigurationData_TransportTpPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Pptp Atm Uni Pointer",
+        "CamelCase": "PptpAtmUniPointer",
+        "Final": "PwAtmConfigurationData_PptpAtmUniPointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Max C Ell C Oncatenation",
+        "CamelCase": "MaxCEllCOncatenation",
+        "Final": "PwAtmConfigurationData_MaxCEllCOncatenation",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Far End M Ax C Ell C Oncatenation",
+        "CamelCase": "FarEndMAxCEllCOncatenation",
+        "Final": "PwAtmConfigurationData_FarEndMAxCEllCOncatenation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Atm Cell Loss Priority Clp Qos Mapping",
+        "CamelCase": "AtmCellLossPriorityClpQosMapping",
+        "Final": "PwAtmConfigurationData_AtmCellLossPriorityClpQosMapping",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Timeout Mode",
+        "CamelCase": "TimeoutMode",
+        "Final": "PwAtmConfigurationData_TimeoutMode",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Pw Atm Mapping Table",
+        "CamelCase": "PwAtmMappingTable",
+        "Final": "PwAtmConfigurationData_PwAtmMappingTable",
+        "Index": 8
+      }
+    }
+  },
+  "338": {
+    "Name": "PW ATM performance monitoring history data",
+    "Filename": "pwatmperformancemonitoringhistorydata.go",
+    "CamelCase": "PwAtmPerformanceMonitoringHistoryData",
+    "ClassID": 338,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Missing Packets Counter",
+        "CamelCase": "DownstreamMissingPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_DownstreamMissingPacketsCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Reordered Packets Counter",
+        "CamelCase": "DownstreamReorderedPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_DownstreamReorderedPacketsCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Misordered Packets Counter",
+        "CamelCase": "DownstreamMisorderedPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_DownstreamMisorderedPacketsCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Timeout Packets Counter",
+        "CamelCase": "UpstreamTimeoutPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamTimeoutPacketsCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Upstream Transmitted Cells Counter",
+        "CamelCase": "UpstreamTransmittedCellsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamTransmittedCellsCounter",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upstream Dropped Cells Counter",
+        "CamelCase": "UpstreamDroppedCellsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamDroppedCellsCounter",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Upstream Received Cells Counter",
+        "CamelCase": "UpstreamReceivedCellsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamReceivedCellsCounter",
+        "Index": 9
+      }
+    }
+  },
+  "339": {
+    "Name": "PW Ethernet configuration data",
+    "Filename": "pwethernetconfigurationdata.go",
+    "CamelCase": "PwEthernetConfigurationData",
+    "ClassID": 339,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mpls Pseudowire Tp Pointer",
+        "CamelCase": "MplsPseudowireTpPointer",
+        "Final": "PwEthernetConfigurationData_MplsPseudowireTpPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "PwEthernetConfigurationData_TpType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Uni Pointer",
+        "CamelCase": "UniPointer",
+        "Final": "PwEthernetConfigurationData_UniPointer",
+        "Index": 3
+      }
+    }
+  },
+  "340": {
+    "Name": "BBF TR-069 management server",
+    "Filename": "bbftr-069managementserver.go",
+    "CamelCase": "BbfTr069ManagementServer",
+    "ClassID": 340,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "BbfTr069ManagementServer_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Acs Network Address",
+        "CamelCase": "AcsNetworkAddress",
+        "Final": "BbfTr069ManagementServer_AcsNetworkAddress",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Associated Tag",
+        "CamelCase": "AssociatedTag",
+        "Final": "BbfTr069ManagementServer_AssociatedTag",
+        "Index": 3
+      }
+    }
+  },
+  "341": {
+    "Name": "GEM port network CTP performance monitoring history data",
+    "Filename": "gemportnetworkctpperformancemonitoringhistorydata.go",
+    "CamelCase": "GemPortNetworkCtpPerformanceMonitoringHistoryData",
+    "ClassID": 341,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Transmitted Gem Frames",
+        "CamelCase": "TransmittedGemFrames",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Received Gem Frames",
+        "CamelCase": "ReceivedGemFrames",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Received Payload Bytes",
+        "CamelCase": "ReceivedPayloadBytes",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted Payload Bytes",
+        "CamelCase": "TransmittedPayloadBytes",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Encryption Key Errors",
+        "CamelCase": "EncryptionKeyErrors",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors",
+        "Index": 7
+      }
+    }
+  },
+  "342": {
+    "Name": "TCP/UDP performance monitoring history data",
+    "Filename": "tcpudpperformancemonitoringhistorydata.go",
+    "CamelCase": "TcpUdpPerformanceMonitoringHistoryData",
+    "ClassID": 342,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Socket Failed",
+        "CamelCase": "SocketFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_SocketFailed",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Listen Failed",
+        "CamelCase": "ListenFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_ListenFailed",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Bind Failed",
+        "CamelCase": "BindFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_BindFailed",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Accept Failed",
+        "CamelCase": "AcceptFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_AcceptFailed",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Select Failed",
+        "CamelCase": "SelectFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_SelectFailed",
+        "Index": 7
+      }
+    }
+  },
+  "343": {
+    "Name": "Energy consumption performance monitoring history data",
+    "Filename": "energyconsumptionperformancemonitoringhistorydata.go",
+    "CamelCase": "EnergyConsumptionPerformanceMonitoringHistoryData",
+    "ClassID": 343,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Doze Time",
+        "CamelCase": "DozeTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_DozeTime",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Cyclic Sleep Time",
+        "CamelCase": "CyclicSleepTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_CyclicSleepTime",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Watchful Sleep Time",
+        "CamelCase": "WatchfulSleepTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_WatchfulSleepTime",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Energy Consumed",
+        "CamelCase": "EnergyConsumed",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_EnergyConsumed",
+        "Index": 6
+      }
+    }
+  },
+  "344": {
+    "Name": "XG-PON TC performance monitoring history data",
+    "Filename": "xg-pontcperformancemonitoringhistorydata.go",
+    "CamelCase": "XgPonTcPerformanceMonitoringHistoryData",
+    "ClassID": 344,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Psbd Hec Error Count",
+        "CamelCase": "PsbdHecErrorCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xgtc Hec Error Count",
+        "CamelCase": "XgtcHecErrorCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Unknown Profile Count",
+        "CamelCase": "UnknownProfileCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted Xg_Pon Encapsulation Method Xgem Frames",
+        "CamelCase": "TransmittedXgPonEncapsulationMethodXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fragment Xgem Frames",
+        "CamelCase": "FragmentXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xgem Hec Lost Words Count",
+        "CamelCase": "XgemHecLostWordsCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Xgem Key Errors",
+        "CamelCase": "XgemKeyErrors",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Xgem Hec Error Count",
+        "CamelCase": "XgemHecErrorCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Transmitted Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TransmittedBytesInNonIdleXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Received Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "ReceivedBytesInNonIdleXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Loss Of Downstream Synchronization Lods Event Count",
+        "CamelCase": "LossOfDownstreamSynchronizationLodsEventCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lods Event Restored Count",
+        "CamelCase": "LodsEventRestoredCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Onu Reactivation By Lods Events",
+        "CamelCase": "OnuReactivationByLodsEvents",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents",
+        "Index": 15
+      }
+    }
+  },
+  "345": {
+    "Name": "XG-PON downstream management performance monitoring history data",
+    "Filename": "xg-pondownstreammanagementperformancemonitoringhistorydata.go",
+    "CamelCase": "XgPonDownstreamManagementPerformanceMonitoringHistoryData",
+    "ClassID": 345,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ploam Message Integrity Check Mic Error Count",
+        "CamelCase": "PloamMessageIntegrityCheckMicErrorCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_PloamMessageIntegrityCheckMicErrorCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Ploam Messages Count",
+        "CamelCase": "DownstreamPloamMessagesCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_DownstreamPloamMessagesCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Profile Messages Received",
+        "CamelCase": "ProfileMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_ProfileMessagesReceived",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ranging_Time Messages Received",
+        "CamelCase": "RangingTimeMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_RangingTimeMessagesReceived",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Deactivate_Onu_Id Messages Received",
+        "CamelCase": "DeactivateOnuIdMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_DeactivateOnuIdMessagesReceived",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Disable_Serial_Number Messages Received",
+        "CamelCase": "DisableSerialNumberMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_DisableSerialNumberMessagesReceived",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Request_Registration Messages Received",
+        "CamelCase": "RequestRegistrationMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_RequestRegistrationMessagesReceived",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Assign_Alloc_Id Messages Received",
+        "CamelCase": "AssignAllocIdMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignAllocIdMessagesReceived",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Key_Control Messages Received",
+        "CamelCase": "KeyControlMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_KeyControlMessagesReceived",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Sleep_Allow Messages Received",
+        "CamelCase": "SleepAllowMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_SleepAllowMessagesReceived",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Baseline Omci Messages Received Count",
+        "CamelCase": "BaselineOmciMessagesReceivedCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_BaselineOmciMessagesReceivedCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Extended Omci Messages Received Count",
+        "CamelCase": "ExtendedOmciMessagesReceivedCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_ExtendedOmciMessagesReceivedCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Assign_Onu_Id Messages Received",
+        "CamelCase": "AssignOnuIdMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignOnuIdMessagesReceived",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Omci Mic Error Count",
+        "CamelCase": "OmciMicErrorCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_OmciMicErrorCount",
+        "Index": 16
+      }
+    }
+  },
+  "346": {
+    "Name": "XG-PON upstream management performance monitoring history data",
+    "Filename": "xg-ponupstreammanagementperformancemonitoringhistorydata.go",
+    "CamelCase": "XgPonUpstreamManagementPerformanceMonitoringHistoryData",
+    "ClassID": 346,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upstream Ploam Message Count",
+        "CamelCase": "UpstreamPloamMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_UpstreamPloamMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Serial_Number_Onu Message Count",
+        "CamelCase": "SerialNumberOnuMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_SerialNumberOnuMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Registration Message Count",
+        "CamelCase": "RegistrationMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_RegistrationMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Key_Report Message Count",
+        "CamelCase": "KeyReportMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_KeyReportMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Acknowledge Message Count",
+        "CamelCase": "AcknowledgeMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_AcknowledgeMessageCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Sleep_Request Message Count",
+        "CamelCase": "SleepRequestMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_SleepRequestMessageCount",
+        "Index": 8
+      }
+    }
+  },
+  "348": {
+    "Name": "MAC bridge port ICMPv6 process pre-assign table",
+    "Filename": "macbridgeporticmpv6processpre-assigntable.go",
+    "CamelCase": "MacBridgePortIcmpv6ProcessPreAssignTable",
+    "ClassID": 348,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Icmpv6 Error Messages Processing",
+        "CamelCase": "Icmpv6ErrorMessagesProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6ErrorMessagesProcessing",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Icmpv6 Informational Messages Processing",
+        "CamelCase": "Icmpv6InformationalMessagesProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6InformationalMessagesProcessing",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Router Solicitation Processing",
+        "CamelCase": "RouterSolicitationProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_RouterSolicitationProcessing",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Router Advertisement Processing",
+        "CamelCase": "RouterAdvertisementProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_RouterAdvertisementProcessing",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Neighbour Solicitation Processing",
+        "CamelCase": "NeighbourSolicitationProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourSolicitationProcessing",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Neighbour Advertisement Processing",
+        "CamelCase": "NeighbourAdvertisementProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourAdvertisementProcessing",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Redirect Processing",
+        "CamelCase": "RedirectProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_RedirectProcessing",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Multicast Listener Query Processing",
+        "CamelCase": "MulticastListenerQueryProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_MulticastListenerQueryProcessing",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Unknown Icmpv6 Processing",
+        "CamelCase": "UnknownIcmpv6Processing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_UnknownIcmpv6Processing",
+        "Index": 9
+      }
+    }
+  },
+  "400": {
+    "Name": "Ethernet pseudowire parameters",
+    "Filename": "ethernetpseudowireparameters.go",
+    "CamelCase": "EthernetPseudowireParameters",
+    "ClassID": 400,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mtu",
+        "CamelCase": "Mtu",
+        "Final": "EthernetPseudowireParameters_Mtu",
+        "Index": 1
+      }
+    }
+  },
+  "406": {
+    "Name": "EPON downstream performance monitoring configuration",
+    "Filename": "epondownstreamperformancemonitoringconfiguration.go",
+    "CamelCase": "EponDownstreamPerformanceMonitoringConfiguration",
+    "ClassID": 406,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Errored Symbol Period Window",
+        "CamelCase": "ErroredSymbolPeriodWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodWindow",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Errored Symbol Period Threshold",
+        "CamelCase": "ErroredSymbolPeriodThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodThreshold",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Errored Frame Window",
+        "CamelCase": "ErroredFrameWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameWindow",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Errored Frame Threshold",
+        "CamelCase": "ErroredFrameThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameThreshold",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Errored Frame Period Window",
+        "CamelCase": "ErroredFramePeriodWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodWindow",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Errored Frame Period Threshold",
+        "CamelCase": "ErroredFramePeriodThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Errored Frame Seconds Summary Window",
+        "CamelCase": "ErroredFrameSecondsSummaryWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryWindow",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Errored Frame Seconds Summary Threshold",
+        "CamelCase": "ErroredFrameSecondsSummaryThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryThreshold",
+        "Index": 8
+      }
+    }
+  },
+  "407": {
+    "Name": "SIP agent config data 2",
+    "Filename": "sipagentconfigdata2.go",
+    "CamelCase": "SipAgentConfigData2",
+    "ClassID": 407,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "In_Use_Options_Timer",
+        "CamelCase": "InUseOptionsTimer",
+        "Final": "SipAgentConfigData2_InUseOptionsTimer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Alternate_Options_Timer",
+        "CamelCase": "AlternateOptionsTimer",
+        "Final": "SipAgentConfigData2_AlternateOptionsTimer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Revertive",
+        "CamelCase": "Revertive",
+        "Final": "SipAgentConfigData2_Revertive",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Current Proxy Server Resolved Address",
+        "CamelCase": "CurrentProxyServerResolvedAddress",
+        "Final": "SipAgentConfigData2_CurrentProxyServerResolvedAddress",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Current Proxy Server Resolved Name",
+        "CamelCase": "CurrentProxyServerResolvedName",
+        "Final": "SipAgentConfigData2_CurrentProxyServerResolvedName",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Alternate Proxy Server Resolved Address",
+        "CamelCase": "AlternateProxyServerResolvedAddress",
+        "Final": "SipAgentConfigData2_AlternateProxyServerResolvedAddress",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Alternate Proxy Server Resolved Name",
+        "CamelCase": "AlternateProxyServerResolvedName",
+        "Final": "SipAgentConfigData2_AlternateProxyServerResolvedName",
+        "Index": 7
+      }
+    }
+  },
+  "408": {
+    "Name": "xDSL xTU-C performance monitoring history data part 2",
+    "Filename": "xdslxtu-cperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "XdslXtuCPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 408,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Leftr Defect Seconds",
+        "CamelCase": "LeftrDefectSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_LeftrDefectSeconds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Error_Free Bits Counter",
+        "CamelCase": "ErrorFreeBitsCounter",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_ErrorFreeBitsCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Minimum Error_Free Throughput Mineftr",
+        "CamelCase": "MinimumErrorFreeThroughputMineftr",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_MinimumErrorFreeThroughputMineftr",
+        "Index": 5
+      }
+    }
+  },
+  "410": {
+    "Name": "VDSL2 line configuration extensions 3",
+    "Filename": "vdsl2lineconfigurationextensions3.go",
+    "CamelCase": "Vdsl2LineConfigurationExtensions3",
+    "ClassID": 410,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ripolicyds",
+        "CamelCase": "Ripolicyds",
+        "Final": "Vdsl2LineConfigurationExtensions3_Ripolicyds",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Ripolicyus",
+        "CamelCase": "Ripolicyus",
+        "Final": "Vdsl2LineConfigurationExtensions3_Ripolicyus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Reinit_Time_Thresholdds",
+        "CamelCase": "ReinitTimeThresholdds",
+        "Final": "Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Reinit_Time_Thresholdus",
+        "CamelCase": "ReinitTimeThresholdus",
+        "Final": "Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rxrefvnsfus",
+        "CamelCase": "Rxrefvnsfus",
+        "Final": "Vdsl2LineConfigurationExtensions3_Rxrefvnsfus",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Txrefvnsfds",
+        "CamelCase": "Txrefvnsfds",
+        "Final": "Vdsl2LineConfigurationExtensions3_Txrefvnsfds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rtx_Modeds",
+        "CamelCase": "RtxModeds",
+        "Final": "Vdsl2LineConfigurationExtensions3_RtxModeds",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Rtx_Modeus",
+        "CamelCase": "RtxModeus",
+        "Final": "Vdsl2LineConfigurationExtensions3_RtxModeus",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Leftr_Thresh",
+        "CamelCase": "LeftrThresh",
+        "Final": "Vdsl2LineConfigurationExtensions3_LeftrThresh",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Maxdelayoctet_Split Parameter Mdosplit",
+        "CamelCase": "MaxdelayoctetSplitParameterMdosplit",
+        "Final": "Vdsl2LineConfigurationExtensions3_MaxdelayoctetSplitParameterMdosplit",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Attndr Method Attndr_Method",
+        "CamelCase": "AttndrMethodAttndrMethod",
+        "Final": "Vdsl2LineConfigurationExtensions3_AttndrMethodAttndrMethod",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Attndr Maxdelayoctet_Split Parameter Attndr_Mdosplit",
+        "CamelCase": "AttndrMaxdelayoctetSplitParameterAttndrMdosplit",
+        "Final": "Vdsl2LineConfigurationExtensions3_AttndrMaxdelayoctetSplitParameterAttndrMdosplit",
+        "Index": 12
+      }
+    }
+  },
+  "412": {
+    "Name": "xDSL channel configuration profile part 2",
+    "Filename": "xdslchannelconfigurationprofilepart2.go",
+    "CamelCase": "XdslChannelConfigurationProfilePart2",
+    "ClassID": 412,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Minimum Expected Throughput For Retransmission Minetr_Rtx",
+        "CamelCase": "MinimumExpectedThroughputForRetransmissionMinetrRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumExpectedThroughputForRetransmissionMinetrRtx",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Maximum Expected Throughput For Retransmission Maxetr_Rtx",
+        "CamelCase": "MaximumExpectedThroughputForRetransmissionMaxetrRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MaximumExpectedThroughputForRetransmissionMaxetrRtx",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Maximum Net Data Rate For Retransmission Maxndr_Rtx",
+        "CamelCase": "MaximumNetDataRateForRetransmissionMaxndrRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MaximumNetDataRateForRetransmissionMaxndrRtx",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Maximum Delay For Retransmission Delaymax_Rtx",
+        "CamelCase": "MaximumDelayForRetransmissionDelaymaxRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MaximumDelayForRetransmissionDelaymaxRtx",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Minimum Delay For Retransmission Delaymin_Rtx",
+        "CamelCase": "MinimumDelayForRetransmissionDelayminRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumDelayForRetransmissionDelayminRtx",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Minimum Impulse Noise Protection Against Single High Impulse Noise Event Shine For Retransmission Inpmin_Shine_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Minimum Impulse Noise Protection Against Shine For Retransmission For Systems Using 8.625 Khz Subcarrier Spacing Inpmin8_Shine_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Shineratio_Rtx",
+        "CamelCase": "ShineratioRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_ShineratioRtx",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Minimum Impulse Noise Protection Against Rein For Retransmission Inpmin_Rein_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Minimum Impulse Noise Protection Against Rein For Retransmission For Systems Using 8.625_Khz Subcarrier Spacing Inpmin8_Rein_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rein Inter_Arrival Time For Retransmission Iat_Rein_Rtx",
+        "CamelCase": "ReinInterArrivalTimeForRetransmissionIatReinRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_ReinInterArrivalTimeForRetransmissionIatReinRtx",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Target Net Data Rate Target_Ndr",
+        "CamelCase": "TargetNetDataRateTargetNdr",
+        "Final": "XdslChannelConfigurationProfilePart2_TargetNetDataRateTargetNdr",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Target Expected Throughput For Retransmission Target_Etr",
+        "CamelCase": "TargetExpectedThroughputForRetransmissionTargetEtr",
+        "Final": "XdslChannelConfigurationProfilePart2_TargetExpectedThroughputForRetransmissionTargetEtr",
+        "Index": 13
+      }
+    }
+  },
+  "413": {
+    "Name": "xTU data gathering configuration",
+    "Filename": "xtudatagatheringconfiguration.go",
+    "CamelCase": "XtuDataGatheringConfiguration",
+    "ClassID": 413,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Logging Depth Event Percentage Per Event _ Vtu_O Logging_Depth_Event_Percentage_Oi Table",
+        "CamelCase": "LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Logging Depth Event Percentage Per Event _ Vtu_R Logging_Depth_Event_Percentage_Ri Table",
+        "CamelCase": "LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Logging Depth For Vtu_O Reporting _ Vtu_R Logging_Depth_Reporting_O",
+        "CamelCase": "LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Logging Depth For Vtu_R Reporting _ Vtu_R Logging_Depth_Reporting_R",
+        "CamelCase": "LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Logging Data Report Newer Events First _ Vtu_R Logging_Report_Newer_First",
+        "CamelCase": "LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst",
+        "Final": "XtuDataGatheringConfiguration_LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst",
+        "Index": 5
+      }
+    }
+  },
+  "414": {
+    "Name": "xDSL line inventory and status data part 8",
+    "Filename": "xdsllineinventoryandstatusdatapart8.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart8",
+    "ClassID": 414,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Retransmission Used Downstream Rtx_Usedds",
+        "CamelCase": "RetransmissionUsedDownstreamRtxUsedds",
+        "Final": "XdslLineInventoryAndStatusDataPart8_RetransmissionUsedDownstreamRtxUsedds",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Retransmission Used Upstream Rtx_Usedus",
+        "CamelCase": "RetransmissionUsedUpstreamRtxUsedus",
+        "Final": "XdslLineInventoryAndStatusDataPart8_RetransmissionUsedUpstreamRtxUsedus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Date_Time_Stamping Of Near_End Test Parameters Stamp_Test_Ne",
+        "CamelCase": "DateTimeStampingOfNearEndTestParametersStampTestNe",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfNearEndTestParametersStampTestNe",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Date_Time_Stamping Of Far_End Test Parameters Stamp_Test_Fe",
+        "CamelCase": "DateTimeStampingOfFarEndTestParametersStampTestFe",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfFarEndTestParametersStampTestFe",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Olr Operation Stamp_Olr_Ds",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Date_Time_Stamping Of Last Successful Upstream Olr Operation Stamp_Olr_Us",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs",
+        "Index": 6
+      }
+    }
+  },
+  "415": {
+    "Name": "VDSL2 line inventory and status data part 4",
+    "Filename": "vdsl2lineinventoryandstatusdatapart4.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart4",
+    "ClassID": 415,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vtu_O Estimated Upstream Power Back_Off Electrical Length Per Band Upbokle_Pb",
+        "CamelCase": "VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vtu_R Estimated Upstream Power Back_Off Electrical Length Per Band Upbokle_R_Pb",
+        "CamelCase": "VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upbo Downstream Receiver Signal Level Threshold Rxthrshds",
+        "CamelCase": "UpboDownstreamReceiverSignalLevelThresholdRxthrshds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_UpboDownstreamReceiverSignalLevelThresholdRxthrshds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upbo Upstream Receiver Signal Level Threshold Rxthrshus",
+        "CamelCase": "UpboUpstreamReceiverSignalLevelThresholdRxthrshus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_UpboUpstreamReceiverSignalLevelThresholdRxthrshus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Actual Alternative Electrical Length Estimation Mod E Act_Aele_Mode",
+        "CamelCase": "ActualAlternativeElectricalLengthEstimationModEActAeleMode",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_ActualAlternativeElectricalLengthEstimationModEActAeleMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actual Downstream Ripolicy Actripolicyds",
+        "CamelCase": "ActualDownstreamRipolicyActripolicyds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_ActualDownstreamRipolicyActripolicyds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Actual Upstream Ripolicy Actripolicyus",
+        "CamelCase": "ActualUpstreamRipolicyActripolicyus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_ActualUpstreamRipolicyActripolicyus",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Attndr Actual M Ethod Attndr_Actmethod",
+        "CamelCase": "AttndrActualMEthodAttndrActmethod",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrActualMEthodAttndrActmethod",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Attndr Downstream A Ctual Impulse Noise Protection Attndr_Actinpds",
+        "CamelCase": "AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Attndr Upstream A Ctual Impulse Noise Protection Attndr_Actinpus",
+        "CamelCase": "AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Attndr Downstream A Ctual Impulse Noise Protection Against Rein Attndr_Actinp_Reinds",
+        "CamelCase": "AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Attndr Upstream A Ctual Impulse Noise Protection Against Rein Attndr_Actinp_Reinus",
+        "CamelCase": "AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Attndr Downstream Actual Delay Attndr_Actdelayds",
+        "CamelCase": "AttndrDownstreamActualDelayAttndrActdelayds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamActualDelayAttndrActdelayds",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Attndr Upstream A Ctual Delay Attndr_Actdelayus",
+        "CamelCase": "AttndrUpstreamACtualDelayAttndrActdelayus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualDelayAttndrActdelayus",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Near_End A Ggregate Achievable Net Data Rate Aggachndr_Ne",
+        "CamelCase": "NearEndAGgregateAchievableNetDataRateAggachndrNe",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_NearEndAGgregateAchievableNetDataRateAggachndrNe",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Far_End Aggregate Achievable Net Data Rate Aggachndr_Fe",
+        "CamelCase": "FarEndAggregateAchievableNetDataRateAggachndrFe",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_FarEndAggregateAchievableNetDataRateAggachndrFe",
+        "Index": 16
+      }
+    }
+  },
+  "418": {
+    "Name": "EFM bonding group",
+    "Filename": "efmbondinggroup.go",
+    "CamelCase": "EfmBondingGroup",
+    "ClassID": 418,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Group Id",
+        "CamelCase": "GroupId",
+        "Final": "EfmBondingGroup_GroupId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Minimum Upstream Group Rate",
+        "CamelCase": "MinimumUpstreamGroupRate",
+        "Final": "EfmBondingGroup_MinimumUpstreamGroupRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Minimum Downstream Group Rate",
+        "CamelCase": "MinimumDownstreamGroupRate",
+        "Final": "EfmBondingGroup_MinimumDownstreamGroupRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Group Alarm Enable",
+        "CamelCase": "GroupAlarmEnable",
+        "Final": "EfmBondingGroup_GroupAlarmEnable",
+        "Index": 4
+      }
+    }
+  },
+  "419": {
+    "Name": "EFM bonding link",
+    "Filename": "efmbondinglink.go",
+    "CamelCase": "EfmBondingLink",
+    "ClassID": 419,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Associated Group Me Id",
+        "CamelCase": "AssociatedGroupMeId",
+        "Final": "EfmBondingLink_AssociatedGroupMeId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Link Alarm Enable",
+        "CamelCase": "LinkAlarmEnable",
+        "Final": "EfmBondingLink_LinkAlarmEnable",
+        "Index": 2
+      }
+    }
+  },
+  "420": {
+    "Name": "EFM bonding group performance monitoring history data",
+    "Filename": "efmbondinggroupperformancemonitoringhistorydata.go",
+    "CamelCase": "EfmBondingGroupPerformanceMonitoringHistoryData",
+    "ClassID": 420,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Bad Fragments",
+        "CamelCase": "RxBadFragments",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxBadFragments",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rx Lost Fragments",
+        "CamelCase": "RxLostFragments",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxLostFragments",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Lost Starts",
+        "CamelCase": "RxLostStarts",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxLostStarts",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Rx Lost Ends",
+        "CamelCase": "RxLostEnds",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxLostEnds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Frames",
+        "CamelCase": "RxFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Frames",
+        "CamelCase": "TxFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Bytes",
+        "CamelCase": "RxBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxBytes",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Bytes",
+        "CamelCase": "TxBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxBytes",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tx Discarded Frames",
+        "CamelCase": "TxDiscardedFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Discarded Bytes",
+        "CamelCase": "TxDiscardedBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedBytes",
+        "Index": 12
+      }
+    }
+  },
+  "421": {
+    "Name": "EFM bonding group performance monitoring history data part 2",
+    "Filename": "efmbondinggroupperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 421,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Unicast Frames",
+        "CamelCase": "RxUnicastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tx Unicast Frames",
+        "CamelCase": "TxUnicastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Unicast Bytes",
+        "CamelCase": "RxUnicastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tx Unicast Bytes",
+        "CamelCase": "TxUnicastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Broadcast Frames",
+        "CamelCase": "RxBroadcastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Broadcast Frames",
+        "CamelCase": "TxBroadcastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Broadcast Bytes",
+        "CamelCase": "RxBroadcastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Broadcast Bytes",
+        "CamelCase": "TxBroadcastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rx Multicast Frames",
+        "CamelCase": "RxMulticastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Multicast Frames",
+        "CamelCase": "TxMulticastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Rx Multicast Bytes",
+        "CamelCase": "RxMulticastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastBytes",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tx Multicast Bytes",
+        "CamelCase": "TxMulticastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastBytes",
+        "Index": 14
+      }
+    }
+  },
+  "422": {
+    "Name": "EFM bonding link performance monitoring history data",
+    "Filename": "efmbondinglinkperformancemonitoringhistorydata.go",
+    "CamelCase": "EfmBondingLinkPerformanceMonitoringHistoryData",
+    "ClassID": 422,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Errored Fragments",
+        "CamelCase": "RxErroredFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxErroredFragments",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rx Small Fragments",
+        "CamelCase": "RxSmallFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxSmallFragments",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Large Fragments",
+        "CamelCase": "RxLargeFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxLargeFragments",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Rx Discarded Fragments",
+        "CamelCase": "RxDiscardedFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxDiscardedFragments",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Fcs Errors",
+        "CamelCase": "RxFcsErrors",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxFcsErrors",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Rx Coding Errors",
+        "CamelCase": "RxCodingErrors",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxCodingErrors",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Fragments",
+        "CamelCase": "RxFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxFragments",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Fragments",
+        "CamelCase": "TxFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_TxFragments",
+        "Index": 10
+      }
+    }
+  },
+  "423": {
+    "Name": "EFM bonding port performance monitoring history data",
+    "Filename": "efmbondingportperformancemonitoringhistorydata.go",
+    "CamelCase": "EfmBondingPortPerformanceMonitoringHistoryData",
+    "ClassID": 423,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Frames",
+        "CamelCase": "RxFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_RxFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tx Frames",
+        "CamelCase": "TxFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Bytes",
+        "CamelCase": "RxBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_RxBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tx Bytes",
+        "CamelCase": "TxBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tx Discarded Frames",
+        "CamelCase": "TxDiscardedFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Discarded Bytes",
+        "CamelCase": "TxDiscardedBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedBytes",
+        "Index": 8
+      }
+    }
+  },
+  "424": {
+    "Name": "EFM bonding port performance monitoring history data part 2",
+    "Filename": "efmbondingportperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 424,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Unicast Frames",
+        "CamelCase": "RxUnicastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tx Unicast Frames",
+        "CamelCase": "TxUnicastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Unicast Bytes",
+        "CamelCase": "RxUnicastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tx Unicast Bytes",
+        "CamelCase": "TxUnicastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Broadcast Frames",
+        "CamelCase": "RxBroadcastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Broadcast Frames",
+        "CamelCase": "TxBroadcastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Broadcast Bytes",
+        "CamelCase": "RxBroadcastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Broadcast Bytes",
+        "CamelCase": "TxBroadcastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rx Multicast Frames",
+        "CamelCase": "RxMulticastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Multicast Frames",
+        "CamelCase": "TxMulticastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Rx Multicast Bytes",
+        "CamelCase": "RxMulticastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastBytes",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tx Multicast Bytes",
+        "CamelCase": "TxMulticastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastBytes",
+        "Index": 14
+      }
+    }
+  },
+  "425": {
+    "Name": "Ethernet frame extended PM 64-bit",
+    "Filename": "ethernetframeextendedpm64-bit.go",
+    "CamelCase": "EthernetFrameExtendedPm64Bit",
+    "ClassID": 425,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFrameExtendedPm64Bit_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Control Block",
+        "CamelCase": "ControlBlock",
+        "Final": "EthernetFrameExtendedPm64Bit_ControlBlock",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFrameExtendedPm64Bit_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Frames",
+        "CamelCase": "Frames",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Frames",
+        "CamelCase": "BroadcastFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_BroadcastFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Frames",
+        "CamelCase": "MulticastFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_MulticastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Frames",
+        "CamelCase": "CrcErroredFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_CrcErroredFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Frames",
+        "CamelCase": "UndersizeFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_UndersizeFrames",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Frames",
+        "CamelCase": "OversizeFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_OversizeFrames",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Frames 64 Octets",
+        "CamelCase": "Frames64Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Frames 65 To 127 Octets",
+        "CamelCase": "Frames65To127Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Frames 128 To 255 Octets",
+        "CamelCase": "Frames128To255Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Frames 256 To 511 Octets",
+        "CamelCase": "Frames256To511Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Frames 512 To 1023 Octets",
+        "CamelCase": "Frames512To1023Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Frames 1024 To 1518 Octets",
+        "CamelCase": "Frames1024To1518Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "427": {
+    "Name": "Physical path termination point xDSL UNI part 3",
+    "Filename": "physicalpathterminationpointxdslunipart3.go",
+    "CamelCase": "PhysicalPathTerminationPointXdslUniPart3",
+    "ClassID": 427,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fast Line Configuration Profile",
+        "CamelCase": "FastLineConfigurationProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastLineConfigurationProfile",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Fast Data Path Configuration Profile",
+        "CamelCase": "FastDataPathConfigurationProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastDataPathConfigurationProfile",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fast Channel Configuration Profile For Bearer Channel 0 Downstream",
+        "CamelCase": "FastChannelConfigurationProfileForBearerChannel0Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastChannelConfigurationProfileForBearerChannel0Downstream",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Fast Xdsl Channel Configuration Profile For Bearer Channel 0 Upstream",
+        "CamelCase": "FastXdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastXdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Index": 4
+      }
+    }
+  },
+  "432": {
+    "Name": "FAST channel configuration profile",
+    "Filename": "fastchannelconfigurationprofile.go",
+    "CamelCase": "FastChannelConfigurationProfile",
+    "ClassID": 432,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Maximum Net Data Rate Maxndr",
+        "CamelCase": "MaximumNetDataRateMaxndr",
+        "Final": "FastChannelConfigurationProfile_MaximumNetDataRateMaxndr",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Minimum Expected Throughput Minetr",
+        "CamelCase": "MinimumExpectedThroughputMinetr",
+        "Final": "FastChannelConfigurationProfile_MinimumExpectedThroughputMinetr",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Maximum Gamma Data Rate Maxgdr",
+        "CamelCase": "MaximumGammaDataRateMaxgdr",
+        "Final": "FastChannelConfigurationProfile_MaximumGammaDataRateMaxgdr",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Minimum Gamma Data Rate Mingdr",
+        "CamelCase": "MinimumGammaDataRateMingdr",
+        "Final": "FastChannelConfigurationProfile_MinimumGammaDataRateMingdr",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Delay Delaymax",
+        "CamelCase": "MaximumDelayDelaymax",
+        "Final": "FastChannelConfigurationProfile_MaximumDelayDelaymax",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Minimum Impulse Noise Protection Against Shine Inpmin_Shine",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstShineInpminShine",
+        "Final": "FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstShineInpminShine",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Shine Ratio Shineratio",
+        "CamelCase": "ShineRatioShineratio",
+        "Final": "FastChannelConfigurationProfile_ShineRatioShineratio",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Minimum Impulse Noise Protection Against Rein Inpmin_Rein",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstReinInpminRein",
+        "Final": "FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstReinInpminRein",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rein Inter_Arrival Time Iat_Rein",
+        "CamelCase": "ReinInterArrivalTimeIatRein",
+        "Final": "FastChannelConfigurationProfile_ReinInterArrivalTimeIatRein",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Minimum Reed_Solomon Rfec_Nfec Ratio Rnratio",
+        "CamelCase": "MinimumReedSolomonRfecNfecRatioRnratio",
+        "Final": "FastChannelConfigurationProfile_MinimumReedSolomonRfecNfecRatioRnratio",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rtx_Tc Testmode Rtx_Testmode",
+        "CamelCase": "RtxTcTestmodeRtxTestmode",
+        "Final": "FastChannelConfigurationProfile_RtxTcTestmodeRtxTestmode",
+        "Index": 11
+      }
+    }
+  },
+  "433": {
+    "Name": "FAST data path configuration profile",
+    "Filename": "fastdatapathconfigurationprofile.go",
+    "CamelCase": "FastDataPathConfigurationProfile",
+    "ClassID": 433,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tps_Tc Testmode Tps_Testmode",
+        "CamelCase": "TpsTcTestmodeTpsTestmode",
+        "Final": "FastDataPathConfigurationProfile_TpsTcTestmodeTpsTestmode",
+        "Index": 1
+      }
+    }
+  },
+  "434": {
+    "Name": "FAST vectoring line configuration extensions",
+    "Filename": "fastvectoringlineconfigurationextensions.go",
+    "CamelCase": "FastVectoringLineConfigurationExtensions",
+    "ClassID": 434,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fext Cancellation Enabling_Disabling Upstream Fext_To_Cancel_Enableus",
+        "CamelCase": "FextCancellationEnablingDisablingUpstreamFextToCancelEnableus",
+        "Final": "FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingUpstreamFextToCancelEnableus",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Fext Cancellation Enabling_Disabling Downstream Fext_To_Cancel_Enableds",
+        "CamelCase": "FextCancellationEnablingDisablingDownstreamFextToCancelEnableds",
+        "Final": "FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingDownstreamFextToCancelEnableds",
+        "Index": 2
+      }
+    }
+  },
+  "436": {
+    "Name": "FAST line inventory and status data part 2",
+    "Filename": "fastlineinventoryandstatusdatapart2.go",
+    "CamelCase": "FastLineInventoryAndStatusDataPart2",
+    "ClassID": 436,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Fra Operation Stamp_Frads",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Date_Time_Stamping Of Last Successful Upstream Fra Operation Stamp_Fraus",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Rpa Operation Stamp_Rpads",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Date_Time_Stamping Of Last Successful Upstream Rpa Operation Stamp_Rpaus",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Tiga Operation Stamp_Tiga",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga",
+        "Index": 5
+      }
+    }
+  },
+  "437": {
+    "Name": "FAST xTU-C performance monitoring history data",
+    "Filename": "fastxtu-cperformancemonitoringhistorydata.go",
+    "CamelCase": "FastXtuCPerformanceMonitoringHistoryData",
+    "ClassID": 437,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Successful Fra Counter",
+        "CamelCase": "SuccessfulFraCounter",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_SuccessfulFraCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Successful Rpa Counter",
+        "CamelCase": "SuccessfulRpaCounter",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_SuccessfulRpaCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Successful Tiga Counter",
+        "CamelCase": "SuccessfulTigaCounter",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_SuccessfulTigaCounter",
+        "Index": 5
+      }
+    }
+  },
+  "438": {
+    "Name": "FAST xTU-R performance monitoring history data",
+    "Filename": "fastxtu-rperformancemonitoringhistorydata.go",
+    "CamelCase": "FastXtuRPerformanceMonitoringHistoryData",
+    "ClassID": 438,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Successful Fra Counter",
+        "CamelCase": "SuccessfulFraCounter",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_SuccessfulFraCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Successful Rpa Counter",
+        "CamelCase": "SuccessfulRpaCounter",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_SuccessfulRpaCounter",
+        "Index": 4
+      }
+    }
+  },
+  "440": {
+    "Name": "Time Status Message",
+    "Filename": "timestatusmessage.go",
+    "CamelCase": "TimeStatusMessage",
+    "ClassID": 440,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Domain Number",
+        "CamelCase": "DomainNumber",
+        "Final": "TimeStatusMessage_DomainNumber",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Flag Field",
+        "CamelCase": "FlagField",
+        "Final": "TimeStatusMessage_FlagField",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Currentutcoffset",
+        "CamelCase": "Currentutcoffset",
+        "Final": "TimeStatusMessage_Currentutcoffset",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Priority1",
+        "CamelCase": "Priority1",
+        "Final": "TimeStatusMessage_Priority1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Clockclass",
+        "CamelCase": "Clockclass",
+        "Final": "TimeStatusMessage_Clockclass",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Accuracy",
+        "CamelCase": "Accuracy",
+        "Final": "TimeStatusMessage_Accuracy",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Offsetscaledlogvariance",
+        "CamelCase": "Offsetscaledlogvariance",
+        "Final": "TimeStatusMessage_Offsetscaledlogvariance",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Priority2",
+        "CamelCase": "Priority2",
+        "Final": "TimeStatusMessage_Priority2",
+        "Index": 8
+      }
+    }
+  },
+  "441": {
+    "Name": "ONU3-G",
+    "Filename": "onu3-g.go",
+    "CamelCase": "Onu3G",
+    "ClassID": 441,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Flash Memory Performance Value",
+        "CamelCase": "FlashMemoryPerformanceValue",
+        "Final": "Onu3G_FlashMemoryPerformanceValue",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Latest Restart Reason",
+        "CamelCase": "LatestRestartReason",
+        "Final": "Onu3G_LatestRestartReason",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Total Number Of Status Snapshots",
+        "CamelCase": "TotalNumberOfStatusSnapshots",
+        "Final": "Onu3G_TotalNumberOfStatusSnapshots",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Number Of Valid Status Snapshots",
+        "CamelCase": "NumberOfValidStatusSnapshots",
+        "Final": "Onu3G_NumberOfValidStatusSnapshots",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Next Status Snapshot Index",
+        "CamelCase": "NextStatusSnapshotIndex",
+        "Final": "Onu3G_NextStatusSnapshotIndex",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Status Snapshot Record Table",
+        "CamelCase": "StatusSnapshotRecordTable",
+        "Final": "Onu3G_StatusSnapshotRecordTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Snap Action",
+        "CamelCase": "SnapAction",
+        "Final": "Onu3G_SnapAction",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Most Recent Status Snapshot",
+        "CamelCase": "MostRecentStatusSnapshot",
+        "Final": "Onu3G_MostRecentStatusSnapshot",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Reset Action",
+        "CamelCase": "ResetAction",
+        "Final": "Onu3G_ResetAction",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Enhanced Mode",
+        "CamelCase": "EnhancedMode",
+        "Final": "Onu3G_EnhancedMode",
+        "Index": 10
+      }
+    }
+  },
+  "443": {
+    "Name": "TWDM channel managed entity",
+    "Filename": "twdmchannelmanagedentity.go",
+    "CamelCase": "TwdmChannelManagedEntity",
+    "ClassID": 443,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Active Channel Indication",
+        "CamelCase": "ActiveChannelIndication",
+        "Final": "TwdmChannelManagedEntity_ActiveChannelIndication",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational Channel Indication",
+        "CamelCase": "OperationalChannelIndication",
+        "Final": "TwdmChannelManagedEntity_OperationalChannelIndication",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Wavelength Channel",
+        "CamelCase": "DownstreamWavelengthChannel",
+        "Final": "TwdmChannelManagedEntity_DownstreamWavelengthChannel",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Wavelength Channel",
+        "CamelCase": "UpstreamWavelengthChannel",
+        "Final": "TwdmChannelManagedEntity_UpstreamWavelengthChannel",
+        "Index": 4
+      }
+    }
+  },
+  "444": {
+    "Name": "TWDM channel PHY/LODS performance monitoring history data",
+    "Filename": "twdmchannelphylodsperformancemonitoringhistorydata.go",
+    "CamelCase": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData",
+    "ClassID": 444,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Total Received Words Protected By Bit_Interleaved Parity_32 Bip_32",
+        "CamelCase": "TotalReceivedWordsProtectedByBitInterleavedParity32Bip32",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalReceivedWordsProtectedByBitInterleavedParity32Bip32",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Bip_32 Bit Error Count",
+        "CamelCase": "Bip32BitErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_Bip32BitErrorCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Corrected Psbd Hec Error Count",
+        "CamelCase": "CorrectedPsbdHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedPsbdHecErrorCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Uncorrectable Psbd Hec Error Count",
+        "CamelCase": "UncorrectablePsbdHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectablePsbdHecErrorCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Corrected Downstream Fs Header Hec Error Count",
+        "CamelCase": "CorrectedDownstreamFsHeaderHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedDownstreamFsHeaderHecErrorCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Uncorrectable Downstream Fs Header Hec Error Count",
+        "CamelCase": "UncorrectableDownstreamFsHeaderHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectableDownstreamFsHeaderHecErrorCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Total Number Of Lods Events",
+        "CamelCase": "TotalNumberOfLodsEvents",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalNumberOfLodsEvents",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Lods Events Restored In Operating Twdm Channel",
+        "CamelCase": "LodsEventsRestoredInOperatingTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInOperatingTwdmChannel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Lods Events Restored In Protection Twdm Channel",
+        "CamelCase": "LodsEventsRestoredInProtectionTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInProtectionTwdmChannel",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Lods Events Restored In Discretionary Twdm Channel",
+        "CamelCase": "LodsEventsRestoredInDiscretionaryTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInDiscretionaryTwdmChannel",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Lods Events Resulting In Reactivation",
+        "CamelCase": "LodsEventsResultingInReactivation",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivation",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lods Events Resulting In Reactivation After Retuning To Protection Twdm Channel",
+        "CamelCase": "LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Lods Events Resulting In Reactivation After Retuning To Discretionary Twdm Channel",
+        "CamelCase": "LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel",
+        "Index": 15
+      }
+    }
+  },
+  "445": {
+    "Name": "TWDM channel XGEM performance monitoring history data",
+    "Filename": "twdmchannelxgemperformancemonitoringhistorydata.go",
+    "CamelCase": "TwdmChannelXgemPerformanceMonitoringHistoryData",
+    "ClassID": 445,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 64 Bit Id",
+        "CamelCase": "ThresholdData64BitId",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_ThresholdData64BitId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Total Transmitted Xgem Frames",
+        "CamelCase": "TotalTransmittedXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedXgemFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Transmitted Xgem Frames With Lf Bit Not Set",
+        "CamelCase": "TransmittedXgemFramesWithLfBitNotSet",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TransmittedXgemFramesWithLfBitNotSet",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Total Received Xgem Frames",
+        "CamelCase": "TotalReceivedXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedXgemFrames",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Xgem Frames With Xgem Header Hec Errors",
+        "CamelCase": "ReceivedXgemFramesWithXgemHeaderHecErrors",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_ReceivedXgemFramesWithXgemHeaderHecErrors",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fs Words Lost To Xgem Header Hec Errors",
+        "CamelCase": "FsWordsLostToXgemHeaderHecErrors",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_FsWordsLostToXgemHeaderHecErrors",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xgem Encryption Key Errors",
+        "CamelCase": "XgemEncryptionKeyErrors",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_XgemEncryptionKeyErrors",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Total Transmitted Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TotalTransmittedBytesInNonIdleXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedBytesInNonIdleXgemFrames",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Total Received Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TotalReceivedBytesInNonIdleXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedBytesInNonIdleXgemFrames",
+        "Index": 10
+      }
+    }
+  },
+  "446": {
+    "Name": "TWDM channel PLOAM performance monitoring history data part 1",
+    "Filename": "twdmchannelploamperformancemonitoringhistorydatapart1.go",
+    "CamelCase": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1",
+    "ClassID": 446,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ploam Mic Errors",
+        "CamelCase": "PloamMicErrors",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_PloamMicErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Ploam Message Count",
+        "CamelCase": "DownstreamPloamMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_DownstreamPloamMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Ranging_Time Message Count",
+        "CamelCase": "RangingTimeMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_RangingTimeMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Protection_Control Message Count",
+        "CamelCase": "ProtectionControlMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ProtectionControlMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Adjust_Tx_Wavelength Message Count",
+        "CamelCase": "AdjustTxWavelengthMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthMessageCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Adjust_Tx_Wavelength Adjustment Amplitude",
+        "CamelCase": "AdjustTxWavelengthAdjustmentAmplitude",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthAdjustmentAmplitude",
+        "Index": 8
+      }
+    }
+  },
+  "447": {
+    "Name": "TWDM channel PLOAM performance monitoring history data part 2",
+    "Filename": "twdmchannelploamperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 447,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "System_Profile Message Count",
+        "CamelCase": "SystemProfileMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SystemProfileMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Channel_Profile Message Count",
+        "CamelCase": "ChannelProfileMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ChannelProfileMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Burst_Profile Message Count",
+        "CamelCase": "BurstProfileMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_BurstProfileMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Assign_Onu_Id Message Count",
+        "CamelCase": "AssignOnuIdMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignOnuIdMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Unsatisfied Adjust_Tx_Wavelength Requests",
+        "CamelCase": "UnsatisfiedAdjustTxWavelengthRequests",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_UnsatisfiedAdjustTxWavelengthRequests",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Deactivate_Onu_Id Message Count",
+        "CamelCase": "DeactivateOnuIdMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DeactivateOnuIdMessageCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Disable_Serial_Number Message Count",
+        "CamelCase": "DisableSerialNumberMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DisableSerialNumberMessageCount",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Request_Registration Message Count",
+        "CamelCase": "RequestRegistrationMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_RequestRegistrationMessageCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Assign_Alloc_Id Message Count",
+        "CamelCase": "AssignAllocIdMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignAllocIdMessageCount",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Key_Control Message Count",
+        "CamelCase": "KeyControlMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_KeyControlMessageCount",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Sleep_Allow Message Count",
+        "CamelCase": "SleepAllowMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SleepAllowMessageCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tuning_Control_Request Message Count",
+        "CamelCase": "TuningControlRequestMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlRequestMessageCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tuning_Control_Complete_D Message Count",
+        "CamelCase": "TuningControlCompleteDMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlCompleteDMessageCount",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Calibration_Request Message Count",
+        "CamelCase": "CalibrationRequestMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_CalibrationRequestMessageCount",
+        "Index": 16
+      }
+    }
+  },
+  "448": {
+    "Name": "TWDM channel PLOAM performance monitoring history data part 3",
+    "Filename": "twdmchannelploamperformancemonitoringhistorydatapart3.go",
+    "CamelCase": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3",
+    "ClassID": 448,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upstream Ploam Message Count",
+        "CamelCase": "UpstreamPloamMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_UpstreamPloamMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Serial_Number_Onu In_Band Message Count",
+        "CamelCase": "SerialNumberOnuInBandMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuInBandMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Serial_Number_Onu Amcc Message Count",
+        "CamelCase": "SerialNumberOnuAmccMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuAmccMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Registration Message Count",
+        "CamelCase": "RegistrationMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_RegistrationMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Key_Report Message Count",
+        "CamelCase": "KeyReportMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_KeyReportMessageCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Acknowledgement Message Count",
+        "CamelCase": "AcknowledgementMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_AcknowledgementMessageCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Sleep_Request Message Count",
+        "CamelCase": "SleepRequestMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SleepRequestMessageCount",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning_Response Ack_Nack Message Count",
+        "CamelCase": "TuningResponseAckNackMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseAckNackMessageCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tuning_Response Complete_U_Rollback Message Count",
+        "CamelCase": "TuningResponseCompleteURollbackMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseCompleteURollbackMessageCount",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Power_Consumption_Report Message Count",
+        "CamelCase": "PowerConsumptionReportMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_PowerConsumptionReportMessageCount",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Change_Power_Level Parameter Error Count",
+        "CamelCase": "ChangePowerLevelParameterErrorCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ChangePowerLevelParameterErrorCount",
+        "Index": 13
+      }
+    }
+  },
+  "449": {
+    "Name": "TWDM channel tuning performance monitoring history data part 1",
+    "Filename": "twdmchanneltuningperformancemonitoringhistorydatapart1.go",
+    "CamelCase": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1",
+    "ClassID": 449,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tuning Control Requests For Rx Only Or Rx And Tx",
+        "CamelCase": "TuningControlRequestsForRxOnlyOrRxAndTx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForRxOnlyOrRxAndTx",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tuning Control Requests For Tx Only",
+        "CamelCase": "TuningControlRequestsForTxOnly",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForTxOnly",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tuning Control Requests Rejected_Int_Sfc",
+        "CamelCase": "TuningControlRequestsRejectedIntSfc",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedIntSfc",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tuning Control Requests Rejected_Ds_Xxx",
+        "CamelCase": "TuningControlRequestsRejectedDsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedDsXxx",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tuning Control Requests Rejected_Us_Xxx",
+        "CamelCase": "TuningControlRequestsRejectedUsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedUsXxx",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tuning Control Requests Fulfilled With Onu Reacquired At Target Channel",
+        "CamelCase": "TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Tuning Control Requests Failed Due To Target Ds Wavelength Channel Not Found",
+        "CamelCase": "TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning Control Requests Failed Due To No Feedback In Target Ds Wavelength Channel",
+        "CamelCase": "TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tuning Control Requests Resolved With Onu Reacquired At Discretionary Channel",
+        "CamelCase": "TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tuning Control Requests Rollback_Com_Ds",
+        "CamelCase": "TuningControlRequestsRollbackComDs",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackComDs",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tuning Control Requests Rollback_Ds_Xxx",
+        "CamelCase": "TuningControlRequestsRollbackDsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackDsXxx",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tuning Control Requests Rollback_Us_Xxx",
+        "CamelCase": "TuningControlRequestsRollbackUsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackUsXxx",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tuning Control Requests Failed With Onu Reactivation",
+        "CamelCase": "TuningControlRequestsFailedWithOnuReactivation",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedWithOnuReactivation",
+        "Index": 15
+      }
+    }
+  },
+  "450": {
+    "Name": "TWDM channel tuning performance monitoring history data part 2",
+    "Filename": "twdmchanneltuningperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 450,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tuning Control Requests Rejected_Ds_Albl",
+        "CamelCase": "TuningControlRequestsRejectedDsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsAlbl",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tuning Control Requests Rejected_Ds_Void",
+        "CamelCase": "TuningControlRequestsRejectedDsVoid",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsVoid",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tuning Control Requests Rejected_Ds_Part",
+        "CamelCase": "TuningControlRequestsRejectedDsPart",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsPart",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tuning Control Requests Rejected_Ds_Tunr",
+        "CamelCase": "TuningControlRequestsRejectedDsTunr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsTunr",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tuning Control Requests Rejected_Ds_Lnrt",
+        "CamelCase": "TuningControlRequestsRejectedDsLnrt",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLnrt",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tuning Control Requests Rejected_Ds_Lncd",
+        "CamelCase": "TuningControlRequestsRejectedDsLncd",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLncd",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Tuning Control Requests Rejected_Us_Albl",
+        "CamelCase": "TuningControlRequestsRejectedUsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsAlbl",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning Control Requests Rejected_Us_Void",
+        "CamelCase": "TuningControlRequestsRejectedUsVoid",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsVoid",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tuning Control Requests Rejected_Us_Tunr",
+        "CamelCase": "TuningControlRequestsRejectedUsTunr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsTunr",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tuning Control Requests Rejected_Us_Clbr",
+        "CamelCase": "TuningControlRequestsRejectedUsClbr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsClbr",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tuning Control Requests Rejected_Us_Lktp",
+        "CamelCase": "TuningControlRequestsRejectedUsLktp",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLktp",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tuning Control Requests Rejected_Us_Lnrt",
+        "CamelCase": "TuningControlRequestsRejectedUsLnrt",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLnrt",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tuning Control Requests Rejected_Us_Lncd",
+        "CamelCase": "TuningControlRequestsRejectedUsLncd",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLncd",
+        "Index": 15
+      }
+    }
+  },
+  "451": {
+    "Name": "TWDM channel tuning performance monitoring history data part 3",
+    "Filename": "twdmchanneltuningperformancemonitoringhistorydatapart3.go",
+    "CamelCase": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3",
+    "ClassID": 451,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tuning Control Requests Rollback_Ds_Albl",
+        "CamelCase": "TuningControlRequestsRollbackDsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsAlbl",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tuning Control Requests Rollback_Ds_Lktp",
+        "CamelCase": "TuningControlRequestsRollbackDsLktp",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsLktp",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tuning Control Requests Rollback_Us_Albl",
+        "CamelCase": "TuningControlRequestsRollbackUsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsAlbl",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tuning Control Requests Rollback_Us_Void",
+        "CamelCase": "TuningControlRequestsRollbackUsVoid",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsVoid",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tuning Control Requests Rollback_Us_Tunr",
+        "CamelCase": "TuningControlRequestsRollbackUsTunr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsTunr",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tuning Control Requests Rollback_Us_Lktp",
+        "CamelCase": "TuningControlRequestsRollbackUsLktp",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLktp",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Tuning Control Requests Rollback_Us_Lnrt",
+        "CamelCase": "TuningControlRequestsRollbackUsLnrt",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLnrt",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning Control Requests Rollback_Us_Lncd",
+        "CamelCase": "TuningControlRequestsRollbackUsLncd",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLncd",
+        "Index": 10
+      }
+    }
+  },
+  "452": {
+    "Name": "TWDM channel OMCI performance monitoring history data",
+    "Filename": "twdmchannelomciperformancemonitoringhistorydata.go",
+    "CamelCase": "TwdmChannelOmciPerformanceMonitoringHistoryData",
+    "ClassID": 452,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Omci Baseline Message Count",
+        "CamelCase": "OmciBaselineMessageCount",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_OmciBaselineMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Omci Extended Message Count",
+        "CamelCase": "OmciExtendedMessageCount",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_OmciExtendedMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Omci Mic Error Count",
+        "CamelCase": "OmciMicErrorCount",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_OmciMicErrorCount",
+        "Index": 5
+      }
+    }
+  },
+  "453": {
+    "Name": "Enhanced FEC performance monitoring history data",
+    "Filename": "enhancedfecperformancemonitoringhistorydata.go",
+    "CamelCase": "EnhancedFecPerformanceMonitoringHistoryData",
+    "ClassID": 453,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 64 Bit Id",
+        "CamelCase": "ThresholdData64BitId",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_ThresholdData64BitId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Bytes",
+        "CamelCase": "CorrectedBytes",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_CorrectedBytes",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Corrected Code Words",
+        "CamelCase": "CorrectedCodeWords",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_CorrectedCodeWords",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Uncorrectable Code Words",
+        "CamelCase": "UncorrectableCodeWords",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_UncorrectableCodeWords",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Code Words",
+        "CamelCase": "TotalCodeWords",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_TotalCodeWords",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 7
+      }
+    }
+  },
+  "454": {
+    "Name": "Enhanced TC performance monitoring history data",
+    "Filename": "enhancedtcperformancemonitoringhistorydata.go",
+    "CamelCase": "EnhancedTcPerformanceMonitoringHistoryData",
+    "ClassID": 454,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 64 Bit Id",
+        "CamelCase": "ThresholdData64BitId",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_ThresholdData64BitId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Psbd Hec Error Count",
+        "CamelCase": "PsbdHecErrorCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_PsbdHecErrorCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xgtc Hec Error Count",
+        "CamelCase": "XgtcHecErrorCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgtcHecErrorCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Unknown Profile Count",
+        "CamelCase": "UnknownProfileCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_UnknownProfileCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted Xgem Frames",
+        "CamelCase": "TransmittedXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_TransmittedXgemFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fragment Xgem Frames",
+        "CamelCase": "FragmentXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_FragmentXgemFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xgem Hec Lost Words Count",
+        "CamelCase": "XgemHecLostWordsCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Xgem Key Errors",
+        "CamelCase": "XgemKeyErrors",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgemKeyErrors",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Xgem Hec Error Count",
+        "CamelCase": "XgemHecErrorCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgemHecErrorCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Transmitted Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TransmittedBytesInNonIdleXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Received Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "ReceivedBytesInNonIdleXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Lods Event Count",
+        "CamelCase": "LodsEventCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_LodsEventCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lods Event Restored Count",
+        "CamelCase": "LodsEventRestoredCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_LodsEventRestoredCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Onu Reactivation By Lods Events",
+        "CamelCase": "OnuReactivationByLodsEvents",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents",
+        "Index": 15
+      }
+    }
+  },
+  "456": {
+    "Name": "ONU manufacturing data",
+    "Filename": "onumanufacturingdata.go",
+    "CamelCase": "OnuManufacturingData",
+    "ClassID": 456,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Manufacturer Name",
+        "CamelCase": "ManufacturerName",
+        "Final": "OnuManufacturingData_ManufacturerName",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Serial Number 1",
+        "CamelCase": "SerialNumber1",
+        "Final": "OnuManufacturingData_SerialNumber1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Serial Number 2",
+        "CamelCase": "SerialNumber2",
+        "Final": "OnuManufacturingData_SerialNumber2",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Model Name",
+        "CamelCase": "ModelName",
+        "Final": "OnuManufacturingData_ModelName",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Manufacturing Date",
+        "CamelCase": "ManufacturingDate",
+        "Final": "OnuManufacturingData_ManufacturingDate",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Hardware_Revision",
+        "CamelCase": "HardwareRevision",
+        "Final": "OnuManufacturingData_HardwareRevision",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Firmware_Revision",
+        "CamelCase": "FirmwareRevision",
+        "Final": "OnuManufacturingData_FirmwareRevision",
+        "Index": 7
+      }
+    }
+  },
+  "457": {
+    "Name": "ONU time configuration",
+    "Filename": "onutimeconfiguration.go",
+    "CamelCase": "OnuTimeConfiguration",
+    "ClassID": 457,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Current Local Onu Time",
+        "CamelCase": "CurrentLocalOnuTime",
+        "Final": "OnuTimeConfiguration_CurrentLocalOnuTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Time Qualification Block",
+        "CamelCase": "TimeQualificationBlock",
+        "Final": "OnuTimeConfiguration_TimeQualificationBlock",
+        "Index": 2
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go
index 4956e89..030ff0a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -36,6 +36,9 @@
 	"github.com/google/gopacket"
 )
 
+// ManagedEntityID is a string constant that can be used for the 16-bit Entity ID
+const ManagedEntityID = "ManagedEntityId"
+
 // Attribute types
 type AttributeType uint8
 
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go
index 43d73da..1eb2deb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -132,26 +132,38 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const AttributeMe_Name = "Name"
+const AttributeMe_Size = "Size"
+const AttributeMe_Access = "Access"
+const AttributeMe_Format = "Format"
+const AttributeMe_LowerLimit = "LowerLimit"
+const AttributeMe_UpperLimit = "UpperLimit"
+const AttributeMe_BitField = "BitField"
+const AttributeMe_CodePointsTable = "CodePointsTable"
+const AttributeMe_Support = "Support"
+
 func init() {
 	attributemeBME = &ManagedEntityDefinition{
 		Name:    "AttributeMe",
-		ClassID: 289,
+		ClassID: AttributeMeClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("Name", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("Size", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Access", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: ByteField("Format", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("LowerLimit", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("UpperLimit", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("BitField", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: TableField("CodePointsTable", TableAttributeType, 0x0100, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 8),
-			9: ByteField("Support", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(AttributeMe_Name, OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(AttributeMe_Size, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(AttributeMe_Access, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField(AttributeMe_Format, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(AttributeMe_LowerLimit, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(AttributeMe_UpperLimit, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(AttributeMe_BitField, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: TableField(AttributeMe_CodePointsTable, TableAttributeType, 0x0100, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 8),
+			9: ByteField(AttributeMe_Support, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go
index fd1eb1b..d4ef4e2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -84,10 +84,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const AuthenticationSecurityMethod_ValidationScheme = "ValidationScheme"
+const AuthenticationSecurityMethod_Username1 = "Username1"
+const AuthenticationSecurityMethod_Password = "Password"
+const AuthenticationSecurityMethod_Realm = "Realm"
+const AuthenticationSecurityMethod_Username2 = "Username2"
+
 func init() {
 	authenticationsecuritymethodBME = &ManagedEntityDefinition{
 		Name:    "AuthenticationSecurityMethod",
-		ClassID: 148,
+		ClassID: AuthenticationSecurityMethodClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -96,12 +104,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("ValidationScheme", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: MultiByteField("Username1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: MultiByteField("Password", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("Realm", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: MultiByteField("Username2", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(AuthenticationSecurityMethod_ValidationScheme, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField(AuthenticationSecurityMethod_Username1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField(AuthenticationSecurityMethod_Password, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(AuthenticationSecurityMethod_Realm, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: MultiByteField(AuthenticationSecurityMethod_Username2, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go
index 6aab0a9..5831e6f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,20 +72,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const BbfTr069ManagementServer_AdministrativeState = "AdministrativeState"
+const BbfTr069ManagementServer_AcsNetworkAddress = "AcsNetworkAddress"
+const BbfTr069ManagementServer_AssociatedTag = "AssociatedTag"
+
 func init() {
 	bbftr069managementserverBME = &ManagedEntityDefinition{
 		Name:    "BbfTr069ManagementServer",
-		ClassID: 340,
+		ClassID: BbfTr069ManagementServerClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: Uint16Field("AcsNetworkAddress", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint16Field("AssociatedTag", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(BbfTr069ManagementServer_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field(BbfTr069ManagementServer_AcsNetworkAddress, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint16Field(BbfTr069ManagementServer_AssociatedTag, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go
index d901177..ac6bbf8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,10 +80,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const CallControlPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const CallControlPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const CallControlPerformanceMonitoringHistoryData_CallSetupFailures = "CallSetupFailures"
+const CallControlPerformanceMonitoringHistoryData_CallSetupTimer = "CallSetupTimer"
+const CallControlPerformanceMonitoringHistoryData_CallTerminateFailures = "CallTerminateFailures"
+const CallControlPerformanceMonitoringHistoryData_AnalogPortReleases = "AnalogPortReleases"
+const CallControlPerformanceMonitoringHistoryData_AnalogPortOffHookTimer = "AnalogPortOffHookTimer"
+
 func init() {
 	callcontrolperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "CallControlPerformanceMonitoringHistoryData",
-		ClassID: 140,
+		ClassID: CallControlPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -93,14 +103,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CallSetupFailures", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CallSetupTimer", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("CallTerminateFailures", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("AnalogPortReleases", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("AnalogPortOffHookTimer", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(CallControlPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(CallControlPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(CallControlPerformanceMonitoringHistoryData_CallSetupFailures, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(CallControlPerformanceMonitoringHistoryData_CallSetupTimer, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(CallControlPerformanceMonitoringHistoryData_CallTerminateFailures, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(CallControlPerformanceMonitoringHistoryData_AnalogPortReleases, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(CallControlPerformanceMonitoringHistoryData_AnalogPortOffHookTimer, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go
index 5b996c6..0434f5e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -164,26 +164,38 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Cardholder_ActualPlugInUnitType = "ActualPlugInUnitType"
+const Cardholder_ExpectedPlugInUnitType = "ExpectedPlugInUnitType"
+const Cardholder_ExpectedPortCount = "ExpectedPortCount"
+const Cardholder_ExpectedEquipmentId = "ExpectedEquipmentId"
+const Cardholder_ActualEquipmentId = "ActualEquipmentId"
+const Cardholder_ProtectionProfilePointer = "ProtectionProfilePointer"
+const Cardholder_InvokeProtectionSwitch = "InvokeProtectionSwitch"
+const Cardholder_AlarmReportingControl = "AlarmReportingControl"
+const Cardholder_ArcInterval = "ArcInterval"
+
 func init() {
 	cardholderBME = &ManagedEntityDefinition{
 		Name:    "Cardholder",
-		ClassID: 5,
+		ClassID: CardholderClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("ActualPlugInUnitType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, false, false, 1),
-			2: ByteField("ExpectedPlugInUnitType", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("ExpectedPortCount", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: MultiByteField("ExpectedEquipmentId", StringAttributeType, 0x1000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: MultiByteField("ActualEquipmentId", StringAttributeType, 0x0800, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, true, false, 5),
-			6: ByteField("ProtectionProfilePointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: ByteField("InvokeProtectionSwitch", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8: ByteField("AlarmReportingControl", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
-			9: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(Cardholder_ActualPlugInUnitType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, false, false, 1),
+			2: ByteField(Cardholder_ExpectedPlugInUnitType, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(Cardholder_ExpectedPortCount, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: MultiByteField(Cardholder_ExpectedEquipmentId, StringAttributeType, 0x1000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: MultiByteField(Cardholder_ActualEquipmentId, StringAttributeType, 0x0800, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: ByteField(Cardholder_ProtectionProfilePointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: ByteField(Cardholder_InvokeProtectionSwitch, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: ByteField(Cardholder_AlarmReportingControl, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9: ByteField(Cardholder_ArcInterval, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go
index ad20760..0344d19 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const CesServiceProfile_CesBufferedCdvTolerance = "CesBufferedCdvTolerance"
+const CesServiceProfile_ChannelAssociatedSignallingCas = "ChannelAssociatedSignallingCas"
+
 func init() {
 	cesserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "CesServiceProfile",
-		ClassID: 21,
+		ClassID: CesServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,9 +89,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("CesBufferedCdvTolerance", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("ChannelAssociatedSignallingCas", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(CesServiceProfile_CesBufferedCdvTolerance, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(CesServiceProfile_ChannelAssociatedSignallingCas, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go
index 0fa6a4e..277219e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -163,10 +163,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const CircuitPack_Type = "Type"
+const CircuitPack_NumberOfPorts = "NumberOfPorts"
+const CircuitPack_SerialNumber = "SerialNumber"
+const CircuitPack_Version = "Version"
+const CircuitPack_VendorId = "VendorId"
+const CircuitPack_AdministrativeState = "AdministrativeState"
+const CircuitPack_OperationalState = "OperationalState"
+const CircuitPack_BridgedOrIpInd = "BridgedOrIpInd"
+const CircuitPack_EquipmentId = "EquipmentId"
+const CircuitPack_CardConfiguration = "CardConfiguration"
+const CircuitPack_TotalTContBufferNumber = "TotalTContBufferNumber"
+const CircuitPack_TotalPriorityQueueNumber = "TotalPriorityQueueNumber"
+const CircuitPack_TotalTrafficSchedulerNumber = "TotalTrafficSchedulerNumber"
+const CircuitPack_PowerShedOverride = "PowerShedOverride"
+
 func init() {
 	circuitpackBME = &ManagedEntityDefinition{
 		Name:    "CircuitPack",
-		ClassID: 6,
+		ClassID: CircuitPackClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -175,21 +192,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("Type", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 1),
-			2:  ByteField("NumberOfPorts", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
-			3:  MultiByteField("SerialNumber", OctetsAttributeType, 0x2000, 8, toOctets("ICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 3),
-			4:  MultiByteField("Version", OctetsAttributeType, 0x1000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 4),
-			5:  MultiByteField("VendorId", StringAttributeType, 0x0800, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("OperationalState", EnumerationAttributeType, 0x0200, 2, mapset.NewSetWith(Read), true, true, false, 7),
-			8:  ByteField("BridgedOrIpInd", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  MultiByteField("EquipmentId", StringAttributeType, 0x0080, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("CardConfiguration", EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("TotalTContBufferNumber", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: ByteField("TotalPriorityQueueNumber", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: ByteField("TotalTrafficSchedulerNumber", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("PowerShedOverride", BitFieldAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(CircuitPack_Type, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 1),
+			2:  ByteField(CircuitPack_NumberOfPorts, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
+			3:  MultiByteField(CircuitPack_SerialNumber, OctetsAttributeType, 0x2000, 8, toOctets("ICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  MultiByteField(CircuitPack_Version, OctetsAttributeType, 0x1000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField(CircuitPack_VendorId, StringAttributeType, 0x0800, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(CircuitPack_AdministrativeState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(CircuitPack_OperationalState, EnumerationAttributeType, 0x0200, 2, mapset.NewSetWith(Read), true, true, false, 7),
+			8:  ByteField(CircuitPack_BridgedOrIpInd, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  MultiByteField(CircuitPack_EquipmentId, StringAttributeType, 0x0080, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(CircuitPack_CardConfiguration, EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(CircuitPack_TotalTContBufferNumber, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: ByteField(CircuitPack_TotalPriorityQueueNumber, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: ByteField(CircuitPack_TotalTrafficSchedulerNumber, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(CircuitPack_PowerShedOverride, BitFieldAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go
index e38986f..4a2e255 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go
index eef38d7..64c1ad6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go
index 90b85d9..6162119 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go
index 4358c0c..89ccf6f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go
index 08dda58..780fed8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -128,20 +128,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgCfmStack_Layer2Type = "Layer2Type"
+const Dot1AgCfmStack_MpStatusTable = "MpStatusTable"
+const Dot1AgCfmStack_ConfigurationErrorListTable = "ConfigurationErrorListTable"
+
 func init() {
 	dot1agcfmstackBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgCfmStack",
-		ClassID: 305,
+		ClassID: Dot1AgCfmStackClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("MpStatusTable", TableAttributeType, 0x4000, TableInfo{nil, 18}, mapset.NewSetWith(Read), false, false, false, 2),
-			3: TableField("ConfigurationErrorListTable", TableAttributeType, 0x2000, TableInfo{nil, 5}, mapset.NewSetWith(Read), true, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(Dot1AgCfmStack_Layer2Type, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField(Dot1AgCfmStack_MpStatusTable, TableAttributeType, 0x4000, TableInfo{nil, 18}, mapset.NewSetWith(Read), false, false, false, 2),
+			3: TableField(Dot1AgCfmStack_ConfigurationErrorListTable, TableAttributeType, 0x2000, TableInfo{nil, 5}, mapset.NewSetWith(Read), true, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go
index 75d0106..60539c2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -113,27 +113,40 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgChassisManagementInfo_ChassisIdLength = "ChassisIdLength"
+const Dot1AgChassisManagementInfo_ChassisIdSubtype = "ChassisIdSubtype"
+const Dot1AgChassisManagementInfo_ChassisIdPart1 = "ChassisIdPart1"
+const Dot1AgChassisManagementInfo_ChassisIdPart2 = "ChassisIdPart2"
+const Dot1AgChassisManagementInfo_ManagementAddressDomainLength = "ManagementAddressDomainLength"
+const Dot1AgChassisManagementInfo_ManagementAddressDomain1 = "ManagementAddressDomain1"
+const Dot1AgChassisManagementInfo_ManagementAddressDomain2 = "ManagementAddressDomain2"
+const Dot1AgChassisManagementInfo_ManagementAddressLength = "ManagementAddressLength"
+const Dot1AgChassisManagementInfo_ManagementAddress1 = "ManagementAddress1"
+const Dot1AgChassisManagementInfo_ManagementAddress2 = "ManagementAddress2"
+
 func init() {
 	dot1agchassismanagementinfoBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgChassisManagementInfo",
-		ClassID: 306,
+		ClassID: Dot1AgChassisManagementInfoClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ChassisIdLength", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("ChassisIdSubtype", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  MultiByteField("ChassisIdPart1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  MultiByteField("ChassisIdPart2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("ManagementAddressDomainLength", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  MultiByteField("ManagementAddressDomain1", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  MultiByteField("ManagementAddressDomain2", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("ManagementAddressLength", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  MultiByteField("ManagementAddress1", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: MultiByteField("ManagementAddress2", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Dot1AgChassisManagementInfo_ChassisIdLength, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(Dot1AgChassisManagementInfo_ChassisIdSubtype, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  MultiByteField(Dot1AgChassisManagementInfo_ChassisIdPart1, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  MultiByteField(Dot1AgChassisManagementInfo_ChassisIdPart2, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(Dot1AgChassisManagementInfo_ManagementAddressDomainLength, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  MultiByteField(Dot1AgChassisManagementInfo_ManagementAddressDomain1, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  MultiByteField(Dot1AgChassisManagementInfo_ManagementAddressDomain2, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(Dot1AgChassisManagementInfo_ManagementAddressLength, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  MultiByteField(Dot1AgChassisManagementInfo_ManagementAddress1, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: MultiByteField(Dot1AgChassisManagementInfo_ManagementAddress2, OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go
index 0d1e13e..457aa8d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -152,10 +152,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgDefaultMdLevel_Layer2Type = "Layer2Type"
+const Dot1AgDefaultMdLevel_CatchallLevel = "CatchallLevel"
+const Dot1AgDefaultMdLevel_CatchallMhfCreation = "CatchallMhfCreation"
+const Dot1AgDefaultMdLevel_CatchallSenderIdPermission = "CatchallSenderIdPermission"
+const Dot1AgDefaultMdLevel_DefaultMdLevelTable = "DefaultMdLevelTable"
+
 func init() {
 	dot1agdefaultmdlevelBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgDefaultMdLevel",
-		ClassID: 301,
+		ClassID: Dot1AgDefaultMdLevelClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -164,12 +172,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("CatchallLevel", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("CatchallMhfCreation", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("CatchallSenderIdPermission", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: TableField("DefaultMdLevelTable", TableAttributeType, 0x0800, TableInfo{nil, 29}, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(Dot1AgDefaultMdLevel_Layer2Type, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(Dot1AgDefaultMdLevel_CatchallLevel, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(Dot1AgDefaultMdLevel_CatchallMhfCreation, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(Dot1AgDefaultMdLevel_CatchallSenderIdPermission, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: TableField(Dot1AgDefaultMdLevel_DefaultMdLevelTable, TableAttributeType, 0x0800, TableInfo{nil, 29}, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go
index b898665..9122a6c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -135,10 +135,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgMaintenanceAssociation_MdPointer = "MdPointer"
+const Dot1AgMaintenanceAssociation_ShortMaNameFormat = "ShortMaNameFormat"
+const Dot1AgMaintenanceAssociation_ShortMaName1 = "ShortMaName1"
+const Dot1AgMaintenanceAssociation_ShortMaName2 = "ShortMaName2"
+const Dot1AgMaintenanceAssociation_ContinuityCheckMessageCcmInterval = "ContinuityCheckMessageCcmInterval"
+const Dot1AgMaintenanceAssociation_AssociatedVlans = "AssociatedVlans"
+const Dot1AgMaintenanceAssociation_MhfCreation = "MhfCreation"
+
 func init() {
 	dot1agmaintenanceassociationBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgMaintenanceAssociation",
-		ClassID: 300,
+		ClassID: Dot1AgMaintenanceAssociationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -147,14 +157,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MdPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("ShortMaNameFormat", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: MultiByteField("ShortMaName1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("ShortMaName2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("ContinuityCheckMessageCcmInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint16Field("AssociatedVlans", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: ByteField("MhfCreation", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(Dot1AgMaintenanceAssociation_MdPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Dot1AgMaintenanceAssociation_ShortMaNameFormat, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: MultiByteField(Dot1AgMaintenanceAssociation_ShortMaName1, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(Dot1AgMaintenanceAssociation_ShortMaName2, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(Dot1AgMaintenanceAssociation_ContinuityCheckMessageCcmInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field(Dot1AgMaintenanceAssociation_AssociatedVlans, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: ByteField(Dot1AgMaintenanceAssociation_MhfCreation, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go
index 5f191a5..f64688d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,10 +118,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgMaintenanceDomain_MdLevel = "MdLevel"
+const Dot1AgMaintenanceDomain_MdNameFormat = "MdNameFormat"
+const Dot1AgMaintenanceDomain_MdName1 = "MdName1"
+const Dot1AgMaintenanceDomain_MdName2 = "MdName2"
+const Dot1AgMaintenanceDomain_MaintenanceDomainIntermediatePointHalfFunctionMhfCreation = "MaintenanceDomainIntermediatePointHalfFunctionMhfCreation"
+const Dot1AgMaintenanceDomain_SenderIdPermission = "SenderIdPermission"
+
 func init() {
 	dot1agmaintenancedomainBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgMaintenanceDomain",
-		ClassID: 299,
+		ClassID: Dot1AgMaintenanceDomainClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,13 +139,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("MdLevel", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("MdNameFormat", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: MultiByteField("MdName1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("MdName2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("MaintenanceDomainIntermediatePointHalfFunctionMhfCreation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: ByteField("SenderIdPermission", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(Dot1AgMaintenanceDomain_MdLevel, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Dot1AgMaintenanceDomain_MdNameFormat, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: MultiByteField(Dot1AgMaintenanceDomain_MdName1, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(Dot1AgMaintenanceDomain_MdName2, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(Dot1AgMaintenanceDomain_MaintenanceDomainIntermediatePointHalfFunctionMhfCreation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: ByteField(Dot1AgMaintenanceDomain_SenderIdPermission, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go
index 44cce8c..60eb007 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -141,10 +141,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgMep_Layer2EntityPointer = "Layer2EntityPointer"
+const Dot1AgMep_Layer2Type = "Layer2Type"
+const Dot1AgMep_MaPointer = "MaPointer"
+const Dot1AgMep_MepId = "MepId"
+const Dot1AgMep_MepControl = "MepControl"
+const Dot1AgMep_PrimaryVlan = "PrimaryVlan"
+const Dot1AgMep_AdministrativeState = "AdministrativeState"
+const Dot1AgMep_CcmAndLtmPriority = "CcmAndLtmPriority"
+const Dot1AgMep_EgressIdentifier = "EgressIdentifier"
+const Dot1AgMep_PeerMepIds = "PeerMepIds"
+const Dot1AgMep_EthAisControl = "EthAisControl"
+const Dot1AgMep_FaultAlarmThreshold = "FaultAlarmThreshold"
+const Dot1AgMep_AlarmDeclarationSoakTime = "AlarmDeclarationSoakTime"
+const Dot1AgMep_AlarmClearSoakTime = "AlarmClearSoakTime"
+
 func init() {
 	dot1agmepBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgMep",
-		ClassID: 302,
+		ClassID: Dot1AgMepClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -153,21 +170,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("Layer2EntityPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("MaPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("MepId", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("MepControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("PrimaryVlan", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("CcmAndLtmPriority", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint64Field("EgressIdentifier", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: MultiByteField("PeerMepIds", OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: ByteField("EthAisControl", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: ByteField("FaultAlarmThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: Uint16Field("AlarmDeclarationSoakTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
-			14: Uint16Field("AlarmClearSoakTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(Dot1AgMep_Layer2EntityPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(Dot1AgMep_Layer2Type, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(Dot1AgMep_MaPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(Dot1AgMep_MepId, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(Dot1AgMep_MepControl, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(Dot1AgMep_PrimaryVlan, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(Dot1AgMep_AdministrativeState, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(Dot1AgMep_CcmAndLtmPriority, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint64Field(Dot1AgMep_EgressIdentifier, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: MultiByteField(Dot1AgMep_PeerMepIds, OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(Dot1AgMep_EthAisControl, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField(Dot1AgMep_FaultAlarmThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: Uint16Field(Dot1AgMep_AlarmDeclarationSoakTime, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			14: Uint16Field(Dot1AgMep_AlarmClearSoakTime, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go
index 71c88c5..4bae87c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1RateLimiter_ParentMePointer = "ParentMePointer"
+const Dot1RateLimiter_TpType = "TpType"
+const Dot1RateLimiter_UpstreamUnicastFloodRatePointer = "UpstreamUnicastFloodRatePointer"
+const Dot1RateLimiter_UpstreamBroadcastRatePointer = "UpstreamBroadcastRatePointer"
+const Dot1RateLimiter_UpstreamMulticastPayloadRatePointer = "UpstreamMulticastPayloadRatePointer"
+
 func init() {
 	dot1ratelimiterBME = &ManagedEntityDefinition{
 		Name:    "Dot1RateLimiter",
-		ClassID: 298,
+		ClassID: Dot1RateLimiterClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -90,12 +98,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("ParentMePointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("TpType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("UpstreamUnicastFloodRatePointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4: Uint16Field("UpstreamBroadcastRatePointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: Uint16Field("UpstreamMulticastPayloadRatePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(Dot1RateLimiter_ParentMePointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Dot1RateLimiter_TpType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(Dot1RateLimiter_UpstreamUnicastFloodRatePointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint16Field(Dot1RateLimiter_UpstreamBroadcastRatePointer, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: Uint16Field(Dot1RateLimiter_UpstreamMulticastPayloadRatePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go
index ad53d44..bb41523 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -110,27 +110,40 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1XConfigurationProfile_CircuitIdPrefix = "CircuitIdPrefix"
+const Dot1XConfigurationProfile_FallbackPolicy = "FallbackPolicy"
+const Dot1XConfigurationProfile_AuthServer1 = "AuthServer1"
+const Dot1XConfigurationProfile_SharedSecretAuth1 = "SharedSecretAuth1"
+const Dot1XConfigurationProfile_AuthServer2 = "AuthServer2"
+const Dot1XConfigurationProfile_SharedSecretAuth2 = "SharedSecretAuth2"
+const Dot1XConfigurationProfile_AuthServer3 = "AuthServer3"
+const Dot1XConfigurationProfile_SharedSecretAuth3 = "SharedSecretAuth3"
+const Dot1XConfigurationProfile_OltProxyAddress = "OltProxyAddress"
+const Dot1XConfigurationProfile_CallingStationIdFormat = "CallingStationIdFormat"
+
 func init() {
 	dot1xconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "Dot1XConfigurationProfile",
-		ClassID: 291,
+		ClassID: Dot1XConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint16Field("CircuitIdPrefix", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("FallbackPolicy", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint16Field("AuthServer1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  MultiByteField("SharedSecretAuth1", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("AuthServer2", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  MultiByteField("SharedSecretAuth2", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  Uint16Field("AuthServer3", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  MultiByteField("SharedSecretAuth3", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  Uint32Field("OltProxyAddress", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("CallingStationIdFormat", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field(Dot1XConfigurationProfile_CircuitIdPrefix, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(Dot1XConfigurationProfile_FallbackPolicy, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field(Dot1XConfigurationProfile_AuthServer1, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  MultiByteField(Dot1XConfigurationProfile_SharedSecretAuth1, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field(Dot1XConfigurationProfile_AuthServer2, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField(Dot1XConfigurationProfile_SharedSecretAuth2, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  Uint16Field(Dot1XConfigurationProfile_AuthServer3, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField(Dot1XConfigurationProfile_SharedSecretAuth3, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint32Field(Dot1XConfigurationProfile_OltProxyAddress, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(Dot1XConfigurationProfile_CallingStationIdFormat, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go
index e9d2177..8530a26 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -102,10 +102,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1XPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const Dot1XPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const Dot1XPerformanceMonitoringHistoryData_EapolFramesReceived = "EapolFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapolFramesTransmitted = "EapolFramesTransmitted"
+const Dot1XPerformanceMonitoringHistoryData_EapolStartFramesReceived = "EapolStartFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapolLogoffFramesReceived = "EapolLogoffFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_InvalidEapolFramesReceived = "InvalidEapolFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapRespIdFramesReceived = "EapRespIdFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapResponseFramesReceived = "EapResponseFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapInitialRequestFramesTransmitted = "EapInitialRequestFramesTransmitted"
+const Dot1XPerformanceMonitoringHistoryData_EapRequestFramesTransmitted = "EapRequestFramesTransmitted"
+const Dot1XPerformanceMonitoringHistoryData_EapLengthErrorFramesReceived = "EapLengthErrorFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapSuccessFramesGeneratedAutonomously = "EapSuccessFramesGeneratedAutonomously"
+const Dot1XPerformanceMonitoringHistoryData_EapFailureFramesGeneratedAutonomously = "EapFailureFramesGeneratedAutonomously"
+
 func init() {
 	dot1xperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "Dot1XPerformanceMonitoringHistoryData",
-		ClassID: 292,
+		ClassID: Dot1XPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -115,21 +132,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("EapolFramesReceived", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("EapolFramesTransmitted", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("EapolStartFramesReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("EapolLogoffFramesReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("InvalidEapolFramesReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("EapRespIdFramesReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("EapResponseFramesReceived", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("EapInitialRequestFramesTransmitted", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("EapRequestFramesTransmitted", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("EapLengthErrorFramesReceived", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("EapSuccessFramesGeneratedAutonomously", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("EapFailureFramesGeneratedAutonomously", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Dot1XPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(Dot1XPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolFramesReceived, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolFramesTransmitted, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolStartFramesReceived, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolLogoffFramesReceived, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_InvalidEapolFramesReceived, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapRespIdFramesReceived, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapResponseFramesReceived, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapInitialRequestFramesTransmitted, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapRequestFramesTransmitted, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapLengthErrorFramesReceived, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapSuccessFramesGeneratedAutonomously, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapFailureFramesGeneratedAutonomously, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go
index 8970c4a..47e147d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -167,29 +167,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1XPortExtensionPackage_Dot1XEnable = "Dot1XEnable"
+const Dot1XPortExtensionPackage_ActionRegister = "ActionRegister"
+const Dot1XPortExtensionPackage_AuthenticatorPaeState = "AuthenticatorPaeState"
+const Dot1XPortExtensionPackage_BackendAuthenticationState = "BackendAuthenticationState"
+const Dot1XPortExtensionPackage_AdminControlledDirections = "AdminControlledDirections"
+const Dot1XPortExtensionPackage_OperationalControlledDirections = "OperationalControlledDirections"
+const Dot1XPortExtensionPackage_AuthenticatorControlledPortStatus = "AuthenticatorControlledPortStatus"
+const Dot1XPortExtensionPackage_QuietPeriod = "QuietPeriod"
+const Dot1XPortExtensionPackage_ServerTimeoutPeriod = "ServerTimeoutPeriod"
+const Dot1XPortExtensionPackage_ReAuthenticationPeriod = "ReAuthenticationPeriod"
+const Dot1XPortExtensionPackage_ReAuthenticationEnabled = "ReAuthenticationEnabled"
+const Dot1XPortExtensionPackage_KeyTransmissionEnabled = "KeyTransmissionEnabled"
+
 func init() {
 	dot1xportextensionpackageBME = &ManagedEntityDefinition{
 		Name:    "Dot1XPortExtensionPackage",
-		ClassID: 290,
+		ClassID: Dot1XPortExtensionPackageClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Dot1XEnable", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("ActionRegister", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Write), false, false, false, 2),
-			3:  ByteField("AuthenticatorPaeState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  ByteField("BackendAuthenticationState", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  ByteField("AdminControlledDirections", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  ByteField("OperationalControlledDirections", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  ByteField("AuthenticatorControlledPortStatus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint16Field("QuietPeriod", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  Uint16Field("ServerTimeoutPeriod", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("ReAuthenticationPeriod", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("ReAuthenticationEnabled", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("KeyTransmissionEnabled", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Dot1XPortExtensionPackage_Dot1XEnable, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(Dot1XPortExtensionPackage_ActionRegister, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Write), false, false, false, 2),
+			3:  ByteField(Dot1XPortExtensionPackage_AuthenticatorPaeState, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField(Dot1XPortExtensionPackage_BackendAuthenticationState, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  ByteField(Dot1XPortExtensionPackage_AdminControlledDirections, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField(Dot1XPortExtensionPackage_OperationalControlledDirections, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField(Dot1XPortExtensionPackage_AuthenticatorControlledPortStatus, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint16Field(Dot1XPortExtensionPackage_QuietPeriod, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint16Field(Dot1XPortExtensionPackage_ServerTimeoutPeriod, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(Dot1XPortExtensionPackage_ReAuthenticationPeriod, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(Dot1XPortExtensionPackage_ReAuthenticationEnabled, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Dot1XPortExtensionPackage_KeyTransmissionEnabled, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go
index b569180..93f0c1b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -86,10 +86,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingGroup_GroupId = "GroupId"
+const EfmBondingGroup_MinimumUpstreamGroupRate = "MinimumUpstreamGroupRate"
+const EfmBondingGroup_MinimumDownstreamGroupRate = "MinimumDownstreamGroupRate"
+const EfmBondingGroup_GroupAlarmEnable = "GroupAlarmEnable"
+
 func init() {
 	efmbondinggroupBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroup",
-		ClassID: 418,
+		ClassID: EfmBondingGroupClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,11 +105,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("GroupId", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("MinimumUpstreamGroupRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint32Field("MinimumDownstreamGroupRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("GroupAlarmEnable", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(EfmBondingGroup_GroupId, OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(EfmBondingGroup_MinimumUpstreamGroupRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint32Field(EfmBondingGroup_MinimumDownstreamGroupRate, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(EfmBondingGroup_GroupAlarmEnable, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go
index 55a24c3..47263da 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -89,10 +89,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingGroupPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EfmBondingGroupPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxBadFragments = "RxBadFragments"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxLostFragments = "RxLostFragments"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxLostStarts = "RxLostStarts"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxLostEnds = "RxLostEnds"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxFrames = "RxFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxFrames = "TxFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxBytes = "RxBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxBytes = "TxBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedFrames = "TxDiscardedFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedBytes = "TxDiscardedBytes"
+
 func init() {
 	efmbondinggroupperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroupPerformanceMonitoringHistoryData",
-		ClassID: 420,
+		ClassID: EfmBondingGroupPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -102,19 +117,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxBadFragments", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("RxLostFragments", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("RxLostStarts", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("RxLostEnds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TxFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("RxBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("TxBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TxDiscardedFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TxDiscardedBytes", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingGroupPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingGroupPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxBadFragments, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxLostFragments, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxLostStarts, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxLostEnds, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxBytes, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxBytes, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedBytes, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
index ed3a34c..3138dbf 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -98,10 +98,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastFrames = "RxUnicastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastFrames = "TxUnicastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastBytes = "RxUnicastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastBytes = "TxUnicastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames = "RxBroadcastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames = "TxBroadcastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes = "RxBroadcastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes = "TxBroadcastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastFrames = "RxMulticastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastFrames = "TxMulticastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastBytes = "RxMulticastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastBytes = "TxMulticastBytes"
+
 func init() {
 	efmbondinggroupperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
-		ClassID: 421,
+		ClassID: EfmBondingGroupPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -111,21 +128,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxUnicastFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TxUnicastFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint64Field("RxUnicastBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint64Field("TxUnicastBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxBroadcastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TxBroadcastFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("RxBroadcastBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("TxBroadcastBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("RxMulticastFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TxMulticastFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint64Field("RxMulticastBytes", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint64Field("TxMulticastBytes", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastBytes, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastBytes, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go
index 4df2d36..a38e1c5 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingLink_AssociatedGroupMeId = "AssociatedGroupMeId"
+const EfmBondingLink_LinkAlarmEnable = "LinkAlarmEnable"
+
 func init() {
 	efmbondinglinkBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingLink",
-		ClassID: 419,
+		ClassID: EfmBondingLinkClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,9 +89,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("AssociatedGroupMeId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("LinkAlarmEnable", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(EfmBondingLink_AssociatedGroupMeId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(EfmBondingLink_LinkAlarmEnable, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go
index 2ef9f2a..f0721e3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingLinkPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EfmBondingLinkPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxErroredFragments = "RxErroredFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxSmallFragments = "RxSmallFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxLargeFragments = "RxLargeFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxDiscardedFragments = "RxDiscardedFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxFcsErrors = "RxFcsErrors"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxCodingErrors = "RxCodingErrors"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxFragments = "RxFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_TxFragments = "TxFragments"
+
 func init() {
 	efmbondinglinkperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingLinkPerformanceMonitoringHistoryData",
-		ClassID: 422,
+		ClassID: EfmBondingLinkPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,17 +105,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxErroredFragments", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("RxSmallFragments", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("RxLargeFragments", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("RxDiscardedFragments", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxFcsErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("RxCodingErrors", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("RxFragments", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TxFragments", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingLinkPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingLinkPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxErroredFragments, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxSmallFragments, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxLargeFragments, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxDiscardedFragments, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxFcsErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxCodingErrors, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxFragments, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_TxFragments, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go
index 6585ce3..90fe2b6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingPortPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EfmBondingPortPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingPortPerformanceMonitoringHistoryData_RxFrames = "RxFrames"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxFrames = "TxFrames"
+const EfmBondingPortPerformanceMonitoringHistoryData_RxBytes = "RxBytes"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxBytes = "TxBytes"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedFrames = "TxDiscardedFrames"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedBytes = "TxDiscardedBytes"
+
 func init() {
 	efmbondingportperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingPortPerformanceMonitoringHistoryData",
-		ClassID: 423,
+		ClassID: EfmBondingPortPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,15 +102,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("RxFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("TxFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("RxBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("TxBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("TxDiscardedFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("TxDiscardedBytes", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EfmBondingPortPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EfmBondingPortPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_RxFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_RxBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedBytes, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go
index f2a1f15..767228b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -99,10 +99,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastFrames = "RxUnicastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastFrames = "TxUnicastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastBytes = "RxUnicastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastBytes = "TxUnicastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames = "RxBroadcastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames = "TxBroadcastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes = "RxBroadcastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes = "TxBroadcastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastFrames = "RxMulticastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastFrames = "TxMulticastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastBytes = "RxMulticastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastBytes = "TxMulticastBytes"
+
 func init() {
 	efmbondingportperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
-		ClassID: 424,
+		ClassID: EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -112,21 +129,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxUnicastFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TxUnicastFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("RxUnicastBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TxUnicastBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxBroadcastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TxBroadcastFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("RxBroadcastBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TxBroadcastBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("RxMulticastFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TxMulticastFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("RxMulticastBytes", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TxMulticastBytes", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingPortPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastBytes, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastBytes, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go
index d831e3e..7bf30a9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnergyConsumptionPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EnergyConsumptionPerformanceMonitoringHistoryData_DozeTime = "DozeTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_CyclicSleepTime = "CyclicSleepTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_WatchfulSleepTime = "WatchfulSleepTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_EnergyConsumed = "EnergyConsumed"
+
 func init() {
 	energyconsumptionperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EnergyConsumptionPerformanceMonitoringHistoryData",
-		ClassID: 343,
+		ClassID: EnergyConsumptionPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,13 +100,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("DozeTime", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CyclicSleepTime", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("WatchfulSleepTime", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("EnergyConsumed", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EnergyConsumptionPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EnergyConsumptionPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_DozeTime, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_CyclicSleepTime, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_WatchfulSleepTime, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_EnergyConsumed, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go
index b3da774..0c3ac9f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -77,10 +77,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnhancedFecPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EnhancedFecPerformanceMonitoringHistoryData_ThresholdData64BitId = "ThresholdData64BitId"
+const EnhancedFecPerformanceMonitoringHistoryData_CorrectedBytes = "CorrectedBytes"
+const EnhancedFecPerformanceMonitoringHistoryData_CorrectedCodeWords = "CorrectedCodeWords"
+const EnhancedFecPerformanceMonitoringHistoryData_UncorrectableCodeWords = "UncorrectableCodeWords"
+const EnhancedFecPerformanceMonitoringHistoryData_TotalCodeWords = "TotalCodeWords"
+const EnhancedFecPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+
 func init() {
 	enhancedfecperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EnhancedFecPerformanceMonitoringHistoryData",
-		ClassID: 453,
+		ClassID: EnhancedFecPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -90,14 +100,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint64Field("CorrectedBytes", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint64Field("CorrectedCodeWords", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint64Field("UncorrectableCodeWords", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint64Field("TotalCodeWords", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("FecSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EnhancedFecPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EnhancedFecPerformanceMonitoringHistoryData_ThresholdData64BitId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_CorrectedBytes, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_CorrectedCodeWords, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_UncorrectableCodeWords, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_TotalCodeWords, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(EnhancedFecPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go
index 7c2948a..5c74bb0 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -238,10 +238,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnhancedSecurityControl_OltCryptoCapabilities = "OltCryptoCapabilities"
+const EnhancedSecurityControl_OltRandomChallengeTable = "OltRandomChallengeTable"
+const EnhancedSecurityControl_OltChallengeStatus = "OltChallengeStatus"
+const EnhancedSecurityControl_OnuSelectedCryptoCapabilities = "OnuSelectedCryptoCapabilities"
+const EnhancedSecurityControl_OnuRandomChallengeTable = "OnuRandomChallengeTable"
+const EnhancedSecurityControl_OnuAuthenticationResultTable = "OnuAuthenticationResultTable"
+const EnhancedSecurityControl_OltAuthenticationResultTable = "OltAuthenticationResultTable"
+const EnhancedSecurityControl_OltResultStatus = "OltResultStatus"
+const EnhancedSecurityControl_OnuAuthenticationStatus = "OnuAuthenticationStatus"
+const EnhancedSecurityControl_MasterSessionKeyName = "MasterSessionKeyName"
+const EnhancedSecurityControl_BroadcastKeyTable = "BroadcastKeyTable"
+const EnhancedSecurityControl_EffectiveKeyLength = "EffectiveKeyLength"
+
 func init() {
 	enhancedsecuritycontrolBME = &ManagedEntityDefinition{
 		Name:    "EnhancedSecurityControl",
-		ClassID: 332,
+		ClassID: EnhancedSecurityControlClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -249,19 +264,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("OltCryptoCapabilities", OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 1),
-			2:  TableField("OltRandomChallengeTable", TableAttributeType, 0x4000, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OltChallengeStatus", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("OnuSelectedCryptoCapabilities", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  TableField("OnuRandomChallengeTable", TableAttributeType, 0x0800, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 5),
-			6:  TableField("OnuAuthenticationResultTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 6),
-			7:  TableField("OltAuthenticationResultTable", TableAttributeType, 0x0200, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("OltResultStatus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("OnuAuthenticationStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
-			10: MultiByteField("MasterSessionKeyName", OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
-			11: TableField("BroadcastKeyTable", TableAttributeType, 0x0020, TableInfo{nil, 18}, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("EffectiveKeyLength", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(EnhancedSecurityControl_OltCryptoCapabilities, OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 1),
+			2:  TableField(EnhancedSecurityControl_OltRandomChallengeTable, TableAttributeType, 0x4000, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(EnhancedSecurityControl_OltChallengeStatus, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(EnhancedSecurityControl_OnuSelectedCryptoCapabilities, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  TableField(EnhancedSecurityControl_OnuRandomChallengeTable, TableAttributeType, 0x0800, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 5),
+			6:  TableField(EnhancedSecurityControl_OnuAuthenticationResultTable, TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 6),
+			7:  TableField(EnhancedSecurityControl_OltAuthenticationResultTable, TableAttributeType, 0x0200, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(EnhancedSecurityControl_OltResultStatus, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(EnhancedSecurityControl_OnuAuthenticationStatus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: MultiByteField(EnhancedSecurityControl_MasterSessionKeyName, OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
+			11: TableField(EnhancedSecurityControl_BroadcastKeyTable, TableAttributeType, 0x0020, TableInfo{nil, 18}, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field(EnhancedSecurityControl_EffectiveKeyLength, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go
index ddc1605..9c51d30 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -121,10 +121,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnhancedTcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EnhancedTcPerformanceMonitoringHistoryData_ThresholdData64BitId = "ThresholdData64BitId"
+const EnhancedTcPerformanceMonitoringHistoryData_PsbdHecErrorCount = "PsbdHecErrorCount"
+const EnhancedTcPerformanceMonitoringHistoryData_XgtcHecErrorCount = "XgtcHecErrorCount"
+const EnhancedTcPerformanceMonitoringHistoryData_UnknownProfileCount = "UnknownProfileCount"
+const EnhancedTcPerformanceMonitoringHistoryData_TransmittedXgemFrames = "TransmittedXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_FragmentXgemFrames = "FragmentXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount = "XgemHecLostWordsCount"
+const EnhancedTcPerformanceMonitoringHistoryData_XgemKeyErrors = "XgemKeyErrors"
+const EnhancedTcPerformanceMonitoringHistoryData_XgemHecErrorCount = "XgemHecErrorCount"
+const EnhancedTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames = "TransmittedBytesInNonIdleXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames = "ReceivedBytesInNonIdleXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_LodsEventCount = "LodsEventCount"
+const EnhancedTcPerformanceMonitoringHistoryData_LodsEventRestoredCount = "LodsEventRestoredCount"
+const EnhancedTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents = "OnuReactivationByLodsEvents"
+
 func init() {
 	enhancedtcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EnhancedTcPerformanceMonitoringHistoryData",
-		ClassID: 454,
+		ClassID: EnhancedTcPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -134,22 +152,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint64Field("TransmittedXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint64Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint64Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint64Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("LodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EnhancedTcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EnhancedTcPerformanceMonitoringHistoryData_ThresholdData64BitId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_PsbdHecErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_XgtcHecErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_UnknownProfileCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_TransmittedXgemFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_FragmentXgemFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_XgemKeyErrors, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_XgemHecErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_LodsEventCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_LodsEventRestoredCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go
index 8ee5afc..a1be9fb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,25 +83,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodWindow = "ErroredSymbolPeriodWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodThreshold = "ErroredSymbolPeriodThreshold"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameWindow = "ErroredFrameWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameThreshold = "ErroredFrameThreshold"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodWindow = "ErroredFramePeriodWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodThreshold = "ErroredFramePeriodThreshold"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryWindow = "ErroredFrameSecondsSummaryWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryThreshold = "ErroredFrameSecondsSummaryThreshold"
+
 func init() {
 	epondownstreamperformancemonitoringconfigurationBME = &ManagedEntityDefinition{
 		Name:    "EponDownstreamPerformanceMonitoringConfiguration",
-		ClassID: 406,
+		ClassID: EponDownstreamPerformanceMonitoringConfigurationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint64Field("ErroredSymbolPeriodWindow", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: Uint64Field("ErroredSymbolPeriodThreshold", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("ErroredFrameWindow", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint32Field("ErroredFrameThreshold", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint32Field("ErroredFramePeriodWindow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6: Uint32Field("ErroredFramePeriodThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7: Uint16Field("ErroredFrameSecondsSummaryWindow", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8: Uint16Field("ErroredFrameSecondsSummaryThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint64Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodWindow, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint64Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodThreshold, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameWindow, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint32Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameThreshold, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint32Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodWindow, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6: Uint32Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodThreshold, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: Uint16Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryWindow, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: Uint16Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryThreshold, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go
index 22bca67..c37dc0b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -90,19 +90,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EquipmentExtensionPackage_EnvironmentalSense = "EnvironmentalSense"
+const EquipmentExtensionPackage_ContactClosureOutput = "ContactClosureOutput"
+
 func init() {
 	equipmentextensionpackageBME = &ManagedEntityDefinition{
 		Name:    "EquipmentExtensionPackage",
-		ClassID: 160,
+		ClassID: EquipmentExtensionPackageClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("EnvironmentalSense", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: Uint16Field("ContactClosureOutput", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(EquipmentExtensionPackage_EnvironmentalSense, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint16Field(EquipmentExtensionPackage_ContactClosureOutput, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go
index d2401d8..0225950 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -82,10 +82,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFlowTerminationPoint_DestinationMac = "DestinationMac"
+const EthernetFlowTerminationPoint_SourceMac = "SourceMac"
+const EthernetFlowTerminationPoint_TagPolicy = "TagPolicy"
+const EthernetFlowTerminationPoint_Tci = "Tci"
+const EthernetFlowTerminationPoint_Loopback = "Loopback"
+
 func init() {
 	ethernetflowterminationpointBME = &ManagedEntityDefinition{
 		Name:    "EthernetFlowTerminationPoint",
-		ClassID: 286,
+		ClassID: EthernetFlowTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,12 +102,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("DestinationMac", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: MultiByteField("SourceMac", OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("TagPolicy", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("Tci", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: ByteField("Loopback", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(EthernetFlowTerminationPoint_DestinationMac, OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: MultiByteField(EthernetFlowTerminationPoint_SourceMac, OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(EthernetFlowTerminationPoint_TagPolicy, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(EthernetFlowTerminationPoint_Tci, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField(EthernetFlowTerminationPoint_Loopback, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go
index bad6912..215ebc1 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -203,10 +203,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFrameExtendedPm_IntervalEndTime = "IntervalEndTime"
+const EthernetFrameExtendedPm_ControlBlock = "ControlBlock"
+const EthernetFrameExtendedPm_DropEvents = "DropEvents"
+const EthernetFrameExtendedPm_Octets = "Octets"
+const EthernetFrameExtendedPm_Frames = "Frames"
+const EthernetFrameExtendedPm_BroadcastFrames = "BroadcastFrames"
+const EthernetFrameExtendedPm_MulticastFrames = "MulticastFrames"
+const EthernetFrameExtendedPm_CrcErroredFrames = "CrcErroredFrames"
+const EthernetFrameExtendedPm_UndersizeFrames = "UndersizeFrames"
+const EthernetFrameExtendedPm_OversizeFrames = "OversizeFrames"
+const EthernetFrameExtendedPm_Frames64Octets = "Frames64Octets"
+const EthernetFrameExtendedPm_Frames65To127Octets = "Frames65To127Octets"
+const EthernetFrameExtendedPm_Frames128To255Octets = "Frames128To255Octets"
+const EthernetFrameExtendedPm_Frames256To511Octets = "Frames256To511Octets"
+const EthernetFrameExtendedPm_Frames512To1023Octets = "Frames512To1023Octets"
+const EthernetFrameExtendedPm_Frames1024To1518Octets = "Frames1024To1518Octets"
+
 func init() {
 	ethernetframeextendedpmBME = &ManagedEntityDefinition{
 		Name:    "EthernetFrameExtendedPm",
-		ClassID: 334,
+		ClassID: EthernetFrameExtendedPmClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -216,23 +235,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  MultiByteField("ControlBlock", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Frames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("CrcErroredFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("UndersizeFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("OversizeFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Frames64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Frames65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Frames128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Frames256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Frames512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Frames1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFrameExtendedPm_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField(EthernetFrameExtendedPm_ControlBlock, OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetFrameExtendedPm_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetFrameExtendedPm_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetFrameExtendedPm_Frames, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetFrameExtendedPm_BroadcastFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetFrameExtendedPm_MulticastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetFrameExtendedPm_CrcErroredFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetFrameExtendedPm_UndersizeFrames, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetFrameExtendedPm_OversizeFrames, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetFrameExtendedPm_Frames64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetFrameExtendedPm_Frames65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetFrameExtendedPm_Frames128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetFrameExtendedPm_Frames256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetFrameExtendedPm_Frames512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetFrameExtendedPm_Frames1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go
index 4d3eb90..b4d333f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -202,10 +202,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFrameExtendedPm64Bit_IntervalEndTime = "IntervalEndTime"
+const EthernetFrameExtendedPm64Bit_ControlBlock = "ControlBlock"
+const EthernetFrameExtendedPm64Bit_DropEvents = "DropEvents"
+const EthernetFrameExtendedPm64Bit_Octets = "Octets"
+const EthernetFrameExtendedPm64Bit_Frames = "Frames"
+const EthernetFrameExtendedPm64Bit_BroadcastFrames = "BroadcastFrames"
+const EthernetFrameExtendedPm64Bit_MulticastFrames = "MulticastFrames"
+const EthernetFrameExtendedPm64Bit_CrcErroredFrames = "CrcErroredFrames"
+const EthernetFrameExtendedPm64Bit_UndersizeFrames = "UndersizeFrames"
+const EthernetFrameExtendedPm64Bit_OversizeFrames = "OversizeFrames"
+const EthernetFrameExtendedPm64Bit_Frames64Octets = "Frames64Octets"
+const EthernetFrameExtendedPm64Bit_Frames65To127Octets = "Frames65To127Octets"
+const EthernetFrameExtendedPm64Bit_Frames128To255Octets = "Frames128To255Octets"
+const EthernetFrameExtendedPm64Bit_Frames256To511Octets = "Frames256To511Octets"
+const EthernetFrameExtendedPm64Bit_Frames512To1023Octets = "Frames512To1023Octets"
+const EthernetFrameExtendedPm64Bit_Frames1024To1518Octets = "Frames1024To1518Octets"
+
 func init() {
 	ethernetframeextendedpm64bitBME = &ManagedEntityDefinition{
 		Name:    "EthernetFrameExtendedPm64Bit",
-		ClassID: 425,
+		ClassID: EthernetFrameExtendedPm64BitClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -215,23 +234,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  MultiByteField("ControlBlock", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint64Field("Frames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint64Field("BroadcastFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint64Field("MulticastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint64Field("CrcErroredFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("UndersizeFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("OversizeFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint64Field("Frames64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint64Field("Frames65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint64Field("Frames128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint64Field("Frames256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint64Field("Frames512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint64Field("Frames1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFrameExtendedPm64Bit_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField(EthernetFrameExtendedPm64Bit_ControlBlock, OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(EthernetFrameExtendedPm64Bit_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(EthernetFrameExtendedPm64Bit_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field(EthernetFrameExtendedPm64Bit_Frames, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field(EthernetFrameExtendedPm64Bit_BroadcastFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field(EthernetFrameExtendedPm64Bit_MulticastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint64Field(EthernetFrameExtendedPm64Bit_CrcErroredFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(EthernetFrameExtendedPm64Bit_UndersizeFrames, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EthernetFrameExtendedPm64Bit_OversizeFrames, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field(EthernetFrameExtendedPm64Bit_Frames64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field(EthernetFrameExtendedPm64Bit_Frames65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint64Field(EthernetFrameExtendedPm64Bit_Frames128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint64Field(EthernetFrameExtendedPm64Bit_Frames256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint64Field(EthernetFrameExtendedPm64Bit_Frames512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint64Field(EthernetFrameExtendedPm64Bit_Frames1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
index de3bb40..b1101a8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -116,10 +116,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime = "IntervalEndTime"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id = "ThresholdData12Id"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents = "DropEvents"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets = "Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets = "Packets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets = "BroadcastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets = "MulticastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets = "CrcErroredPackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets = "UndersizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets = "OversizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets = "Packets64Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets = "Packets65To127Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets = "Packets128To255Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets = "Packets256To511Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets = "Packets512To1023Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets = "Packets1024To1518Octets"
+
 func init() {
 	ethernetframeperformancemonitoringhistorydatadownstreamBME = &ManagedEntityDefinition{
 		Name:    "EthernetFramePerformanceMonitoringHistoryDataDownstream",
-		ClassID: 321,
+		ClassID: EthernetFramePerformanceMonitoringHistoryDataDownstreamClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -129,23 +148,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("CrcErroredPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("OversizePackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go
index 6970c10..54cf90f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -124,10 +124,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime = "IntervalEndTime"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id = "ThresholdData12Id"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents = "DropEvents"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets = "Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets = "Packets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets = "BroadcastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets = "MulticastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets = "CrcErroredPackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets = "UndersizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets = "OversizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets = "Packets64Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets = "Packets65To127Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets = "Packets128To255Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets = "Packets256To511Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets = "Packets512To1023Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets = "Packets1024To1518Octets"
+
 func init() {
 	ethernetframeperformancemonitoringhistorydataupstreamBME = &ManagedEntityDefinition{
 		Name:    "EthernetFramePerformanceMonitoringHistoryDataUpstream",
-		ClassID: 322,
+		ClassID: EthernetFramePerformanceMonitoringHistoryDataUpstreamClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -137,23 +156,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("CrcErroredPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("OversizePackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go
index 37e2876..ea56521 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,10 +118,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EthernetPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EthernetPerformanceMonitoringHistoryData_FcsErrors = "FcsErrors"
+const EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter = "ExcessiveCollisionCounter"
+const EthernetPerformanceMonitoringHistoryData_LateCollisionCounter = "LateCollisionCounter"
+const EthernetPerformanceMonitoringHistoryData_FramesTooLong = "FramesTooLong"
+const EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive = "BufferOverflowsOnReceive"
+const EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit = "BufferOverflowsOnTransmit"
+const EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter = "SingleCollisionFrameCounter"
+const EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter = "MultipleCollisionsFrameCounter"
+const EthernetPerformanceMonitoringHistoryData_SqeCounter = "SqeCounter"
+const EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter = "DeferredTransmissionCounter"
+const EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter = "InternalMacTransmitErrorCounter"
+const EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter = "CarrierSenseErrorCounter"
+const EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter = "AlignmentErrorCounter"
+const EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter = "InternalMacReceiveErrorCounter"
+
 func init() {
 	ethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EthernetPerformanceMonitoringHistoryData",
-		ClassID: 24,
+		ClassID: EthernetPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -131,23 +150,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("FcsErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("ExcessiveCollisionCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("LateCollisionCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("FramesTooLong", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("BufferOverflowsOnReceive", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("BufferOverflowsOnTransmit", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("SingleCollisionFrameCounter", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("MultipleCollisionsFrameCounter", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("SqeCounter", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("DeferredTransmissionCounter", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("InternalMacTransmitErrorCounter", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("CarrierSenseErrorCounter", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("AlignmentErrorCounter", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("InternalMacReceiveErrorCounter", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetPerformanceMonitoringHistoryData_FcsErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetPerformanceMonitoringHistoryData_LateCollisionCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetPerformanceMonitoringHistoryData_FramesTooLong, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetPerformanceMonitoringHistoryData_SqeCounter, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go
index 6bb6fa1..93068cf 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -64,10 +64,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPerformanceMonitoringHistoryData2_IntervalEndTime = "IntervalEndTime"
+const EthernetPerformanceMonitoringHistoryData2_ThresholdData12Id = "ThresholdData12Id"
+const EthernetPerformanceMonitoringHistoryData2_PppoeFilteredFrameCounter = "PppoeFilteredFrameCounter"
+
 func init() {
 	ethernetperformancemonitoringhistorydata2BME = &ManagedEntityDefinition{
 		Name:    "EthernetPerformanceMonitoringHistoryData2",
-		ClassID: 89,
+		ClassID: EthernetPerformanceMonitoringHistoryData2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -77,10 +83,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("PppoeFilteredFrameCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EthernetPerformanceMonitoringHistoryData2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EthernetPerformanceMonitoringHistoryData2_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(EthernetPerformanceMonitoringHistoryData2_PppoeFilteredFrameCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go
index 8149d84..d09db2b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -133,10 +133,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPerformanceMonitoringHistoryData3_IntervalEndTime = "IntervalEndTime"
+const EthernetPerformanceMonitoringHistoryData3_ThresholdData12Id = "ThresholdData12Id"
+const EthernetPerformanceMonitoringHistoryData3_DropEvents = "DropEvents"
+const EthernetPerformanceMonitoringHistoryData3_Octets = "Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets = "Packets"
+const EthernetPerformanceMonitoringHistoryData3_BroadcastPackets = "BroadcastPackets"
+const EthernetPerformanceMonitoringHistoryData3_MulticastPackets = "MulticastPackets"
+const EthernetPerformanceMonitoringHistoryData3_UndersizePackets = "UndersizePackets"
+const EthernetPerformanceMonitoringHistoryData3_Fragments = "Fragments"
+const EthernetPerformanceMonitoringHistoryData3_Jabbers = "Jabbers"
+const EthernetPerformanceMonitoringHistoryData3_Packets64Octets = "Packets64Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets65To127Octets = "Packets65To127Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets128To255Octets = "Packets128To255Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets256To511Octets = "Packets256To511Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets512To1023Octets = "Packets512To1023Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets1024To1518Octets = "Packets1024To1518Octets"
+
 func init() {
 	ethernetperformancemonitoringhistorydata3BME = &ManagedEntityDefinition{
 		Name:    "EthernetPerformanceMonitoringHistoryData3",
-		ClassID: 296,
+		ClassID: EthernetPerformanceMonitoringHistoryData3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -146,23 +165,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("Fragments", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("Jabbers", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetPerformanceMonitoringHistoryData3_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetPerformanceMonitoringHistoryData3_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_BroadcastPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_MulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_UndersizePackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_Fragments, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Jabbers, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go
index cd64e28..a6dd980 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -54,10 +54,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPseudowireParameters_Mtu = "Mtu"
+
 func init() {
 	ethernetpseudowireparametersBME = &ManagedEntityDefinition{
 		Name:    "EthernetPseudowireParameters",
-		ClassID: 400,
+		ClassID: EthernetPseudowireParametersClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -66,8 +70,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("Mtu", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(EthernetPseudowireParameters_Mtu, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go
index 0487c71..d72f000 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -554,10 +554,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ExtendedVlanTaggingOperationConfigurationData_AssociationType = "AssociationType"
+const ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTableMaxSize = "ReceivedFrameVlanTaggingOperationTableMaxSize"
+const ExtendedVlanTaggingOperationConfigurationData_InputTpid = "InputTpid"
+const ExtendedVlanTaggingOperationConfigurationData_OutputTpid = "OutputTpid"
+const ExtendedVlanTaggingOperationConfigurationData_DownstreamMode = "DownstreamMode"
+const ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable = "ReceivedFrameVlanTaggingOperationTable"
+const ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer = "AssociatedMePointer"
+const ExtendedVlanTaggingOperationConfigurationData_DscpToPBitMapping = "DscpToPBitMapping"
+const ExtendedVlanTaggingOperationConfigurationData_EnhancedMode = "EnhancedMode"
+const ExtendedVlanTaggingOperationConfigurationData_EnhancedReceivedFrameClassificationAndProcessingTable = "EnhancedReceivedFrameClassificationAndProcessingTable"
+
 func init() {
 	extendedvlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "ExtendedVlanTaggingOperationConfigurationData",
-		ClassID: 171,
+		ClassID: ExtendedVlanTaggingOperationConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -568,17 +581,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("AssociationType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("InputTpid", UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("OutputTpid", UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("DownstreamMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  TableField("ReceivedFrameVlanTaggingOperationTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("EnhancedMode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 9),
-			10: TableField("EnhancedReceivedFrameClassificationAndProcessingTable", TableAttributeType, 0x0040, TableInfo{nil, 28}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(ExtendedVlanTaggingOperationConfigurationData_AssociationType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTableMaxSize, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_InputTpid, UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_OutputTpid, UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(ExtendedVlanTaggingOperationConfigurationData_DownstreamMode, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  TableField(ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable, TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  MultiByteField(ExtendedVlanTaggingOperationConfigurationData_DscpToPBitMapping, OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(ExtendedVlanTaggingOperationConfigurationData_EnhancedMode, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 9),
+			10: TableField(ExtendedVlanTaggingOperationConfigurationData_EnhancedReceivedFrameClassificationAndProcessingTable, TableAttributeType, 0x0040, TableInfo{nil, 28}, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go
index 72d15d6..bd52332 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -40,6 +40,10 @@
 //		1.
 //
 //	Attributes
+//		Managed Entity Id
+//			This attribute uniquely identifies each instance of this ME. The value 0 is reserved. (R, set-
+//			by-create) (mandatory) (2 bytes)
+//
 //		Maximum Net Data Rate Maxndr
 //			Maximum net data rate (MAXNDR): This attribute specifies the value of the maximum net data rate.
 //			See clause 11.4.2.2 of [ITU-T G.9701]. Valid values range from 0 (0-kbit/s) to 4294967295
@@ -126,29 +130,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastChannelConfigurationProfile_MaximumNetDataRateMaxndr = "MaximumNetDataRateMaxndr"
+const FastChannelConfigurationProfile_MinimumExpectedThroughputMinetr = "MinimumExpectedThroughputMinetr"
+const FastChannelConfigurationProfile_MaximumGammaDataRateMaxgdr = "MaximumGammaDataRateMaxgdr"
+const FastChannelConfigurationProfile_MinimumGammaDataRateMingdr = "MinimumGammaDataRateMingdr"
+const FastChannelConfigurationProfile_MaximumDelayDelaymax = "MaximumDelayDelaymax"
+const FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstShineInpminShine = "MinimumImpulseNoiseProtectionAgainstShineInpminShine"
+const FastChannelConfigurationProfile_ShineRatioShineratio = "ShineRatioShineratio"
+const FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstReinInpminRein = "MinimumImpulseNoiseProtectionAgainstReinInpminRein"
+const FastChannelConfigurationProfile_ReinInterArrivalTimeIatRein = "ReinInterArrivalTimeIatRein"
+const FastChannelConfigurationProfile_MinimumReedSolomonRfecNfecRatioRnratio = "MinimumReedSolomonRfecNfecRatioRnratio"
+const FastChannelConfigurationProfile_RtxTcTestmodeRtxTestmode = "RtxTcTestmodeRtxTestmode"
+
 func init() {
 	fastchannelconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "FastChannelConfigurationProfile",
-		ClassID: 432,
+		ClassID: FastChannelConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0xffc0,
+		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint32Field("MaximumNetDataRateMaxndr", UnknownAttributeType, 0x0000, 0, mapset.NewSetWith(Read, Write), false, false, false, 0),
-			1:  Uint32Field("MinimumExpectedThroughputMinetr", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  Uint32Field("MaximumGammaDataRateMaxgdr", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint32Field("MinimumGammaDataRateMingdr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint32Field("MaximumDelayDelaymax", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("MinimumImpulseNoiseProtectionAgainstShineInpminShine", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("ShineRatioShineratio", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("MinimumImpulseNoiseProtectionAgainstReinInpminRein", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("ReinInterArrivalTimeIatRein", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("MinimumReedSolomonRfecNfecRatioRnratio", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("RtxTcTestmodeRtxTestmode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field(FastChannelConfigurationProfile_MaximumNetDataRateMaxndr, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint32Field(FastChannelConfigurationProfile_MinimumExpectedThroughputMinetr, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint32Field(FastChannelConfigurationProfile_MaximumGammaDataRateMaxgdr, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint32Field(FastChannelConfigurationProfile_MinimumGammaDataRateMingdr, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint32Field(FastChannelConfigurationProfile_MaximumDelayDelaymax, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstShineInpminShine, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(FastChannelConfigurationProfile_ShineRatioShineratio, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstReinInpminRein, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(FastChannelConfigurationProfile_ReinInterArrivalTimeIatRein, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(FastChannelConfigurationProfile_MinimumReedSolomonRfecNfecRatioRnratio, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(FastChannelConfigurationProfile_RtxTcTestmodeRtxTestmode, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go
index f7d9546..b759115 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -54,10 +54,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastDataPathConfigurationProfile_TpsTcTestmodeTpsTestmode = "TpsTcTestmodeTpsTestmode"
+
 func init() {
 	fastdatapathconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "FastDataPathConfigurationProfile",
-		ClassID: 433,
+		ClassID: FastDataPathConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -66,8 +70,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("TpsTcTestmodeTpsTestmode", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastDataPathConfigurationProfile_TpsTcTestmodeTpsTestmode, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go
index ae25b7f..a90dd37 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,21 +83,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads = "DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus = "DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads = "DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus = "DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga = "DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga"
+
 func init() {
 	fastlineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
 		Name:    "FastLineInventoryAndStatusDataPart2",
-		ClassID: 436,
+		ClassID: FastLineInventoryAndStatusDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
-			2: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus", OctetsAttributeType, 0x4000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
-			3: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads", OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
-			4: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus", OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
-			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga", OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads, OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
+			2: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus, OctetsAttributeType, 0x4000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
+			3: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads, OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus, OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga, OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go
index acbe8d3..2697de5 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -62,10 +62,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingUpstreamFextToCancelEnableus = "FextCancellationEnablingDisablingUpstreamFextToCancelEnableus"
+const FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingDownstreamFextToCancelEnableds = "FextCancellationEnablingDisablingDownstreamFextToCancelEnableds"
+
 func init() {
 	fastvectoringlineconfigurationextensionsBME = &ManagedEntityDefinition{
 		Name:    "FastVectoringLineConfigurationExtensions",
-		ClassID: 434,
+		ClassID: FastVectoringLineConfigurationExtensionsClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -74,9 +79,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("FextCancellationEnablingDisablingUpstreamFextToCancelEnableus", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("FextCancellationEnablingDisablingDownstreamFextToCancelEnableds", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingUpstreamFextToCancelEnableus, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingDownstreamFextToCancelEnableds, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go
index 0c2d554..a701cee 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastXtuCPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const FastXtuCPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const FastXtuCPerformanceMonitoringHistoryData_SuccessfulFraCounter = "SuccessfulFraCounter"
+const FastXtuCPerformanceMonitoringHistoryData_SuccessfulRpaCounter = "SuccessfulRpaCounter"
+const FastXtuCPerformanceMonitoringHistoryData_SuccessfulTigaCounter = "SuccessfulTigaCounter"
+
 func init() {
 	fastxtucperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "FastXtuCPerformanceMonitoringHistoryData",
-		ClassID: 437,
+		ClassID: FastXtuCPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,12 +92,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SuccessfulFraCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("SuccessfulRpaCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint32Field("SuccessfulTigaCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastXtuCPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(FastXtuCPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(FastXtuCPerformanceMonitoringHistoryData_SuccessfulFraCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(FastXtuCPerformanceMonitoringHistoryData_SuccessfulRpaCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field(FastXtuCPerformanceMonitoringHistoryData_SuccessfulTigaCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go
index 579f46f..5d2bde7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -67,10 +67,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastXtuRPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const FastXtuRPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const FastXtuRPerformanceMonitoringHistoryData_SuccessfulFraCounter = "SuccessfulFraCounter"
+const FastXtuRPerformanceMonitoringHistoryData_SuccessfulRpaCounter = "SuccessfulRpaCounter"
+
 func init() {
 	fastxturperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "FastXtuRPerformanceMonitoringHistoryData",
-		ClassID: 438,
+		ClassID: FastXtuRPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -79,11 +86,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SuccessfulFraCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("SuccessfulRpaCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastXtuRPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(FastXtuRPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(FastXtuRPerformanceMonitoringHistoryData_SuccessfulFraCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(FastXtuRPerformanceMonitoringHistoryData_SuccessfulRpaCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go
index 1633e36..c39ff6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FecPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const FecPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const FecPerformanceMonitoringHistoryData_CorrectedBytes = "CorrectedBytes"
+const FecPerformanceMonitoringHistoryData_CorrectedCodeWords = "CorrectedCodeWords"
+const FecPerformanceMonitoringHistoryData_UncorrectableCodeWords = "UncorrectableCodeWords"
+const FecPerformanceMonitoringHistoryData_TotalCodeWords = "TotalCodeWords"
+const FecPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+
 func init() {
 	fecperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "FecPerformanceMonitoringHistoryData",
-		ClassID: 312,
+		ClassID: FecPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,14 +101,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CorrectedBytes", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CorrectedCodeWords", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("UncorrectableCodeWords", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("TotalCodeWords", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("FecSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FecPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(FecPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(FecPerformanceMonitoringHistoryData_CorrectedBytes, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(FecPerformanceMonitoringHistoryData_CorrectedCodeWords, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(FecPerformanceMonitoringHistoryData_UncorrectableCodeWords, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(FecPerformanceMonitoringHistoryData_TotalCodeWords, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(FecPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go
index 808da29..6d3846a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -62,10 +62,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GalEthernetPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const GalEthernetPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const GalEthernetPerformanceMonitoringHistoryData_DiscardedFrames = "DiscardedFrames"
+
 func init() {
 	galethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "GalEthernetPerformanceMonitoringHistoryData",
-		ClassID: 276,
+		ClassID: GalEthernetPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -75,10 +81,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("DiscardedFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(GalEthernetPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(GalEthernetPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(GalEthernetPerformanceMonitoringHistoryData_DiscardedFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go
index 9521dc6..ea44cee 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -55,10 +55,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GalEthernetProfile_MaximumGemPayloadSize = "MaximumGemPayloadSize"
+
 func init() {
 	galethernetprofileBME = &ManagedEntityDefinition{
 		Name:    "GalEthernetProfile",
-		ClassID: 272,
+		ClassID: GalEthernetProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -67,8 +71,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MaximumGemPayloadSize", UnsignedIntegerAttributeType, 0x8000, 48, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(GalEthernetProfile_MaximumGemPayloadSize, UnsignedIntegerAttributeType, 0x8000, 48, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go
index 575d6f9..c0c9142 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -151,10 +151,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer = "GemPortNetworkCtpConnectivityPointer"
+const GemInterworkingTerminationPoint_InterworkingOption = "InterworkingOption"
+const GemInterworkingTerminationPoint_ServiceProfilePointer = "ServiceProfilePointer"
+const GemInterworkingTerminationPoint_InterworkingTerminationPointPointer = "InterworkingTerminationPointPointer"
+const GemInterworkingTerminationPoint_PptpCounter = "PptpCounter"
+const GemInterworkingTerminationPoint_OperationalState = "OperationalState"
+const GemInterworkingTerminationPoint_GalProfilePointer = "GalProfilePointer"
+const GemInterworkingTerminationPoint_GalLoopbackConfiguration = "GalLoopbackConfiguration"
+
 func init() {
 	geminterworkingterminationpointBME = &ManagedEntityDefinition{
 		Name:    "GemInterworkingTerminationPoint",
-		ClassID: 266,
+		ClassID: GemInterworkingTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -163,15 +174,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("GemPortNetworkCtpConnectivityPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("InterworkingOption", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("ServiceProfilePointer", PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("InterworkingTerminationPointPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
-			7: Uint16Field("GalProfilePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8: ByteField("GalLoopbackConfiguration", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer, PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(GemInterworkingTerminationPoint_InterworkingOption, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(GemInterworkingTerminationPoint_ServiceProfilePointer, PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(GemInterworkingTerminationPoint_InterworkingTerminationPointPointer, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField(GemInterworkingTerminationPoint_PptpCounter, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: ByteField(GemInterworkingTerminationPoint_OperationalState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7: Uint16Field(GemInterworkingTerminationPoint_GalProfilePointer, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: ByteField(GemInterworkingTerminationPoint_GalLoopbackConfiguration, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go
index 627e052..ad0766c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -147,10 +147,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GemPortNetworkCtp_PortId = "PortId"
+const GemPortNetworkCtp_TContPointer = "TContPointer"
+const GemPortNetworkCtp_Direction = "Direction"
+const GemPortNetworkCtp_TrafficManagementPointerForUpstream = "TrafficManagementPointerForUpstream"
+const GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream = "TrafficDescriptorProfilePointerForUpstream"
+const GemPortNetworkCtp_UniCounter = "UniCounter"
+const GemPortNetworkCtp_PriorityQueuePointerForDownStream = "PriorityQueuePointerForDownStream"
+const GemPortNetworkCtp_EncryptionState = "EncryptionState"
+const GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream = "TrafficDescriptorProfilePointerForDownstream"
+const GemPortNetworkCtp_EncryptionKeyRing = "EncryptionKeyRing"
+
 func init() {
 	gemportnetworkctpBME = &ManagedEntityDefinition{
 		Name:    "GemPortNetworkCtp",
-		ClassID: 268,
+		ClassID: GemPortNetworkCtpClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -159,17 +172,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("PortId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("TContPointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("Direction", EnumerationAttributeType, 0x2000, 3, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("TrafficManagementPointerForUpstream", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("TrafficDescriptorProfilePointerForUpstream", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  ByteField("UniCounter", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  Uint16Field("PriorityQueuePointerForDownStream", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("EncryptionState", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint16Field("TrafficDescriptorProfilePointerForDownstream", PointerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: ByteField("EncryptionKeyRing", EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(GemPortNetworkCtp_PortId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(GemPortNetworkCtp_TContPointer, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(GemPortNetworkCtp_Direction, EnumerationAttributeType, 0x2000, 3, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(GemPortNetworkCtp_TrafficManagementPointerForUpstream, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream, PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  ByteField(GemPortNetworkCtp_UniCounter, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint16Field(GemPortNetworkCtp_PriorityQueuePointerForDownStream, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(GemPortNetworkCtp_EncryptionState, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint16Field(GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream, PointerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: ByteField(GemPortNetworkCtp_EncryptionKeyRing, EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go
index ec04ef9..8e5a586 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,10 +96,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames = "TransmittedGemFrames"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames = "ReceivedGemFrames"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes = "ReceivedPayloadBytes"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes = "TransmittedPayloadBytes"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors = "EncryptionKeyErrors"
+
 func init() {
 	gemportnetworkctpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "GemPortNetworkCtpPerformanceMonitoringHistoryData",
-		ClassID: 341,
+		ClassID: GemPortNetworkCtpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -109,14 +119,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("TransmittedGemFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("ReceivedGemFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint64Field("ReceivedPayloadBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint64Field("TransmittedPayloadBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("EncryptionKeyErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint64Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint64Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go
index 90cd13e..5d038bc 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -73,10 +73,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GeneralPurposeBuffer_MaximumSize = "MaximumSize"
+const GeneralPurposeBuffer_BufferTable = "BufferTable"
+
 func init() {
 	generalpurposebufferBME = &ManagedEntityDefinition{
 		Name:    "GeneralPurposeBuffer",
-		ClassID: 308,
+		ClassID: GeneralPurposeBufferClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -85,9 +90,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("MaximumSize", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2: TableField("BufferTable", TableAttributeType, 0x4000, TableInfo{nil, -1}, mapset.NewSetWith(Read), true, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(GeneralPurposeBuffer_MaximumSize, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2: TableField(GeneralPurposeBuffer_BufferTable, TableAttributeType, 0x4000, TableInfo{nil, -1}, mapset.NewSetWith(Read), true, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go
index 989c783..ad61f87 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -154,10 +154,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Ieee8021PMapperServiceProfile_TpPointer = "TpPointer"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0 = "InterworkTpPointerForPBitPriority0"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1 = "InterworkTpPointerForPBitPriority1"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2 = "InterworkTpPointerForPBitPriority2"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3 = "InterworkTpPointerForPBitPriority3"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4 = "InterworkTpPointerForPBitPriority4"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5 = "InterworkTpPointerForPBitPriority5"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6 = "InterworkTpPointerForPBitPriority6"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7 = "InterworkTpPointerForPBitPriority7"
+const Ieee8021PMapperServiceProfile_UnmarkedFrameOption = "UnmarkedFrameOption"
+const Ieee8021PMapperServiceProfile_DscpToPBitMapping = "DscpToPBitMapping"
+const Ieee8021PMapperServiceProfile_DefaultPBitAssumption = "DefaultPBitAssumption"
+const Ieee8021PMapperServiceProfile_TpType = "TpType"
+
 func init() {
 	ieee8021pmapperserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "Ieee8021PMapperServiceProfile",
-		ClassID: 130,
+		ClassID: Ieee8021PMapperServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -166,20 +182,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("TpPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("InterworkTpPointerForPBitPriority0", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("InterworkTpPointerForPBitPriority1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("InterworkTpPointerForPBitPriority2", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("InterworkTpPointerForPBitPriority3", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("InterworkTpPointerForPBitPriority4", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("InterworkTpPointerForPBitPriority5", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  Uint16Field("InterworkTpPointerForPBitPriority6", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint16Field("InterworkTpPointerForPBitPriority7", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: ByteField("UnmarkedFrameOption", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0020, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: ByteField("DefaultPBitAssumption", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("TpType", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(Ieee8021PMapperServiceProfile_TpPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField(Ieee8021PMapperServiceProfile_UnmarkedFrameOption, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: MultiByteField(Ieee8021PMapperServiceProfile_DscpToPBitMapping, OctetsAttributeType, 0x0020, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: ByteField(Ieee8021PMapperServiceProfile_DefaultPBitAssumption, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(Ieee8021PMapperServiceProfile_TpType, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go
index 0b1e18a..db27f38 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,10 +96,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const InterworkingVccTerminationPoint_VciValue = "VciValue"
+const InterworkingVccTerminationPoint_VpNetworkCtpConnectivityPointer = "VpNetworkCtpConnectivityPointer"
+const InterworkingVccTerminationPoint_Deprecated1 = "Deprecated1"
+const InterworkingVccTerminationPoint_Deprecated2 = "Deprecated2"
+const InterworkingVccTerminationPoint_Aal5ProfilePointer = "Aal5ProfilePointer"
+const InterworkingVccTerminationPoint_Deprecated3 = "Deprecated3"
+const InterworkingVccTerminationPoint_AalLoopbackConfiguration = "AalLoopbackConfiguration"
+const InterworkingVccTerminationPoint_PptpCounter = "PptpCounter"
+const InterworkingVccTerminationPoint_OperationalState = "OperationalState"
+
 func init() {
 	interworkingvccterminationpointBME = &ManagedEntityDefinition{
 		Name:    "InterworkingVccTerminationPoint",
-		ClassID: 14,
+		ClassID: InterworkingVccTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -108,16 +120,16 @@
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("VciValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("VpNetworkCtpConnectivityPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("Deprecated1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 3),
-			4: Uint16Field("Deprecated2", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
-			5: Uint16Field("Aal5ProfilePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint16Field("Deprecated3", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 6),
-			7: ByteField("AalLoopbackConfiguration", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8: ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(InterworkingVccTerminationPoint_VciValue, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(InterworkingVccTerminationPoint_VpNetworkCtpConnectivityPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(InterworkingVccTerminationPoint_Deprecated1, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 3),
+			4: Uint16Field(InterworkingVccTerminationPoint_Deprecated2, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
+			5: Uint16Field(InterworkingVccTerminationPoint_Aal5ProfilePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field(InterworkingVccTerminationPoint_Deprecated3, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 6),
+			7: ByteField(InterworkingVccTerminationPoint_AalLoopbackConfiguration, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField(InterworkingVccTerminationPoint_PptpCounter, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9: ByteField(InterworkingVccTerminationPoint_OperationalState, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go
index 7786d91..0c6c014 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -198,10 +198,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const IpHostConfigData_IpOptions = "IpOptions"
+const IpHostConfigData_MacAddress = "MacAddress"
+const IpHostConfigData_OnuIdentifier = "OnuIdentifier"
+const IpHostConfigData_IpAddress = "IpAddress"
+const IpHostConfigData_Mask = "Mask"
+const IpHostConfigData_Gateway = "Gateway"
+const IpHostConfigData_PrimaryDns = "PrimaryDns"
+const IpHostConfigData_SecondaryDns = "SecondaryDns"
+const IpHostConfigData_CurrentAddress = "CurrentAddress"
+const IpHostConfigData_CurrentMask = "CurrentMask"
+const IpHostConfigData_CurrentGateway = "CurrentGateway"
+const IpHostConfigData_CurrentPrimaryDns = "CurrentPrimaryDns"
+const IpHostConfigData_CurrentSecondaryDns = "CurrentSecondaryDns"
+const IpHostConfigData_DomainName = "DomainName"
+const IpHostConfigData_HostName = "HostName"
+const IpHostConfigData_RelayAgentOptions = "RelayAgentOptions"
+
 func init() {
 	iphostconfigdataBME = &ManagedEntityDefinition{
 		Name:    "IpHostConfigData",
-		ClassID: 134,
+		ClassID: IpHostConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -209,23 +228,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("IpOptions", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  MultiByteField("MacAddress", OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
-			3:  MultiByteField("OnuIdentifier", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint32Field("IpAddress", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint32Field("Mask", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint32Field("Gateway", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint32Field("PrimaryDns", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint32Field("SecondaryDns", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint32Field("CurrentAddress", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
-			10: Uint32Field("CurrentMask", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), true, true, false, 10),
-			11: Uint32Field("CurrentGateway", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
-			12: Uint32Field("CurrentPrimaryDns", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), true, true, false, 12),
-			13: Uint32Field("CurrentSecondaryDns", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), true, true, false, 13),
-			14: MultiByteField("DomainName", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 14),
-			15: MultiByteField("HostName", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 15),
-			16: Uint16Field("RelayAgentOptions", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), true, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(IpHostConfigData_IpOptions, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  MultiByteField(IpHostConfigData_MacAddress, OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField(IpHostConfigData_OnuIdentifier, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint32Field(IpHostConfigData_IpAddress, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint32Field(IpHostConfigData_Mask, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field(IpHostConfigData_Gateway, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field(IpHostConfigData_PrimaryDns, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint32Field(IpHostConfigData_SecondaryDns, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint32Field(IpHostConfigData_CurrentAddress, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			10: Uint32Field(IpHostConfigData_CurrentMask, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), true, true, false, 10),
+			11: Uint32Field(IpHostConfigData_CurrentGateway, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
+			12: Uint32Field(IpHostConfigData_CurrentPrimaryDns, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), true, true, false, 12),
+			13: Uint32Field(IpHostConfigData_CurrentSecondaryDns, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), true, true, false, 13),
+			14: MultiByteField(IpHostConfigData_DomainName, OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 14),
+			15: MultiByteField(IpHostConfigData_HostName, OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 15),
+			16: Uint16Field(IpHostConfigData_RelayAgentOptions, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), true, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go
index 0622bf5..47fa1b7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -82,10 +82,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const IpHostPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const IpHostPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const IpHostPerformanceMonitoringHistoryData_IcmpErrors = "IcmpErrors"
+const IpHostPerformanceMonitoringHistoryData_DnsErrors = "DnsErrors"
+const IpHostPerformanceMonitoringHistoryData_DhcpTimeouts = "DhcpTimeouts"
+const IpHostPerformanceMonitoringHistoryData_IpAddressConflict = "IpAddressConflict"
+const IpHostPerformanceMonitoringHistoryData_OutOfMemory = "OutOfMemory"
+const IpHostPerformanceMonitoringHistoryData_InternalError = "InternalError"
+
 func init() {
 	iphostperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "IpHostPerformanceMonitoringHistoryData",
-		ClassID: 135,
+		ClassID: IpHostPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -95,15 +106,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("IcmpErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DnsErrors", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("DhcpTimeouts", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: Uint16Field("IpAddressConflict", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint16Field("OutOfMemory", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint16Field("InternalError", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(IpHostPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(IpHostPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(IpHostPerformanceMonitoringHistoryData_IcmpErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(IpHostPerformanceMonitoringHistoryData_DnsErrors, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(IpHostPerformanceMonitoringHistoryData_DhcpTimeouts, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint16Field(IpHostPerformanceMonitoringHistoryData_IpAddressConflict, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field(IpHostPerformanceMonitoringHistoryData_OutOfMemory, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field(IpHostPerformanceMonitoringHistoryData_InternalError, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go
index 668ec03..db0a535 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -128,10 +128,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const LargeString_NumberOfParts = "NumberOfParts"
+const LargeString_Part1 = "Part1"
+const LargeString_Part2 = "Part2"
+const LargeString_Part3 = "Part3"
+const LargeString_Part4 = "Part4"
+const LargeString_Part5 = "Part5"
+const LargeString_Part6 = "Part6"
+const LargeString_Part7 = "Part7"
+const LargeString_Part8 = "Part8"
+const LargeString_Part9 = "Part9"
+const LargeString_Part10 = "Part10"
+const LargeString_Part11 = "Part11"
+const LargeString_Part12 = "Part12"
+const LargeString_Part13 = "Part13"
+const LargeString_Part14 = "Part14"
+const LargeString_Part15 = "Part15"
+
 func init() {
 	largestringBME = &ManagedEntityDefinition{
 		Name:    "LargeString",
-		ClassID: 157,
+		ClassID: LargeStringClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -140,23 +159,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("NumberOfParts", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
-			2:  MultiByteField("Part1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 2),
-			3:  MultiByteField("Part2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 3),
-			4:  MultiByteField("Part3", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 4),
-			5:  MultiByteField("Part4", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 5),
-			6:  MultiByteField("Part5", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 6),
-			7:  MultiByteField("Part6", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 7),
-			8:  MultiByteField("Part7", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 8),
-			9:  MultiByteField("Part8", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 9),
-			10: MultiByteField("Part9", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 10),
-			11: MultiByteField("Part10", OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 11),
-			12: MultiByteField("Part11", OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 12),
-			13: MultiByteField("Part12", OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 13),
-			14: MultiByteField("Part13", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 14),
-			15: MultiByteField("Part14", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 15),
-			16: MultiByteField("Part15", OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(LargeString_NumberOfParts, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
+			2:  MultiByteField(LargeString_Part1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 2),
+			3:  MultiByteField(LargeString_Part2, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 3),
+			4:  MultiByteField(LargeString_Part3, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 4),
+			5:  MultiByteField(LargeString_Part4, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 5),
+			6:  MultiByteField(LargeString_Part5, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 6),
+			7:  MultiByteField(LargeString_Part6, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 7),
+			8:  MultiByteField(LargeString_Part7, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 8),
+			9:  MultiByteField(LargeString_Part8, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 9),
+			10: MultiByteField(LargeString_Part9, OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 10),
+			11: MultiByteField(LargeString_Part10, OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 11),
+			12: MultiByteField(LargeString_Part11, OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 12),
+			13: MultiByteField(LargeString_Part12, OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 13),
+			14: MultiByteField(LargeString_Part13, OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 14),
+			15: MultiByteField(LargeString_Part14, OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 15),
+			16: MultiByteField(LargeString_Part15, OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go
index 0431803..76b5fda 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -86,24 +86,35 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgeConfigurationData_BridgeMacAddress = "BridgeMacAddress"
+const MacBridgeConfigurationData_BridgePriority = "BridgePriority"
+const MacBridgeConfigurationData_DesignatedRoot = "DesignatedRoot"
+const MacBridgeConfigurationData_RootPathCost = "RootPathCost"
+const MacBridgeConfigurationData_BridgePortCount = "BridgePortCount"
+const MacBridgeConfigurationData_RootPortNum = "RootPortNum"
+const MacBridgeConfigurationData_HelloTime = "HelloTime"
+const MacBridgeConfigurationData_ForwardDelay = "ForwardDelay"
+
 func init() {
 	macbridgeconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgeConfigurationData",
-		ClassID: 46,
+		ClassID: MacBridgeConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("BridgeMacAddress", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("BridgePriority", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: MultiByteField("DesignatedRoot", OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("RootPathCost", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: ByteField("BridgePortCount", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint16Field("RootPortNum", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("HelloTime", UnsignedIntegerAttributeType, 0x0200, 256, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint16Field("ForwardDelay", UnsignedIntegerAttributeType, 0x0100, 1024, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(MacBridgeConfigurationData_BridgeMacAddress, OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MacBridgeConfigurationData_BridgePriority, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField(MacBridgeConfigurationData_DesignatedRoot, OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(MacBridgeConfigurationData_RootPathCost, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: ByteField(MacBridgeConfigurationData_BridgePortCount, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint16Field(MacBridgeConfigurationData_RootPortNum, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(MacBridgeConfigurationData_HelloTime, UnsignedIntegerAttributeType, 0x0200, 256, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field(MacBridgeConfigurationData_ForwardDelay, UnsignedIntegerAttributeType, 0x0100, 1024, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go
index c80f91f..e5212d7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -66,10 +66,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MacBridgePerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MacBridgePerformanceMonitoringHistoryData_BridgeLearningEntryDiscardCount = "BridgeLearningEntryDiscardCount"
+
 func init() {
 	macbridgeperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePerformanceMonitoringHistoryData",
-		ClassID: 51,
+		ClassID: MacBridgePerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -79,10 +85,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("BridgeLearningEntryDiscardCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MacBridgePerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MacBridgePerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(MacBridgePerformanceMonitoringHistoryData_BridgeLearningEntryDiscardCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go
index 50e8610..566a5af 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,18 +80,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortBridgeTableData_BridgeTable = "BridgeTable"
+
 func init() {
 	macbridgeportbridgetabledataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortBridgeTableData",
-		ClassID: 50,
+		ClassID: MacBridgePortBridgeTableDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("BridgeTable", TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(MacBridgePortBridgeTableData_BridgeTable, TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go
index 24e245d..e2badbb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -139,10 +139,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortConfigurationData_BridgeIdPointer = "BridgeIdPointer"
+const MacBridgePortConfigurationData_PortNum = "PortNum"
+const MacBridgePortConfigurationData_TpType = "TpType"
+const MacBridgePortConfigurationData_TpPointer = "TpPointer"
+const MacBridgePortConfigurationData_PortPriority = "PortPriority"
+const MacBridgePortConfigurationData_PortPathCost = "PortPathCost"
+const MacBridgePortConfigurationData_PortSpanningTreeInd = "PortSpanningTreeInd"
+const MacBridgePortConfigurationData_Deprecated1 = "Deprecated1"
+const MacBridgePortConfigurationData_Deprecated2 = "Deprecated2"
+const MacBridgePortConfigurationData_PortMacAddress = "PortMacAddress"
+const MacBridgePortConfigurationData_OutboundTdPointer = "OutboundTdPointer"
+const MacBridgePortConfigurationData_InboundTdPointer = "InboundTdPointer"
+const MacBridgePortConfigurationData_MacLearningDepth = "MacLearningDepth"
+const MacBridgePortConfigurationData_LaspIdPointer = "LaspIdPointer"
+
 func init() {
 	macbridgeportconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortConfigurationData",
-		ClassID: 47,
+		ClassID: MacBridgePortConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -151,21 +168,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("BridgeIdPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("PortNum", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("TpType", EnumerationAttributeType, 0x2000, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("TpPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("PortPriority", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("PortPathCost", UnsignedIntegerAttributeType, 0x0400, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("PortSpanningTreeInd", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("Deprecated1", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 8),
-			9:  ByteField("Deprecated2", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 9),
-			10: MultiByteField("PortMacAddress", OctetsAttributeType, 0x0040, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("OutboundTdPointer", PointerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("InboundTdPointer", PointerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("MacLearningDepth", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: Uint16Field("LaspIdPointer", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(MacBridgePortConfigurationData_BridgeIdPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MacBridgePortConfigurationData_PortNum, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MacBridgePortConfigurationData_TpType, EnumerationAttributeType, 0x2000, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MacBridgePortConfigurationData_TpPointer, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(MacBridgePortConfigurationData_PortPriority, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(MacBridgePortConfigurationData_PortPathCost, UnsignedIntegerAttributeType, 0x0400, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(MacBridgePortConfigurationData_PortSpanningTreeInd, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MacBridgePortConfigurationData_Deprecated1, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 8),
+			9:  ByteField(MacBridgePortConfigurationData_Deprecated2, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 9),
+			10: MultiByteField(MacBridgePortConfigurationData_PortMacAddress, OctetsAttributeType, 0x0040, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(MacBridgePortConfigurationData_OutboundTdPointer, PointerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field(MacBridgePortConfigurationData_InboundTdPointer, PointerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(MacBridgePortConfigurationData_MacLearningDepth, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: Uint16Field(MacBridgePortConfigurationData_LaspIdPointer, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go
index df0da16..5764757 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,18 +96,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortDesignationData_DesignatedBridgeRootCostPort = "DesignatedBridgeRootCostPort"
+const MacBridgePortDesignationData_PortState = "PortState"
+
 func init() {
 	macbridgeportdesignationdataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortDesignationData",
-		ClassID: 48,
+		ClassID: MacBridgePortDesignationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("DesignatedBridgeRootCostPort", OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("PortState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(MacBridgePortDesignationData_DesignatedBridgeRootCostPort, OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(MacBridgePortDesignationData_PortState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go
index 604af06..2516f2a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,27 +96,40 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortFilterPreAssignTable_Ipv4MulticastFiltering = "Ipv4MulticastFiltering"
+const MacBridgePortFilterPreAssignTable_Ipv6MulticastFiltering = "Ipv6MulticastFiltering"
+const MacBridgePortFilterPreAssignTable_Ipv4BroadcastFiltering = "Ipv4BroadcastFiltering"
+const MacBridgePortFilterPreAssignTable_RarpFiltering = "RarpFiltering"
+const MacBridgePortFilterPreAssignTable_IpxFiltering = "IpxFiltering"
+const MacBridgePortFilterPreAssignTable_NetbeuiFiltering = "NetbeuiFiltering"
+const MacBridgePortFilterPreAssignTable_AppletalkFiltering = "AppletalkFiltering"
+const MacBridgePortFilterPreAssignTable_BridgeManagementInformationFiltering = "BridgeManagementInformationFiltering"
+const MacBridgePortFilterPreAssignTable_ArpFiltering = "ArpFiltering"
+const MacBridgePortFilterPreAssignTable_PointToPointProtocolOverEthernetPppoeBroadcastFiltering = "PointToPointProtocolOverEthernetPppoeBroadcastFiltering"
+
 func init() {
 	macbridgeportfilterpreassigntableBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortFilterPreAssignTable",
-		ClassID: 79,
+		ClassID: MacBridgePortFilterPreAssignTableClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Ipv4MulticastFiltering", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("Ipv6MulticastFiltering", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("Ipv4BroadcastFiltering", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("RarpFiltering", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("IpxFiltering", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("NetbeuiFiltering", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("AppletalkFiltering", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("BridgeManagementInformationFiltering", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("ArpFiltering", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("PointToPointProtocolOverEthernetPppoeBroadcastFiltering", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(MacBridgePortFilterPreAssignTable_Ipv4MulticastFiltering, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(MacBridgePortFilterPreAssignTable_Ipv6MulticastFiltering, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(MacBridgePortFilterPreAssignTable_Ipv4BroadcastFiltering, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(MacBridgePortFilterPreAssignTable_RarpFiltering, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(MacBridgePortFilterPreAssignTable_IpxFiltering, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(MacBridgePortFilterPreAssignTable_NetbeuiFiltering, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(MacBridgePortFilterPreAssignTable_AppletalkFiltering, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(MacBridgePortFilterPreAssignTable_BridgeManagementInformationFiltering, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(MacBridgePortFilterPreAssignTable_ArpFiltering, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(MacBridgePortFilterPreAssignTable_PointToPointProtocolOverEthernetPppoeBroadcastFiltering, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go
index 9d7cace..658fba2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -94,10 +94,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortFilterTableData_MacFilterTable = "MacFilterTable"
+
 func init() {
 	macbridgeportfiltertabledataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortFilterTableData",
-		ClassID: 49,
+		ClassID: MacBridgePortFilterTableDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -106,8 +110,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("MacFilterTable", TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(MacBridgePortFilterTableData_MacFilterTable, TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go
index 8131599..eae6eaa 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -95,25 +95,37 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6ErrorMessagesProcessing = "Icmpv6ErrorMessagesProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6InformationalMessagesProcessing = "Icmpv6InformationalMessagesProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_RouterSolicitationProcessing = "RouterSolicitationProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_RouterAdvertisementProcessing = "RouterAdvertisementProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourSolicitationProcessing = "NeighbourSolicitationProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourAdvertisementProcessing = "NeighbourAdvertisementProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_RedirectProcessing = "RedirectProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_MulticastListenerQueryProcessing = "MulticastListenerQueryProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_UnknownIcmpv6Processing = "UnknownIcmpv6Processing"
+
 func init() {
 	macbridgeporticmpv6processpreassigntableBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortIcmpv6ProcessPreAssignTable",
-		ClassID: 348,
+		ClassID: MacBridgePortIcmpv6ProcessPreAssignTableClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("Icmpv6ErrorMessagesProcessing", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("Icmpv6InformationalMessagesProcessing", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("RouterSolicitationProcessing", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("RouterAdvertisementProcessing", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("NeighbourSolicitationProcessing", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6: ByteField("NeighbourAdvertisementProcessing", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: ByteField("RedirectProcessing", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8: ByteField("MulticastListenerQueryProcessing", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9: ByteField("UnknownIcmpv6Processing", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6ErrorMessagesProcessing, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6InformationalMessagesProcessing, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_RouterSolicitationProcessing, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_RouterAdvertisementProcessing, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourSolicitationProcessing, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourAdvertisementProcessing, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_RedirectProcessing, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_MulticastListenerQueryProcessing, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_UnknownIcmpv6Processing, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go
index 97b0e16..b1d5304 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MacBridgePortPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MacBridgePortPerformanceMonitoringHistoryData_ForwardedFrameCounter = "ForwardedFrameCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_DelayExceededDiscardCounter = "DelayExceededDiscardCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_MaximumTransmissionUnitMtuExceededDiscardCounter = "MaximumTransmissionUnitMtuExceededDiscardCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_ReceivedFrameCounter = "ReceivedFrameCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_ReceivedAndDiscardedCounter = "ReceivedAndDiscardedCounter"
+
 func init() {
 	macbridgeportperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortPerformanceMonitoringHistoryData",
-		ClassID: 52,
+		ClassID: MacBridgePortPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,14 +101,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("ForwardedFrameCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DelayExceededDiscardCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("MaximumTransmissionUnitMtuExceededDiscardCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ReceivedFrameCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("ReceivedAndDiscardedCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MacBridgePortPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MacBridgePortPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_ForwardedFrameCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_DelayExceededDiscardCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_MaximumTransmissionUnitMtuExceededDiscardCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_ReceivedFrameCounter, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_ReceivedAndDiscardedCounter, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go
index c05d948..83419e2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -103,10 +103,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgeServiceProfile_SpanningTreeInd = "SpanningTreeInd"
+const MacBridgeServiceProfile_LearningInd = "LearningInd"
+const MacBridgeServiceProfile_PortBridgingInd = "PortBridgingInd"
+const MacBridgeServiceProfile_Priority = "Priority"
+const MacBridgeServiceProfile_MaxAge = "MaxAge"
+const MacBridgeServiceProfile_HelloTime = "HelloTime"
+const MacBridgeServiceProfile_ForwardDelay = "ForwardDelay"
+const MacBridgeServiceProfile_UnknownMacAddressDiscard = "UnknownMacAddressDiscard"
+const MacBridgeServiceProfile_MacLearningDepth = "MacLearningDepth"
+const MacBridgeServiceProfile_DynamicFilteringAgeingTime = "DynamicFilteringAgeingTime"
+
 func init() {
 	macbridgeserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "MacBridgeServiceProfile",
-		ClassID: 45,
+		ClassID: MacBridgeServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -115,17 +128,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("SpanningTreeInd", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("LearningInd", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("PortBridgingInd", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("Priority", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("MaxAge", UnsignedIntegerAttributeType, 0x0800, 1536, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("HelloTime", UnsignedIntegerAttributeType, 0x0400, 256, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("ForwardDelay", UnsignedIntegerAttributeType, 0x0200, 1024, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("UnknownMacAddressDiscard", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("MacLearningDepth", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: Uint32Field("DynamicFilteringAgeingTime", UnsignedIntegerAttributeType, 0x0040, 300, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MacBridgeServiceProfile_SpanningTreeInd, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MacBridgeServiceProfile_LearningInd, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MacBridgeServiceProfile_PortBridgingInd, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MacBridgeServiceProfile_Priority, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(MacBridgeServiceProfile_MaxAge, UnsignedIntegerAttributeType, 0x0800, 1536, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(MacBridgeServiceProfile_HelloTime, UnsignedIntegerAttributeType, 0x0400, 256, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(MacBridgeServiceProfile_ForwardDelay, UnsignedIntegerAttributeType, 0x0200, 1024, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MacBridgeServiceProfile_UnknownMacAddressDiscard, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(MacBridgeServiceProfile_MacLearningDepth, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: Uint32Field(MacBridgeServiceProfile_DynamicFilteringAgeingTime, UnsignedIntegerAttributeType, 0x0040, 300, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go
index 91354b5..c55bceb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -103,25 +103,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ManagedEntityMe_Name = "Name"
+const ManagedEntityMe_AttributesTable = "AttributesTable"
+const ManagedEntityMe_Access = "Access"
+const ManagedEntityMe_AlarmsTable = "AlarmsTable"
+const ManagedEntityMe_AvcsTable = "AvcsTable"
+const ManagedEntityMe_Actions = "Actions"
+const ManagedEntityMe_InstancesTable = "InstancesTable"
+const ManagedEntityMe_Support = "Support"
+
 func init() {
 	managedentitymeBME = &ManagedEntityDefinition{
 		Name:    "ManagedEntityMe",
-		ClassID: 288,
+		ClassID: ManagedEntityMeClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("Name", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("AttributesTable", TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Access", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: TableField("AlarmsTable", TableAttributeType, 0x1000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 4),
-			5: TableField("AvcsTable", TableAttributeType, 0x0800, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("Actions", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: TableField("InstancesTable", TableAttributeType, 0x0200, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 7),
-			8: ByteField("Support", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(ManagedEntityMe_Name, OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField(ManagedEntityMe_AttributesTable, TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(ManagedEntityMe_Access, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: TableField(ManagedEntityMe_AlarmsTable, TableAttributeType, 0x1000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 4),
+			5: TableField(ManagedEntityMe_AvcsTable, TableAttributeType, 0x0800, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(ManagedEntityMe_Actions, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: TableField(ManagedEntityMe_InstancesTable, TableAttributeType, 0x0200, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 7),
+			8: ByteField(ManagedEntityMe_Support, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go
index 2d83255..d901c3a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go
index 4b2061a..b74f536 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go
index 4b97077..dcacc6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -112,10 +112,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MgcConfigData_PrimaryMgc = "PrimaryMgc"
+const MgcConfigData_SecondaryMgc = "SecondaryMgc"
+const MgcConfigData_TcpUdpPointer = "TcpUdpPointer"
+const MgcConfigData_Version = "Version"
+const MgcConfigData_MessageFormat = "MessageFormat"
+const MgcConfigData_MaximumRetryTime = "MaximumRetryTime"
+const MgcConfigData_MaximumRetryAttempts = "MaximumRetryAttempts"
+const MgcConfigData_ServiceChangeDelay = "ServiceChangeDelay"
+const MgcConfigData_TerminationIdBase = "TerminationIdBase"
+const MgcConfigData_Softswitch = "Softswitch"
+const MgcConfigData_MessageIdPointer = "MessageIdPointer"
+
 func init() {
 	mgcconfigdataBME = &ManagedEntityDefinition{
 		Name:    "MgcConfigData",
-		ClassID: 155,
+		ClassID: MgcConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -124,18 +138,18 @@
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("PrimaryMgc", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("SecondaryMgc", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("Version", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("MessageFormat", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("MaximumRetryTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  Uint16Field("MaximumRetryAttempts", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  Uint16Field("ServiceChangeDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  MultiByteField("TerminationIdBase", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: Uint16Field("MessageIdPointer", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(MgcConfigData_PrimaryMgc, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(MgcConfigData_SecondaryMgc, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(MgcConfigData_TcpUdpPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(MgcConfigData_Version, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(MgcConfigData_MessageFormat, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(MgcConfigData_MaximumRetryTime, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  Uint16Field(MgcConfigData_MaximumRetryAttempts, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint16Field(MgcConfigData_ServiceChangeDelay, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField(MgcConfigData_TerminationIdBase, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint32Field(MgcConfigData_Softswitch, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint16Field(MgcConfigData_MessageIdPointer, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go
index 46167fa..34a46c7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -59,18 +59,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MgcConfigPortal_ConfigurationTextTable = "ConfigurationTextTable"
+
 func init() {
 	mgcconfigportalBME = &ManagedEntityDefinition{
 		Name:    "MgcConfigPortal",
-		ClassID: 154,
+		ClassID: MgcConfigPortalClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("ConfigurationTextTable", TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(MgcConfigPortal_ConfigurationTextTable, TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go
index 082de74..b500734 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -123,10 +123,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MgcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MgcPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MgcPerformanceMonitoringHistoryData_ReceivedMessages = "ReceivedMessages"
+const MgcPerformanceMonitoringHistoryData_ReceivedOctets = "ReceivedOctets"
+const MgcPerformanceMonitoringHistoryData_SentMessages = "SentMessages"
+const MgcPerformanceMonitoringHistoryData_SentOctets = "SentOctets"
+const MgcPerformanceMonitoringHistoryData_ProtocolErrors = "ProtocolErrors"
+const MgcPerformanceMonitoringHistoryData_TransportLosses = "TransportLosses"
+const MgcPerformanceMonitoringHistoryData_LastDetectedEvent = "LastDetectedEvent"
+const MgcPerformanceMonitoringHistoryData_LastDetectedEventTime = "LastDetectedEventTime"
+const MgcPerformanceMonitoringHistoryData_LastDetectedResetTime = "LastDetectedResetTime"
+
 func init() {
 	mgcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MgcPerformanceMonitoringHistoryData",
-		ClassID: 156,
+		ClassID: MgcPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -136,18 +150,18 @@
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("ReceivedMessages", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("ReceivedOctets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("SentMessages", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("SentOctets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("ProtocolErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TransportLosses", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("LastDetectedEvent", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("LastDetectedEventTime", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("LastDetectedResetTime", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MgcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(MgcPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(MgcPerformanceMonitoringHistoryData_ReceivedMessages, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(MgcPerformanceMonitoringHistoryData_ReceivedOctets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(MgcPerformanceMonitoringHistoryData_SentMessages, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(MgcPerformanceMonitoringHistoryData_SentOctets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(MgcPerformanceMonitoringHistoryData_ProtocolErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(MgcPerformanceMonitoringHistoryData_TransportLosses, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(MgcPerformanceMonitoringHistoryData_LastDetectedEvent, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(MgcPerformanceMonitoringHistoryData_LastDetectedEventTime, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(MgcPerformanceMonitoringHistoryData_LastDetectedResetTime, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go
index c69d00b..2c73afe 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -102,10 +102,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MocaEthernetPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MocaEthernetPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingUnicastPackets = "IncomingUnicastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingDiscardedPackets = "IncomingDiscardedPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingErroredPackets = "IncomingErroredPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingUnknownPackets = "IncomingUnknownPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingMulticastPackets = "IncomingMulticastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingBroadcastPackets = "IncomingBroadcastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingOctets = "IncomingOctets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnicastPackets = "OutgoingUnicastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingDiscardedPackets = "OutgoingDiscardedPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingErroredPackets = "OutgoingErroredPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnknownPackets = "OutgoingUnknownPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingMulticastPackets = "OutgoingMulticastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingBroadcastPackets = "OutgoingBroadcastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingOctets = "OutgoingOctets"
+
 func init() {
 	mocaethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MocaEthernetPerformanceMonitoringHistoryData",
-		ClassID: 163,
+		ClassID: MocaEthernetPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -114,23 +133,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("IncomingUnicastPackets", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("IncomingDiscardedPackets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("IncomingErroredPackets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("IncomingUnknownPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  Uint32Field("IncomingMulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("IncomingBroadcastPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("IncomingOctets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("OutgoingUnicastPackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("OutgoingDiscardedPackets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("OutgoingErroredPackets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("OutgoingUnknownPackets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("OutgoingMulticastPackets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("OutgoingBroadcastPackets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint32Field("OutgoingOctets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MocaEthernetPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(MocaEthernetPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingUnicastPackets, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingDiscardedPackets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingErroredPackets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingUnknownPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingMulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingBroadcastPackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingOctets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnicastPackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingDiscardedPackets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingErroredPackets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnknownPackets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingMulticastPackets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingBroadcastPackets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingOctets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go
index 41b3aa1..d9986d3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -106,10 +106,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MocaInterfacePerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MocaInterfacePerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MocaInterfacePerformanceMonitoringHistoryData_PhyTXBroadcastRate = "PhyTXBroadcastRate"
+const MocaInterfacePerformanceMonitoringHistoryData_NodeTable = "NodeTable"
+
 func init() {
 	mocainterfaceperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MocaInterfacePerformanceMonitoringHistoryData",
-		ClassID: 164,
+		ClassID: MocaInterfacePerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -119,11 +126,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("PhyTXBroadcastRate", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: TableField("NodeTable", TableAttributeType, 0x1000, TableInfo{nil, 37}, mapset.NewSetWith(Read), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MocaInterfacePerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MocaInterfacePerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(MocaInterfacePerformanceMonitoringHistoryData_PhyTXBroadcastRate, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: TableField(MocaInterfacePerformanceMonitoringHistoryData_NodeTable, TableAttributeType, 0x1000, TableInfo{nil, 37}, mapset.NewSetWith(Read), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go
index ed2ec34..4db7afe 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -171,10 +171,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MplsPseudowireTerminationPoint_TpType = "TpType"
+const MplsPseudowireTerminationPoint_TpPointer = "TpPointer"
+const MplsPseudowireTerminationPoint_MplsLabelIndicator = "MplsLabelIndicator"
+const MplsPseudowireTerminationPoint_MplsPwDirection = "MplsPwDirection"
+const MplsPseudowireTerminationPoint_MplsPwUplinkLabel = "MplsPwUplinkLabel"
+const MplsPseudowireTerminationPoint_MplsPwDownlinkLabel = "MplsPwDownlinkLabel"
+const MplsPseudowireTerminationPoint_MplsPwTc = "MplsPwTc"
+const MplsPseudowireTerminationPoint_MplsTunnelDirection = "MplsTunnelDirection"
+const MplsPseudowireTerminationPoint_MplsTunnelUplinkLabel = "MplsTunnelUplinkLabel"
+const MplsPseudowireTerminationPoint_MplsTunnelDownlinkLabel = "MplsTunnelDownlinkLabel"
+const MplsPseudowireTerminationPoint_MplsTunnelTc = "MplsTunnelTc"
+const MplsPseudowireTerminationPoint_PseudowireType = "PseudowireType"
+const MplsPseudowireTerminationPoint_PseudowireControlWordPreference = "PseudowireControlWordPreference"
+const MplsPseudowireTerminationPoint_AdministrativeState = "AdministrativeState"
+const MplsPseudowireTerminationPoint_OperationalState = "OperationalState"
+
 func init() {
 	mplspseudowireterminationpointBME = &ManagedEntityDefinition{
 		Name:    "MplsPseudowireTerminationPoint",
-		ClassID: 333,
+		ClassID: MplsPseudowireTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -183,22 +201,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("TpType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("TpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("MplsLabelIndicator", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("MplsPwDirection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint32Field("MplsPwUplinkLabel", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint32Field("MplsPwDownlinkLabel", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("MplsPwTc", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("MplsTunnelDirection", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint32Field("MplsTunnelUplinkLabel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: Uint32Field("MplsTunnelDownlinkLabel", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("MplsTunnelTc", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: Uint16Field("PseudowireType", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("PseudowireControlWordPreference", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), true, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MplsPseudowireTerminationPoint_TpType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(MplsPseudowireTerminationPoint_TpPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MplsPseudowireTerminationPoint_MplsLabelIndicator, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(MplsPseudowireTerminationPoint_MplsPwDirection, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field(MplsPseudowireTerminationPoint_MplsPwUplinkLabel, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field(MplsPseudowireTerminationPoint_MplsPwDownlinkLabel, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(MplsPseudowireTerminationPoint_MplsPwTc, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MplsPseudowireTerminationPoint_MplsTunnelDirection, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint32Field(MplsPseudowireTerminationPoint_MplsTunnelUplinkLabel, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint32Field(MplsPseudowireTerminationPoint_MplsTunnelDownlinkLabel, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(MplsPseudowireTerminationPoint_MplsTunnelTc, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: Uint16Field(MplsPseudowireTerminationPoint_PseudowireType, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(MplsPseudowireTerminationPoint_PseudowireControlWordPreference, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField(MplsPseudowireTerminationPoint_AdministrativeState, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(MplsPseudowireTerminationPoint_OperationalState, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), true, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go
index fd85a10..d4268d3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -187,10 +187,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer = "GemPortNetworkCtpConnectivityPointer"
+const MulticastGemInterworkingTerminationPoint_InterworkingOption = "InterworkingOption"
+const MulticastGemInterworkingTerminationPoint_ServiceProfilePointer = "ServiceProfilePointer"
+const MulticastGemInterworkingTerminationPoint_NotUsed1 = "NotUsed1"
+const MulticastGemInterworkingTerminationPoint_PptpCounter = "PptpCounter"
+const MulticastGemInterworkingTerminationPoint_OperationalState = "OperationalState"
+const MulticastGemInterworkingTerminationPoint_GalProfilePointer = "GalProfilePointer"
+const MulticastGemInterworkingTerminationPoint_NotUsed2 = "NotUsed2"
+const MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable = "Ipv4MulticastAddressTable"
+const MulticastGemInterworkingTerminationPoint_Ipv6MulticastAddressTable = "Ipv6MulticastAddressTable"
+
 func init() {
 	multicastgeminterworkingterminationpointBME = &ManagedEntityDefinition{
 		Name:    "MulticastGemInterworkingTerminationPoint",
-		ClassID: 281,
+		ClassID: MulticastGemInterworkingTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -201,17 +214,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("GemPortNetworkCtpConnectivityPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("InterworkingOption", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("ServiceProfilePointer", PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("NotUsed1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0800, 255, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
-			7:  Uint16Field("GalProfilePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("NotUsed2", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  TableField("Ipv4MulticastAddressTable", TableAttributeType, 0x0080, TableInfo{nil, 12}, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: TableField("Ipv6MulticastAddressTable", TableAttributeType, 0x0040, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer, PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MulticastGemInterworkingTerminationPoint_InterworkingOption, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(MulticastGemInterworkingTerminationPoint_ServiceProfilePointer, PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MulticastGemInterworkingTerminationPoint_NotUsed1, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(MulticastGemInterworkingTerminationPoint_PptpCounter, UnsignedIntegerAttributeType, 0x0800, 255, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(MulticastGemInterworkingTerminationPoint_OperationalState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7:  Uint16Field(MulticastGemInterworkingTerminationPoint_GalProfilePointer, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MulticastGemInterworkingTerminationPoint_NotUsed2, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  TableField(MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable, TableAttributeType, 0x0080, TableInfo{nil, 12}, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: TableField(MulticastGemInterworkingTerminationPoint_Ipv6MulticastAddressTable, TableAttributeType, 0x0040, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go
index 9db7284..d00bd7b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -232,10 +232,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastOperationsProfile_IgmpVersion = "IgmpVersion"
+const MulticastOperationsProfile_IgmpFunction = "IgmpFunction"
+const MulticastOperationsProfile_ImmediateLeave = "ImmediateLeave"
+const MulticastOperationsProfile_UpstreamIgmpTci = "UpstreamIgmpTci"
+const MulticastOperationsProfile_UpstreamIgmpTagControl = "UpstreamIgmpTagControl"
+const MulticastOperationsProfile_UpstreamIgmpRate = "UpstreamIgmpRate"
+const MulticastOperationsProfile_DynamicAccessControlListTable = "DynamicAccessControlListTable"
+const MulticastOperationsProfile_StaticAccessControlListTable = "StaticAccessControlListTable"
+const MulticastOperationsProfile_LostGroupsListTable = "LostGroupsListTable"
+const MulticastOperationsProfile_Robustness = "Robustness"
+const MulticastOperationsProfile_QuerierIpAddress = "QuerierIpAddress"
+const MulticastOperationsProfile_QueryInterval = "QueryInterval"
+const MulticastOperationsProfile_QueryMaxResponseTime = "QueryMaxResponseTime"
+const MulticastOperationsProfile_LastMemberQueryInterval = "LastMemberQueryInterval"
+const MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour = "UnauthorizedJoinRequestBehaviour"
+const MulticastOperationsProfile_DownstreamIgmpAndMulticastTci = "DownstreamIgmpAndMulticastTci"
+
 func init() {
 	multicastoperationsprofileBME = &ManagedEntityDefinition{
 		Name:    "MulticastOperationsProfile",
-		ClassID: 309,
+		ClassID: MulticastOperationsProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -246,29 +265,26 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IgmpVersion", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("IgmpFunction", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("ImmediateLeave", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("UpstreamIgmpTci", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  ByteField("UpstreamIgmpTagControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint32Field("UpstreamIgmpRate", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  TableField("DynamicAccessControlListTable", TableAttributeType, 0x0200, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  TableField("StaticAccessControlListTable", TableAttributeType, 0x0100, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  TableField("LostGroupsListTable", TableAttributeType, 0x0080, TableInfo{nil, 10}, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("Robustness", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
-			11: Uint32Field("QuerierIpAddress", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
-			12: Uint32Field("QueryInterval", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: Uint32Field("QueryMaxResponseTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: Uint32Field("LastMemberQueryInterval", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("UnauthorizedJoinRequestBehaviour", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: MultiByteField("DownstreamIgmpAndMulticastTci", OctetsAttributeType, 0x0001, 3, toOctets("AAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MulticastOperationsProfile_IgmpVersion, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MulticastOperationsProfile_IgmpFunction, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MulticastOperationsProfile_ImmediateLeave, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MulticastOperationsProfile_UpstreamIgmpTci, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  ByteField(MulticastOperationsProfile_UpstreamIgmpTagControl, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint32Field(MulticastOperationsProfile_UpstreamIgmpRate, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  TableField(MulticastOperationsProfile_DynamicAccessControlListTable, TableAttributeType, 0x0200, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  TableField(MulticastOperationsProfile_StaticAccessControlListTable, TableAttributeType, 0x0100, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  TableField(MulticastOperationsProfile_LostGroupsListTable, TableAttributeType, 0x0080, TableInfo{nil, 10}, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(MulticastOperationsProfile_Robustness, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: Uint32Field(MulticastOperationsProfile_QuerierIpAddress, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: Uint32Field(MulticastOperationsProfile_QueryInterval, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: Uint32Field(MulticastOperationsProfile_QueryMaxResponseTime, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: Uint32Field(MulticastOperationsProfile_LastMemberQueryInterval, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: MultiByteField(MulticastOperationsProfile_DownstreamIgmpAndMulticastTci, OctetsAttributeType, 0x0001, 3, toOctets("AAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
-		Alarms: AlarmMap{
-			0: "Lost multicast group",
-		},
 	}
 }
 
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go
index 1932b6b..72670ef 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -168,10 +168,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastSubscriberConfigInfo_MeType = "MeType"
+const MulticastSubscriberConfigInfo_MulticastOperationsProfilePointer = "MulticastOperationsProfilePointer"
+const MulticastSubscriberConfigInfo_MaxSimultaneousGroups = "MaxSimultaneousGroups"
+const MulticastSubscriberConfigInfo_MaxMulticastBandwidth = "MaxMulticastBandwidth"
+const MulticastSubscriberConfigInfo_BandwidthEnforcement = "BandwidthEnforcement"
+const MulticastSubscriberConfigInfo_MulticastServicePackageTable = "MulticastServicePackageTable"
+const MulticastSubscriberConfigInfo_AllowedPreviewGroupsTable = "AllowedPreviewGroupsTable"
+
 func init() {
 	multicastsubscriberconfiginfoBME = &ManagedEntityDefinition{
 		Name:    "MulticastSubscriberConfigInfo",
-		ClassID: 310,
+		ClassID: MulticastSubscriberConfigInfoClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -182,14 +192,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("MeType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("MulticastOperationsProfilePointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("MaxSimultaneousGroups", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4: Uint32Field("MaxMulticastBandwidth", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: ByteField("BandwidthEnforcement", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: TableField("MulticastServicePackageTable", TableAttributeType, 0x0400, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7: TableField("AllowedPreviewGroupsTable", TableAttributeType, 0x0200, TableInfo{nil, 22}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MulticastSubscriberConfigInfo_MeType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(MulticastSubscriberConfigInfo_MulticastOperationsProfilePointer, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(MulticastSubscriberConfigInfo_MaxSimultaneousGroups, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint32Field(MulticastSubscriberConfigInfo_MaxMulticastBandwidth, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: ByteField(MulticastSubscriberConfigInfo_BandwidthEnforcement, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: TableField(MulticastSubscriberConfigInfo_MulticastServicePackageTable, TableAttributeType, 0x0400, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: TableField(MulticastSubscriberConfigInfo_AllowedPreviewGroupsTable, TableAttributeType, 0x0200, TableInfo{nil, 22}, mapset.NewSetWith(Read, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go
index a43d342..b9f6565 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -119,10 +119,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastSubscriberMonitor_MeType = "MeType"
+const MulticastSubscriberMonitor_CurrentMulticastBandwidth = "CurrentMulticastBandwidth"
+const MulticastSubscriberMonitor_JoinMessagesCounter = "JoinMessagesCounter"
+const MulticastSubscriberMonitor_BandwidthExceededCounter = "BandwidthExceededCounter"
+const MulticastSubscriberMonitor_Ipv4ActiveGroupListTable = "Ipv4ActiveGroupListTable"
+const MulticastSubscriberMonitor_Ipv6ActiveGroupListTable = "Ipv6ActiveGroupListTable"
+
 func init() {
 	multicastsubscribermonitorBME = &ManagedEntityDefinition{
 		Name:    "MulticastSubscriberMonitor",
-		ClassID: 311,
+		ClassID: MulticastSubscriberMonitorClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -132,13 +141,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("MeType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("CurrentMulticastBandwidth", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
-			3: Uint32Field("JoinMessagesCounter", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint32Field("BandwidthExceededCounter", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: TableField("Ipv4ActiveGroupListTable", TableAttributeType, 0x0800, TableInfo{nil, 24}, mapset.NewSetWith(Read), false, false, false, 5),
-			6: TableField("Ipv6ActiveGroupListTable", TableAttributeType, 0x0400, TableInfo{nil, 58}, mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MulticastSubscriberMonitor_MeType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(MulticastSubscriberMonitor_CurrentMulticastBandwidth, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
+			3: Uint32Field(MulticastSubscriberMonitor_JoinMessagesCounter, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint32Field(MulticastSubscriberMonitor_BandwidthExceededCounter, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: TableField(MulticastSubscriberMonitor_Ipv4ActiveGroupListTable, TableAttributeType, 0x0800, TableInfo{nil, 24}, mapset.NewSetWith(Read), false, false, false, 5),
+			6: TableField(MulticastSubscriberMonitor_Ipv6ActiveGroupListTable, TableAttributeType, 0x0400, TableInfo{nil, 58}, mapset.NewSetWith(Read), false, true, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go
index e965db7..1dfb11c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -68,10 +68,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const NetworkAddress_SecurityPointer = "SecurityPointer"
+const NetworkAddress_AddressPointer = "AddressPointer"
+
 func init() {
 	networkaddressBME = &ManagedEntityDefinition{
 		Name:    "NetworkAddress",
-		ClassID: 137,
+		ClassID: NetworkAddressClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -80,9 +85,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("SecurityPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("AddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(NetworkAddress_SecurityPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(NetworkAddress_AddressPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go
index 212aa55..59e917f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -104,10 +104,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const NetworkDialPlanTable_DialPlanNumber = "DialPlanNumber"
+const NetworkDialPlanTable_DialPlanTableMaxSize = "DialPlanTableMaxSize"
+const NetworkDialPlanTable_CriticalDialTimeout = "CriticalDialTimeout"
+const NetworkDialPlanTable_PartialDialTimeout = "PartialDialTimeout"
+const NetworkDialPlanTable_DialPlanFormat = "DialPlanFormat"
+const NetworkDialPlanTable_DialPlanTable = "DialPlanTable"
+
 func init() {
 	networkdialplantableBME = &ManagedEntityDefinition{
 		Name:    "NetworkDialPlanTable",
-		ClassID: 145,
+		ClassID: NetworkDialPlanTableClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -118,13 +127,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("DialPlanNumber", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("DialPlanTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 2),
-			3: Uint16Field("CriticalDialTimeout", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("PartialDialTimeout", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: ByteField("DialPlanFormat", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: TableField("DialPlanTable", TableAttributeType, 0x0400, TableInfo{nil, 30}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(NetworkDialPlanTable_DialPlanNumber, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(NetworkDialPlanTable_DialPlanTableMaxSize, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 2),
+			3: Uint16Field(NetworkDialPlanTable_CriticalDialTimeout, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(NetworkDialPlanTable_PartialDialTimeout, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField(NetworkDialPlanTable_DialPlanFormat, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: TableField(NetworkDialPlanTable_DialPlanTable, TableAttributeType, 0x0400, TableInfo{nil, 30}, mapset.NewSetWith(Read, Write), false, false, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go
index 941761d..628a9e6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -138,10 +138,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OctetString_Length = "Length"
+const OctetString_Part1 = "Part1"
+const OctetString_Part2 = "Part2"
+const OctetString_Part3 = "Part3"
+const OctetString_Part4 = "Part4"
+const OctetString_Part5 = "Part5"
+const OctetString_Part6 = "Part6"
+const OctetString_Part7 = "Part7"
+const OctetString_Part8 = "Part8"
+const OctetString_Part9 = "Part9"
+const OctetString_Part10 = "Part10"
+const OctetString_Part11 = "Part11"
+const OctetString_Part12 = "Part12"
+const OctetString_Part13 = "Part13"
+const OctetString_Part14 = "Part14"
+const OctetString_Part15 = "Part15"
+
 func init() {
 	octetstringBME = &ManagedEntityDefinition{
 		Name:    "OctetString",
-		ClassID: 307,
+		ClassID: OctetStringClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -150,23 +169,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("Length", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  MultiByteField("Part1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  MultiByteField("Part2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  MultiByteField("Part3", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  MultiByteField("Part4", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  MultiByteField("Part5", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  MultiByteField("Part6", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  MultiByteField("Part7", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  MultiByteField("Part8", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: MultiByteField("Part9", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: MultiByteField("Part10", OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: MultiByteField("Part11", OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: MultiByteField("Part12", OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: MultiByteField("Part13", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: MultiByteField("Part14", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: MultiByteField("Part15", OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(OctetString_Length, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  MultiByteField(OctetString_Part1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  MultiByteField(OctetString_Part2, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  MultiByteField(OctetString_Part3, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  MultiByteField(OctetString_Part4, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField(OctetString_Part5, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  MultiByteField(OctetString_Part6, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField(OctetString_Part7, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField(OctetString_Part8, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: MultiByteField(OctetString_Part9, OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: MultiByteField(OctetString_Part10, OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: MultiByteField(OctetString_Part11, OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: MultiByteField(OctetString_Part12, OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: MultiByteField(OctetString_Part13, OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: MultiByteField(OctetString_Part14, OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: MultiByteField(OctetString_Part15, OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go
index fbbff70..07e8f79 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,21 +80,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OltG_OltVendorId = "OltVendorId"
+const OltG_EquipmentId = "EquipmentId"
+const OltG_Version = "Version"
+const OltG_TimeOfDayInformation = "TimeOfDayInformation"
+
 func init() {
 	oltgBME = &ManagedEntityDefinition{
 		Name:    "OltG",
-		ClassID: 131,
+		ClassID: OltGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("OltVendorId", StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: MultiByteField("EquipmentId", StringAttributeType, 0x4000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: MultiByteField("Version", StringAttributeType, 0x2000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("TimeOfDayInformation", OctetsAttributeType, 0x1000, 14, toOctets("AAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(OltG_OltVendorId, StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField(OltG_EquipmentId, StringAttributeType, 0x4000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField(OltG_Version, StringAttributeType, 0x2000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(OltG_TimeOfDayInformation, OctetsAttributeType, 0x1000, 14, toOctets("AAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go
index 77b4777..0480bd6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -58,19 +58,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Omci_MeTypeTable = "MeTypeTable"
+const Omci_MessageTypeTable = "MessageTypeTable"
+
 func init() {
 	omciBME = &ManagedEntityDefinition{
 		Name:    "Omci",
-		ClassID: 287,
+		ClassID: OmciClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("MeTypeTable", TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("MessageTypeTable", TableAttributeType, 0x4000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(Omci_MeTypeTable, TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField(Omci_MessageTypeTable, TableAttributeType, 0x4000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go
index 5e845ff2..82ff2ef 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go
index 059e5ca..ff29a0e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go
index 04bdca0..cf259ae 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -157,10 +157,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuG_VendorId = "VendorId"
+const OnuG_Version = "Version"
+const OnuG_SerialNumber = "SerialNumber"
+const OnuG_TrafficManagementOption = "TrafficManagementOption"
+const OnuG_Deprecated = "Deprecated"
+const OnuG_BatteryBackup = "BatteryBackup"
+const OnuG_AdministrativeState = "AdministrativeState"
+const OnuG_OperationalState = "OperationalState"
+const OnuG_OnuSurvivalTime = "OnuSurvivalTime"
+const OnuG_LogicalOnuId = "LogicalOnuId"
+const OnuG_LogicalPassword = "LogicalPassword"
+const OnuG_CredentialsStatus = "CredentialsStatus"
+const OnuG_ExtendedTcLayerOptions = "ExtendedTcLayerOptions"
+
 func init() {
 	onugBME = &ManagedEntityDefinition{
 		Name:    "OnuG",
-		ClassID: 256,
+		ClassID: OnuGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Reboot,
@@ -170,20 +186,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("VendorId", StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2:  MultiByteField("Version", StringAttributeType, 0x4000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 2),
-			3:  MultiByteField("SerialNumber", OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("TrafficManagementOption", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, true, 5),
-			6:  ByteField("BatteryBackup", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("OperationalState", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("OnuSurvivalTime", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: MultiByteField("LogicalOnuId", OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
-			11: MultiByteField("LogicalPassword", OctetsAttributeType, 0x0020, 12, toOctets("AAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("CredentialsStatus", EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("ExtendedTcLayerOptions", BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(OnuG_VendorId, StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField(OnuG_Version, StringAttributeType, 0x4000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField(OnuG_SerialNumber, OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(OnuG_TrafficManagementOption, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(OnuG_Deprecated, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, true, 5),
+			6:  ByteField(OnuG_BatteryBackup, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(OnuG_AdministrativeState, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(OnuG_OperationalState, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(OnuG_OnuSurvivalTime, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: MultiByteField(OnuG_LogicalOnuId, OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
+			11: MultiByteField(OnuG_LogicalPassword, OctetsAttributeType, 0x0020, 12, toOctets("AAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(OnuG_CredentialsStatus, EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(OnuG_ExtendedTcLayerOptions, BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go
index 6ee350e..54c7905 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -216,31 +216,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Onu2G_EquipmentId = "EquipmentId"
+const Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion = "OpticalNetworkUnitManagementAndControlChannelOmccVersion"
+const Onu2G_VendorProductCode = "VendorProductCode"
+const Onu2G_SecurityCapability = "SecurityCapability"
+const Onu2G_SecurityMode = "SecurityMode"
+const Onu2G_TotalPriorityQueueNumber = "TotalPriorityQueueNumber"
+const Onu2G_TotalTrafficSchedulerNumber = "TotalTrafficSchedulerNumber"
+const Onu2G_Deprecated = "Deprecated"
+const Onu2G_TotalGemPortIdNumber = "TotalGemPortIdNumber"
+const Onu2G_Sysuptime = "Sysuptime"
+const Onu2G_ConnectivityCapability = "ConnectivityCapability"
+const Onu2G_CurrentConnectivityMode = "CurrentConnectivityMode"
+const Onu2G_QualityOfServiceQosConfigurationFlexibility = "QualityOfServiceQosConfigurationFlexibility"
+const Onu2G_PriorityQueueScaleFactor = "PriorityQueueScaleFactor"
+
 func init() {
 	onu2gBME = &ManagedEntityDefinition{
 		Name:    "Onu2G",
-		ClassID: 257,
+		ClassID: Onu2GClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("EquipmentId", StringAttributeType, 0x8000, 20, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, true, false, 1),
-			2:  ByteField("OpticalNetworkUnitManagementAndControlChannelOmccVersion", EnumerationAttributeType, 0x4000, 164, mapset.NewSetWith(Read), true, false, false, 2),
-			3:  Uint16Field("VendorProductCode", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  ByteField("SecurityCapability", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("SecurityMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("TotalPriorityQueueNumber", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("TotalTrafficSchedulerNumber", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0100, 1, mapset.NewSetWith(Read), false, false, true, 8),
-			9:  Uint16Field("TotalGemPortIdNumber", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("Sysuptime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("ConnectivityCapability", BitFieldAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("CurrentConnectivityMode", BitFieldAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("QualityOfServiceQosConfigurationFlexibility", BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint16Field("PriorityQueueScaleFactor", UnsignedIntegerAttributeType, 0x0004, 1, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(Onu2G_EquipmentId, StringAttributeType, 0x8000, 20, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, true, false, 1),
+			2:  ByteField(Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion, EnumerationAttributeType, 0x4000, 164, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  Uint16Field(Onu2G_VendorProductCode, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField(Onu2G_SecurityCapability, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(Onu2G_SecurityMode, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(Onu2G_TotalPriorityQueueNumber, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Onu2G_TotalTrafficSchedulerNumber, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField(Onu2G_Deprecated, UnsignedIntegerAttributeType, 0x0100, 1, mapset.NewSetWith(Read), false, false, true, 8),
+			9:  Uint16Field(Onu2G_TotalGemPortIdNumber, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(Onu2G_Sysuptime, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(Onu2G_ConnectivityCapability, BitFieldAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Onu2G_CurrentConnectivityMode, BitFieldAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(Onu2G_QualityOfServiceQosConfigurationFlexibility, BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field(Onu2G_PriorityQueueScaleFactor, UnsignedIntegerAttributeType, 0x0004, 1, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go
index 3e156b6..b879ed7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -122,26 +122,39 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Onu3G_FlashMemoryPerformanceValue = "FlashMemoryPerformanceValue"
+const Onu3G_LatestRestartReason = "LatestRestartReason"
+const Onu3G_TotalNumberOfStatusSnapshots = "TotalNumberOfStatusSnapshots"
+const Onu3G_NumberOfValidStatusSnapshots = "NumberOfValidStatusSnapshots"
+const Onu3G_NextStatusSnapshotIndex = "NextStatusSnapshotIndex"
+const Onu3G_StatusSnapshotRecordTable = "StatusSnapshotRecordTable"
+const Onu3G_SnapAction = "SnapAction"
+const Onu3G_MostRecentStatusSnapshot = "MostRecentStatusSnapshot"
+const Onu3G_ResetAction = "ResetAction"
+const Onu3G_EnhancedMode = "EnhancedMode"
+
 func init() {
 	onu3gBME = &ManagedEntityDefinition{
 		Name:    "Onu3G",
-		ClassID: 441,
+		ClassID: Onu3GClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("FlashMemoryPerformanceValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, true, false, 1),
-			2:  ByteField("LatestRestartReason", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("TotalNumberOfStatusSnapshots", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
-			4:  Uint16Field("NumberOfValidStatusSnapshots", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("NextStatusSnapshotIndex", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  MultiByteField("StatusSnapshotRecordTable", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("SnapAction", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
-			8:  MultiByteField("MostRecentStatusSnapshot", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("ResetAction", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Write), false, false, false, 9),
-			10: ByteField("EnhancedMode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Onu3G_FlashMemoryPerformanceValue, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, true, false, 1),
+			2:  ByteField(Onu3G_LatestRestartReason, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(Onu3G_TotalNumberOfStatusSnapshots, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
+			4:  Uint16Field(Onu3G_NumberOfValidStatusSnapshots, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(Onu3G_NextStatusSnapshotIndex, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  MultiByteField(Onu3G_StatusSnapshotRecordTable, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Onu3G_SnapAction, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
+			8:  MultiByteField(Onu3G_MostRecentStatusSnapshot, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(Onu3G_ResetAction, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Write), false, false, false, 9),
+			10: ByteField(Onu3G_EnhancedMode, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go
index 4e22678..e31b2b2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -58,10 +58,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuData_MibDataSync = "MibDataSync"
+
 func init() {
 	onudataBME = &ManagedEntityDefinition{
 		Name:    "OnuData",
-		ClassID: 2,
+		ClassID: OnuDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetAllAlarms,
@@ -73,8 +77,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("MibDataSync", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(OnuData_MibDataSync, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go
index ebb2f39..3a22c36 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -152,29 +152,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuDynamicPowerManagementControl_PowerReductionManagementCapability = "PowerReductionManagementCapability"
+const OnuDynamicPowerManagementControl_PowerReductionManagementMode = "PowerReductionManagementMode"
+const OnuDynamicPowerManagementControl_Itransinit = "Itransinit"
+const OnuDynamicPowerManagementControl_Itxinit = "Itxinit"
+const OnuDynamicPowerManagementControl_MaximumSleepInterval = "MaximumSleepInterval"
+const OnuDynamicPowerManagementControl_MaximumReceiverOffInterval = "MaximumReceiverOffInterval"
+const OnuDynamicPowerManagementControl_MinimumAwareInterval = "MinimumAwareInterval"
+const OnuDynamicPowerManagementControl_MinimumActiveHeldInterval = "MinimumActiveHeldInterval"
+const OnuDynamicPowerManagementControl_MaximumSleepIntervalExtension = "MaximumSleepIntervalExtension"
+const OnuDynamicPowerManagementControl_EthernetPassiveOpticalNetworkEponCapabilityExtension = "EthernetPassiveOpticalNetworkEponCapabilityExtension"
+const OnuDynamicPowerManagementControl_EponSetupExtension = "EponSetupExtension"
+const OnuDynamicPowerManagementControl_MissingConsecutiveBurstsThreshold = "MissingConsecutiveBurstsThreshold"
+
 func init() {
 	onudynamicpowermanagementcontrolBME = &ManagedEntityDefinition{
 		Name:    "OnuDynamicPowerManagementControl",
-		ClassID: 336,
+		ClassID: OnuDynamicPowerManagementControlClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("PowerReductionManagementCapability", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("PowerReductionManagementMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint16Field("Itransinit", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("Itxinit", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("MaximumSleepInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint32Field("MaximumReceiverOffInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint32Field("MinimumAwareInterval", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("MinimumActiveHeldInterval", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint64Field("MaximumSleepIntervalExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("EthernetPassiveOpticalNetworkEponCapabilityExtension", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("EponSetupExtension", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint32Field("MissingConsecutiveBurstsThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(OnuDynamicPowerManagementControl_PowerReductionManagementCapability, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(OnuDynamicPowerManagementControl_PowerReductionManagementMode, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field(OnuDynamicPowerManagementControl_Itransinit, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(OnuDynamicPowerManagementControl_Itxinit, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(OnuDynamicPowerManagementControl_MaximumSleepInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field(OnuDynamicPowerManagementControl_MaximumReceiverOffInterval, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field(OnuDynamicPowerManagementControl_MinimumAwareInterval, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(OnuDynamicPowerManagementControl_MinimumActiveHeldInterval, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint64Field(OnuDynamicPowerManagementControl_MaximumSleepIntervalExtension, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(OnuDynamicPowerManagementControl_EthernetPassiveOpticalNetworkEponCapabilityExtension, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(OnuDynamicPowerManagementControl_EponSetupExtension, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint32Field(OnuDynamicPowerManagementControl_MissingConsecutiveBurstsThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go
index 8e01750..71f5827 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -49,11 +49,17 @@
 //			This attribute contains the manufacturer name of this physical ONU. The preferred value is the
 //			manufacturer name string printed on the ONU itself (if present). (R) (optional) (25 bytes)
 //
-//		Serial Number Part 1, Serial Number Part 2
-//			These two attributes may be regarded as an ASCII string of up to 32 bytes whose length is a left
-//			justified manufacturer's serial number for this physical ONU. The preferred value is the
-//			manufacturer serial number string printed on the ONU itself (if present). (R) (optional)
-//			(25-bytes*2 attributes)
+//		Serial Number 1
+//			Serial number part 1, serial number part 2: These two attributes may be regarded as an ASCII
+//			string of up to 32 bytes whose length is a left justified manufacturer's serial number for this
+//			physical ONU. The preferred value is the manufacturer serial number string printed on the ONU
+//			itself (if present). (R) (optional) (25-bytes*2 attributes)
+//
+//		Serial Number 2
+//			Serial number part 1, serial number part 2: These two attributes may be regarded as an ASCII
+//			string of up to 32 bytes whose length is a left justified manufacturer's serial number for this
+//			physical ONU. The preferred value is the manufacturer serial number string printed on the ONU
+//			itself (if present). (R) (optional) (25-bytes*2 attributes)
 //
 //		Model Name
 //			This attribute contains the vendor specific model name identifier string. The preferred value is
@@ -78,22 +84,33 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuManufacturingData_ManufacturerName = "ManufacturerName"
+const OnuManufacturingData_SerialNumber1 = "SerialNumber1"
+const OnuManufacturingData_SerialNumber2 = "SerialNumber2"
+const OnuManufacturingData_ModelName = "ModelName"
+const OnuManufacturingData_ManufacturingDate = "ManufacturingDate"
+const OnuManufacturingData_HardwareRevision = "HardwareRevision"
+const OnuManufacturingData_FirmwareRevision = "FirmwareRevision"
+
 func init() {
 	onumanufacturingdataBME = &ManagedEntityDefinition{
 		Name:    "OnuManufacturingData",
-		ClassID: 456,
+		ClassID: OnuManufacturingDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0xfc00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("ManufacturerName", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
-			2: MultiByteField("SerialNumberPart1,SerialNumberPart2", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
-			3: MultiByteField("ModelName", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
-			4: MultiByteField("ManufacturingDate", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
-			5: MultiByteField("HardwareRevision", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
-			6: MultiByteField("FirmwareRevision", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(OnuManufacturingData_ManufacturerName, OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
+			2: MultiByteField(OnuManufacturingData_SerialNumber1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
+			3: MultiByteField(OnuManufacturingData_SerialNumber2, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField(OnuManufacturingData_ModelName, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField(OnuManufacturingData_ManufacturingDate, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6: MultiByteField(OnuManufacturingData_HardwareRevision, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
+			7: MultiByteField(OnuManufacturingData_FirmwareRevision, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 7),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go
index e791ace..5df9566 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -127,28 +127,42 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuPowerShedding_RestorePowerTimerResetInterval = "RestorePowerTimerResetInterval"
+const OnuPowerShedding_DataClassSheddingInterval = "DataClassSheddingInterval"
+const OnuPowerShedding_VoiceClassSheddingInterval = "VoiceClassSheddingInterval"
+const OnuPowerShedding_VideoOverlayClassSheddingInterval = "VideoOverlayClassSheddingInterval"
+const OnuPowerShedding_VideoReturnClassSheddingInterval = "VideoReturnClassSheddingInterval"
+const OnuPowerShedding_DigitalSubscriberLineClassSheddingInterval = "DigitalSubscriberLineClassSheddingInterval"
+const OnuPowerShedding_AtmClassSheddingInterval = "AtmClassSheddingInterval"
+const OnuPowerShedding_CesClassSheddingInterval = "CesClassSheddingInterval"
+const OnuPowerShedding_FrameClassSheddingInterval = "FrameClassSheddingInterval"
+const OnuPowerShedding_SdhSonetClassSheddingInterval = "SdhSonetClassSheddingInterval"
+const OnuPowerShedding_SheddingStatus = "SheddingStatus"
+
 func init() {
 	onupowersheddingBME = &ManagedEntityDefinition{
 		Name:    "OnuPowerShedding",
-		ClassID: 133,
+		ClassID: OnuPowerSheddingClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint16Field("RestorePowerTimerResetInterval", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  Uint16Field("DataClassSheddingInterval", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint16Field("VoiceClassSheddingInterval", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("VideoOverlayClassSheddingInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("VideoReturnClassSheddingInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("DigitalSubscriberLineClassSheddingInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("AtmClassSheddingInterval", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("CesClassSheddingInterval", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint16Field("FrameClassSheddingInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint16Field("SdhSonetClassSheddingInterval", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint16Field("SheddingStatus", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field(OnuPowerShedding_RestorePowerTimerResetInterval, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint16Field(OnuPowerShedding_DataClassSheddingInterval, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field(OnuPowerShedding_VoiceClassSheddingInterval, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(OnuPowerShedding_VideoOverlayClassSheddingInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field(OnuPowerShedding_VideoReturnClassSheddingInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(OnuPowerShedding_DigitalSubscriberLineClassSheddingInterval, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(OnuPowerShedding_AtmClassSheddingInterval, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(OnuPowerShedding_CesClassSheddingInterval, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint16Field(OnuPowerShedding_FrameClassSheddingInterval, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint16Field(OnuPowerShedding_SdhSonetClassSheddingInterval, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field(OnuPowerShedding_SheddingStatus, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go
index 5a242ac..763aed9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -71,10 +71,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuRemoteDebug_CommandFormat = "CommandFormat"
+const OnuRemoteDebug_Command = "Command"
+const OnuRemoteDebug_ReplyTable = "ReplyTable"
+
 func init() {
 	onuremotedebugBME = &ManagedEntityDefinition{
 		Name:    "OnuRemoteDebug",
-		ClassID: 158,
+		ClassID: OnuRemoteDebugClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -82,10 +88,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("CommandFormat", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: MultiByteField("Command", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 2),
-			3: TableField("ReplyTable", TableAttributeType, 0x2000, TableInfo{nil, -1}, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(OnuRemoteDebug_CommandFormat, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: MultiByteField(OnuRemoteDebug_Command, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 2),
+			3: TableField(OnuRemoteDebug_ReplyTable, TableAttributeType, 0x2000, TableInfo{nil, -1}, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go
index 7f25731..bc6e38b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -60,19 +60,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuTimeConfiguration_CurrentLocalOnuTime = "CurrentLocalOnuTime"
+const OnuTimeConfiguration_TimeQualificationBlock = "TimeQualificationBlock"
+
 func init() {
 	onutimeconfigurationBME = &ManagedEntityDefinition{
 		Name:    "OnuTimeConfiguration",
-		ClassID: 457,
+		ClassID: OnuTimeConfigurationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("CurrentLocalOnuTime", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("TimeQualificationBlock", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(OnuTimeConfiguration_CurrentLocalOnuTime, OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(OnuTimeConfiguration_TimeQualificationBlock, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go
index a863363..85ef623 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -214,29 +214,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointCesUni_ExpectedType = "ExpectedType"
+const PhysicalPathTerminationPointCesUni_SensedType = "SensedType"
+const PhysicalPathTerminationPointCesUni_CesLoopbackConfiguration = "CesLoopbackConfiguration"
+const PhysicalPathTerminationPointCesUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointCesUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointCesUni_Framing = "Framing"
+const PhysicalPathTerminationPointCesUni_Encoding = "Encoding"
+const PhysicalPathTerminationPointCesUni_LineLength = "LineLength"
+const PhysicalPathTerminationPointCesUni_Ds1Mode = "Ds1Mode"
+const PhysicalPathTerminationPointCesUni_Arc = "Arc"
+const PhysicalPathTerminationPointCesUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointCesUni_LineType = "LineType"
+
 func init() {
 	physicalpathterminationpointcesuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointCesUni",
-		ClassID: 12,
+		ClassID: PhysicalPathTerminationPointCesUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ExpectedType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("SensedType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
-			3:  ByteField("CesLoopbackConfiguration", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, false, false, 3),
-			4:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), true, true, false, 5),
-			6:  ByteField("Framing", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("Encoding", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("LineLength", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("Ds1Mode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("Arc", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), true, true, false, 10),
-			11: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("LineType", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointCesUni_ExpectedType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointCesUni_SensedType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointCesUni_CesLoopbackConfiguration, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, false, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointCesUni_AdministrativeState, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointCesUni_OperationalState, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), true, true, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointCesUni_Framing, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointCesUni_Encoding, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointCesUni_LineLength, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointCesUni_Ds1Mode, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointCesUni_Arc, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), true, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointCesUni_ArcInterval, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointCesUni_LineType, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go
index c72fbf0..a924899 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -193,32 +193,50 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointEthernetUni_ExpectedType = "ExpectedType"
+const PhysicalPathTerminationPointEthernetUni_SensedType = "SensedType"
+const PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration = "AutoDetectionConfiguration"
+const PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration = "EthernetLoopbackConfiguration"
+const PhysicalPathTerminationPointEthernetUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointEthernetUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointEthernetUni_ConfigurationInd = "ConfigurationInd"
+const PhysicalPathTerminationPointEthernetUni_MaxFrameSize = "MaxFrameSize"
+const PhysicalPathTerminationPointEthernetUni_DteOrDceInd = "DteOrDceInd"
+const PhysicalPathTerminationPointEthernetUni_PauseTime = "PauseTime"
+const PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd = "BridgedOrIpInd"
+const PhysicalPathTerminationPointEthernetUni_Arc = "Arc"
+const PhysicalPathTerminationPointEthernetUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointEthernetUni_PppoeFilter = "PppoeFilter"
+const PhysicalPathTerminationPointEthernetUni_PowerControl = "PowerControl"
+
 func init() {
 	physicalpathterminationpointethernetuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointEthernetUni",
-		ClassID: 11,
+		ClassID: PhysicalPathTerminationPointEthernetUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ExpectedType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("SensedType", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
-			3:  ByteField("AutoDetectionConfiguration", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("EthernetLoopbackConfiguration", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
-			7:  ByteField("ConfigurationInd", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("MaxFrameSize", UnsignedIntegerAttributeType, 0x0100, 1518, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("DteOrDceInd", EnumerationAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint16Field("PauseTime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("BridgedOrIpInd", EnumerationAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("Arc", EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), true, true, false, 12),
-			13: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("PppoeFilter", EnumerationAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("PowerControl", EnumerationAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointEthernetUni_ExpectedType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointEthernetUni_SensedType, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointEthernetUni_AdministrativeState, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointEthernetUni_OperationalState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointEthernetUni_ConfigurationInd, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(PhysicalPathTerminationPointEthernetUni_MaxFrameSize, UnsignedIntegerAttributeType, 0x0100, 1518, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointEthernetUni_DteOrDceInd, EnumerationAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint16Field(PhysicalPathTerminationPointEthernetUni_PauseTime, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd, EnumerationAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointEthernetUni_Arc, EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), true, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointEthernetUni_ArcInterval, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(PhysicalPathTerminationPointEthernetUni_PppoeFilter, EnumerationAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(PhysicalPathTerminationPointEthernetUni_PowerControl, EnumerationAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go
index b6381e6..2ada3be 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,18 +81,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointLctUni_AdministrativeState = "AdministrativeState"
+
 func init() {
 	physicalpathterminationpointlctuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointLctUni",
-		ClassID: 83,
+		ClassID: PhysicalPathTerminationPointLctUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(PhysicalPathTerminationPointLctUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go
index cb35f78..dbe8c46 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -137,31 +137,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointMocaUni_LoopbackConfiguration = "LoopbackConfiguration"
+const PhysicalPathTerminationPointMocaUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointMocaUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointMocaUni_MaxFrameSize = "MaxFrameSize"
+const PhysicalPathTerminationPointMocaUni_Arc = "Arc"
+const PhysicalPathTerminationPointMocaUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointMocaUni_PppoeFilter = "PppoeFilter"
+const PhysicalPathTerminationPointMocaUni_NetworkStatus = "NetworkStatus"
+const PhysicalPathTerminationPointMocaUni_Password = "Password"
+const PhysicalPathTerminationPointMocaUni_PrivacyEnabled = "PrivacyEnabled"
+const PhysicalPathTerminationPointMocaUni_MinimumBandwidthAlarmThreshold = "MinimumBandwidthAlarmThreshold"
+const PhysicalPathTerminationPointMocaUni_FrequencyMask = "FrequencyMask"
+const PhysicalPathTerminationPointMocaUni_RfChannel = "RfChannel"
+const PhysicalPathTerminationPointMocaUni_LastOperationalFrequency = "LastOperationalFrequency"
+
 func init() {
 	physicalpathterminationpointmocauniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointMocaUni",
-		ClassID: 162,
+		ClassID: PhysicalPathTerminationPointMocaUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("LoopbackConfiguration", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
-			4:  Uint16Field("MaxFrameSize", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("Arc", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), true, true, false, 5),
-			6:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("PppoeFilter", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("NetworkStatus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  MultiByteField("Password", OctetsAttributeType, 0x0080, 17, toOctets("AAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("PrivacyEnabled", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint16Field("MinimumBandwidthAlarmThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint32Field("FrequencyMask", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("RfChannel", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("LastOperationalFrequency", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointMocaUni_LoopbackConfiguration, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointMocaUni_AdministrativeState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointMocaUni_OperationalState, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
+			4:  Uint16Field(PhysicalPathTerminationPointMocaUni_MaxFrameSize, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointMocaUni_Arc, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), true, true, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointMocaUni_ArcInterval, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointMocaUni_PppoeFilter, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointMocaUni_NetworkStatus, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  MultiByteField(PhysicalPathTerminationPointMocaUni_Password, OctetsAttributeType, 0x0080, 17, toOctets("AAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(PhysicalPathTerminationPointMocaUni_PrivacyEnabled, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field(PhysicalPathTerminationPointMocaUni_MinimumBandwidthAlarmThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint32Field(PhysicalPathTerminationPointMocaUni_FrequencyMask, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(PhysicalPathTerminationPointMocaUni_RfChannel, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(PhysicalPathTerminationPointMocaUni_LastOperationalFrequency, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go
index 8b7f6c7..ea700dd 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -151,10 +151,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointPotsUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointPotsUni_Deprecated = "Deprecated"
+const PhysicalPathTerminationPointPotsUni_Arc = "Arc"
+const PhysicalPathTerminationPointPotsUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointPotsUni_Impedance = "Impedance"
+const PhysicalPathTerminationPointPotsUni_TransmissionPath = "TransmissionPath"
+const PhysicalPathTerminationPointPotsUni_RxGain = "RxGain"
+const PhysicalPathTerminationPointPotsUni_TxGain = "TxGain"
+const PhysicalPathTerminationPointPotsUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointPotsUni_HookState = "HookState"
+const PhysicalPathTerminationPointPotsUni_PotsHoldoverTime = "PotsHoldoverTime"
+const PhysicalPathTerminationPointPotsUni_NominalFeedVoltage = "NominalFeedVoltage"
+const PhysicalPathTerminationPointPotsUni_LossOfSoftswitch = "LossOfSoftswitch"
+
 func init() {
 	physicalpathterminationpointpotsuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointPotsUni",
-		ClassID: 53,
+		ClassID: PhysicalPathTerminationPointPotsUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -162,20 +178,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
-			2:  Uint16Field("Deprecated", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, true, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("Impedance", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  ByteField("TransmissionPath", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("RxGain", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("TxGain", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
-			10: ByteField("HookState", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("PotsHoldoverTime", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("NominalFeedVoltage", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("LossOfSoftswitch", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointPotsUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
+			2:  Uint16Field(PhysicalPathTerminationPointPotsUni_Deprecated, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, true, 2),
+			3:  ByteField(PhysicalPathTerminationPointPotsUni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointPotsUni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointPotsUni_Impedance, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointPotsUni_TransmissionPath, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointPotsUni_RxGain, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointPotsUni_TxGain, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointPotsUni_OperationalState, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointPotsUni_HookState, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(PhysicalPathTerminationPointPotsUni_PotsHoldoverTime, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointPotsUni_NominalFeedVoltage, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointPotsUni_LossOfSoftswitch, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go
index ac1492e..4a4b56d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -179,10 +179,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointReUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointReUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointReUni_Arc = "Arc"
+const PhysicalPathTerminationPointReUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointReUni_ReAniGPointer = "ReAniGPointer"
+const PhysicalPathTerminationPointReUni_TotalOpticalReceiveSignalLevelTable = "TotalOpticalReceiveSignalLevelTable"
+const PhysicalPathTerminationPointReUni_PerBurstReceiveSignalLevelTable = "PerBurstReceiveSignalLevelTable"
+const PhysicalPathTerminationPointReUni_LowerReceiveOpticalThreshold = "LowerReceiveOpticalThreshold"
+const PhysicalPathTerminationPointReUni_UpperReceiveOpticalThreshold = "UpperReceiveOpticalThreshold"
+const PhysicalPathTerminationPointReUni_TransmitOpticalLevel = "TransmitOpticalLevel"
+const PhysicalPathTerminationPointReUni_LowerTransmitPowerThreshold = "LowerTransmitPowerThreshold"
+const PhysicalPathTerminationPointReUni_UpperTransmitPowerThreshold = "UpperTransmitPowerThreshold"
+const PhysicalPathTerminationPointReUni_AdditionalPreamble = "AdditionalPreamble"
+const PhysicalPathTerminationPointReUni_AdditionalGuardTime = "AdditionalGuardTime"
+const PhysicalPathTerminationPointReUni_ConnectedOnusTable = "ConnectedOnusTable"
+const PhysicalPathTerminationPointReUni_ClearOnuTable = "ClearOnuTable"
+
 func init() {
 	physicalpathterminationpointreuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointReUni",
-		ClassID: 314,
+		ClassID: PhysicalPathTerminationPointReUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -190,23 +209,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("ReAniGPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  TableField("TotalOpticalReceiveSignalLevelTable", TableAttributeType, 0x0400, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  TableField("PerBurstReceiveSignalLevelTable", TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  ByteField("LowerReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("UpperReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("TransmitOpticalLevel", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("LowerTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("UpperTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("AdditionalPreamble", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: ByteField("AdditionalGuardTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: TableField("ConnectedOnusTable", TableAttributeType, 0x0002, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 15),
-			16: TableField("ClearOnuTable", TableAttributeType, 0x0001, TableInfo{nil, 1}, mapset.NewSetWith(Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointReUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointReUni_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointReUni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointReUni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(PhysicalPathTerminationPointReUni_ReAniGPointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  TableField(PhysicalPathTerminationPointReUni_TotalOpticalReceiveSignalLevelTable, TableAttributeType, 0x0400, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  TableField(PhysicalPathTerminationPointReUni_PerBurstReceiveSignalLevelTable, TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointReUni_LowerReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointReUni_UpperReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(PhysicalPathTerminationPointReUni_TransmitOpticalLevel, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointReUni_LowerTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointReUni_UpperTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointReUni_AdditionalPreamble, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: ByteField(PhysicalPathTerminationPointReUni_AdditionalGuardTime, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: TableField(PhysicalPathTerminationPointReUni_ConnectedOnusTable, TableAttributeType, 0x0002, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 15),
+			16: TableField(PhysicalPathTerminationPointReUni_ClearOnuTable, TableAttributeType, 0x0001, TableInfo{nil, 1}, mapset.NewSetWith(Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go
index c0728fe..949a9de 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -237,33 +237,52 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointVideoAni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointVideoAni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointVideoAni_Arc = "Arc"
+const PhysicalPathTerminationPointVideoAni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointVideoAni_FrequencyRangeLow = "FrequencyRangeLow"
+const PhysicalPathTerminationPointVideoAni_FrequencyRangeHigh = "FrequencyRangeHigh"
+const PhysicalPathTerminationPointVideoAni_SignalCapability = "SignalCapability"
+const PhysicalPathTerminationPointVideoAni_OpticalSignalLevel = "OpticalSignalLevel"
+const PhysicalPathTerminationPointVideoAni_PilotSignalLevel = "PilotSignalLevel"
+const PhysicalPathTerminationPointVideoAni_SignalLevelMin = "SignalLevelMin"
+const PhysicalPathTerminationPointVideoAni_SignalLevelMax = "SignalLevelMax"
+const PhysicalPathTerminationPointVideoAni_PilotFrequency = "PilotFrequency"
+const PhysicalPathTerminationPointVideoAni_AgcMode = "AgcMode"
+const PhysicalPathTerminationPointVideoAni_AgcSetting = "AgcSetting"
+const PhysicalPathTerminationPointVideoAni_VideoLowerOpticalThreshold = "VideoLowerOpticalThreshold"
+const PhysicalPathTerminationPointVideoAni_VideoUpperOpticalThreshold = "VideoUpperOpticalThreshold"
+
 func init() {
 	physicalpathterminationpointvideoaniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointVideoAni",
-		ClassID: 90,
+		ClassID: PhysicalPathTerminationPointVideoAniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("FrequencyRangeLow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("FrequencyRangeHigh", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("SignalCapability", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  ByteField("OpticalSignalLevel", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("PilotSignalLevel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("SignalLevelMin", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: ByteField("SignalLevelMax", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("PilotFrequency", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("AgcMode", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("AgcSetting", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("VideoLowerOpticalThreshold", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("VideoUpperOpticalThreshold", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointVideoAni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointVideoAni_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointVideoAni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointVideoAni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointVideoAni_FrequencyRangeLow, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointVideoAni_FrequencyRangeHigh, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointVideoAni_SignalCapability, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointVideoAni_OpticalSignalLevel, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointVideoAni_PilotSignalLevel, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointVideoAni_SignalLevelMin, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField(PhysicalPathTerminationPointVideoAni_SignalLevelMax, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(PhysicalPathTerminationPointVideoAni_PilotFrequency, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointVideoAni_AgcMode, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(PhysicalPathTerminationPointVideoAni_AgcSetting, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(PhysicalPathTerminationPointVideoAni_VideoLowerOpticalThreshold, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(PhysicalPathTerminationPointVideoAni_VideoUpperOpticalThreshold, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go
index 40d8f61..89d8cab 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,22 +83,30 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointVideoUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointVideoUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointVideoUni_Arc = "Arc"
+const PhysicalPathTerminationPointVideoUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointVideoUni_PowerControl = "PowerControl"
+
 func init() {
 	physicalpathterminationpointvideouniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointVideoUni",
-		ClassID: 82,
+		ClassID: PhysicalPathTerminationPointVideoUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3: ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: ByteField("PowerControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(PhysicalPathTerminationPointVideoUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(PhysicalPathTerminationPointVideoUni_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3: ByteField(PhysicalPathTerminationPointVideoUni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4: ByteField(PhysicalPathTerminationPointVideoUni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField(PhysicalPathTerminationPointVideoUni_PowerControl, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go
index cec0633..6be89c6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -140,30 +140,46 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointXdslUniPart1_LoopbackConfiguration = "LoopbackConfiguration"
+const PhysicalPathTerminationPointXdslUniPart1_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointXdslUniPart1_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointXdslUniPart1_XdslLineConfigurationProfile = "XdslLineConfigurationProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingDownstreamProfile = "XdslSubcarrierMaskingDownstreamProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingUpstreamProfile = "XdslSubcarrierMaskingUpstreamProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamPowerSpectralDensityPsdMaskProfile = "XdslDownstreamPowerSpectralDensityPsdMaskProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamRfiBandsProfile = "XdslDownstreamRfiBandsProfile"
+const PhysicalPathTerminationPointXdslUniPart1_Arc = "Arc"
+const PhysicalPathTerminationPointXdslUniPart1_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointXdslUniPart1_ModemType = "ModemType"
+const PhysicalPathTerminationPointXdslUniPart1_UpstreamPsdMaskProfile = "UpstreamPsdMaskProfile"
+const PhysicalPathTerminationPointXdslUniPart1_NetworkSpecificExtensionsPointer = "NetworkSpecificExtensionsPointer"
+
 func init() {
 	physicalpathterminationpointxdslunipart1BME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointXdslUniPart1",
-		ClassID: 98,
+		ClassID: PhysicalPathTerminationPointXdslUniPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("LoopbackConfiguration", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
-			4:  Uint16Field("XdslLineConfigurationProfile", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("XdslSubcarrierMaskingDownstreamProfile", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("XdslSubcarrierMaskingUpstreamProfile", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("XdslDownstreamPowerSpectralDensityPsdMaskProfile", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("XdslDownstreamRfiBandsProfile", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("Arc", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), true, true, false, 9),
-			10: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("ModemType", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("UpstreamPsdMaskProfile", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("NetworkSpecificExtensionsPointer", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointXdslUniPart1_LoopbackConfiguration, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointXdslUniPart1_AdministrativeState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointXdslUniPart1_OperationalState, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
+			4:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslLineConfigurationProfile, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingDownstreamProfile, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingUpstreamProfile, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamPowerSpectralDensityPsdMaskProfile, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamRfiBandsProfile, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointXdslUniPart1_Arc, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), true, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointXdslUniPart1_ArcInterval, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointXdslUniPart1_ModemType, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field(PhysicalPathTerminationPointXdslUniPart1_UpstreamPsdMaskProfile, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(PhysicalPathTerminationPointXdslUniPart1_NetworkSpecificExtensionsPointer, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go
index 6aca5a1..e243de4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,25 +79,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Downstream = "XdslChannelConfigurationProfileForBearerChannel0Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Downstream = "XdslChannelConfigurationProfileForBearerChannel1Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Downstream = "XdslChannelConfigurationProfileForBearerChannel2Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Downstream = "XdslChannelConfigurationProfileForBearerChannel3Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Upstream = "XdslChannelConfigurationProfileForBearerChannel0Upstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Upstream = "XdslChannelConfigurationProfileForBearerChannel1Upstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Upstream = "XdslChannelConfigurationProfileForBearerChannel2Upstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Upstream = "XdslChannelConfigurationProfileForBearerChannel3Upstream"
+
 func init() {
 	physicalpathterminationpointxdslunipart2BME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointXdslUniPart2",
-		ClassID: 99,
+		ClassID: PhysicalPathTerminationPointXdslUniPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Downstream", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Downstream", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Downstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Downstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Upstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Upstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Upstream", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Upstream", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Downstream, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Downstream, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Downstream, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Downstream, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Upstream, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Upstream, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Upstream, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Upstream, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go
index 454a126..da84b21 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -75,21 +75,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointXdslUniPart3_FastLineConfigurationProfile = "FastLineConfigurationProfile"
+const PhysicalPathTerminationPointXdslUniPart3_FastDataPathConfigurationProfile = "FastDataPathConfigurationProfile"
+const PhysicalPathTerminationPointXdslUniPart3_FastChannelConfigurationProfileForBearerChannel0Downstream = "FastChannelConfigurationProfileForBearerChannel0Downstream"
+const PhysicalPathTerminationPointXdslUniPart3_FastXdslChannelConfigurationProfileForBearerChannel0Upstream = "FastXdslChannelConfigurationProfileForBearerChannel0Upstream"
+
 func init() {
 	physicalpathterminationpointxdslunipart3BME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointXdslUniPart3",
-		ClassID: 427,
+		ClassID: PhysicalPathTerminationPointXdslUniPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("FastLineConfigurationProfile", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: Uint16Field("FastDataPathConfigurationProfile", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("FastChannelConfigurationProfileForBearerChannel0Downstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("FastXdslChannelConfigurationProfileForBearerChannel0Upstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastLineConfigurationProfile, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastDataPathConfigurationProfile, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastChannelConfigurationProfileForBearerChannel0Downstream, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastXdslChannelConfigurationProfileForBearerChannel0Upstream, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go
index e58ae53..d2c81a4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -247,33 +247,52 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PriorityQueue_QueueConfigurationOption = "QueueConfigurationOption"
+const PriorityQueue_MaximumQueueSize = "MaximumQueueSize"
+const PriorityQueue_AllocatedQueueSize = "AllocatedQueueSize"
+const PriorityQueue_DiscardBlockCounterResetInterval = "DiscardBlockCounterResetInterval"
+const PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow = "ThresholdValueForDiscardedBlocksDueToBufferOverflow"
+const PriorityQueue_RelatedPort = "RelatedPort"
+const PriorityQueue_TrafficSchedulerPointer = "TrafficSchedulerPointer"
+const PriorityQueue_Weight = "Weight"
+const PriorityQueue_BackPressureOperation = "BackPressureOperation"
+const PriorityQueue_BackPressureTime = "BackPressureTime"
+const PriorityQueue_BackPressureOccurQueueThreshold = "BackPressureOccurQueueThreshold"
+const PriorityQueue_BackPressureClearQueueThreshold = "BackPressureClearQueueThreshold"
+const PriorityQueue_PacketDropQueueThresholds = "PacketDropQueueThresholds"
+const PriorityQueue_PacketDropMaxP = "PacketDropMaxP"
+const PriorityQueue_QueueDropWQ = "QueueDropWQ"
+const PriorityQueue_DropPrecedenceColourMarking = "DropPrecedenceColourMarking"
+
 func init() {
 	priorityqueueBME = &ManagedEntityDefinition{
 		Name:    "PriorityQueue",
-		ClassID: 277,
+		ClassID: PriorityQueueClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("QueueConfigurationOption", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("MaximumQueueSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("AllocatedQueueSize", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("DiscardBlockCounterResetInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("ThresholdValueForDiscardedBlocksDueToBufferOverflow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  Uint32Field("RelatedPort", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("TrafficSchedulerPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("Weight", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint16Field("BackPressureOperation", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint32Field("BackPressureTime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint16Field("BackPressureOccurQueueThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint16Field("BackPressureClearQueueThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
-			13: Uint64Field("PacketDropQueueThresholds", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: Uint16Field("PacketDropMaxP", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("QueueDropWQ", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("DropPrecedenceColourMarking", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PriorityQueue_QueueConfigurationOption, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(PriorityQueue_MaximumQueueSize, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(PriorityQueue_AllocatedQueueSize, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(PriorityQueue_DiscardBlockCounterResetInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  Uint32Field(PriorityQueue_RelatedPort, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(PriorityQueue_TrafficSchedulerPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(PriorityQueue_Weight, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint16Field(PriorityQueue_BackPressureOperation, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint32Field(PriorityQueue_BackPressureTime, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field(PriorityQueue_BackPressureOccurQueueThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint16Field(PriorityQueue_BackPressureClearQueueThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: Uint64Field(PriorityQueue_PacketDropQueueThresholds, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint16Field(PriorityQueue_PacketDropMaxP, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(PriorityQueue_QueueDropWQ, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(PriorityQueue_DropPrecedenceColourMarking, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go
index 20aa1fc..fdc8000 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -169,10 +169,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PseudowireMaintenanceProfile_JitterBufferMaximumDepth = "JitterBufferMaximumDepth"
+const PseudowireMaintenanceProfile_JitterBufferDesiredDepth = "JitterBufferDesiredDepth"
+const PseudowireMaintenanceProfile_FillPolicy = "FillPolicy"
+const PseudowireMaintenanceProfile_MisconnectedPacketsDeclarationPolicy = "MisconnectedPacketsDeclarationPolicy"
+const PseudowireMaintenanceProfile_MisconnectedPacketsClearPolicy = "MisconnectedPacketsClearPolicy"
+const PseudowireMaintenanceProfile_LossOfPacketsDeclarationPolicy = "LossOfPacketsDeclarationPolicy"
+const PseudowireMaintenanceProfile_LossOfPacketsClearPolicy = "LossOfPacketsClearPolicy"
+const PseudowireMaintenanceProfile_BufferOverrunUnderrunDeclarationPolicy = "BufferOverrunUnderrunDeclarationPolicy"
+const PseudowireMaintenanceProfile_BufferOverrunUnderrunClearPolicy = "BufferOverrunUnderrunClearPolicy"
+const PseudowireMaintenanceProfile_MalformedPacketsDeclarationPolicy = "MalformedPacketsDeclarationPolicy"
+const PseudowireMaintenanceProfile_MalformedPacketsClearPolicy = "MalformedPacketsClearPolicy"
+const PseudowireMaintenanceProfile_RBitTransmitSetPolicy = "RBitTransmitSetPolicy"
+const PseudowireMaintenanceProfile_RBitTransmitClearPolicy = "RBitTransmitClearPolicy"
+const PseudowireMaintenanceProfile_RBitReceivePolicy = "RBitReceivePolicy"
+const PseudowireMaintenanceProfile_LBitReceivePolicy = "LBitReceivePolicy"
+const PseudowireMaintenanceProfile_SesThreshold = "SesThreshold"
+
 func init() {
 	pseudowiremaintenanceprofileBME = &ManagedEntityDefinition{
 		Name:    "PseudowireMaintenanceProfile",
-		ClassID: 284,
+		ClassID: PseudowireMaintenanceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -181,23 +200,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("JitterBufferMaximumDepth", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2:  Uint16Field("JitterBufferDesiredDepth", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  ByteField("FillPolicy", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("MisconnectedPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  ByteField("MisconnectedPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  ByteField("LossOfPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  ByteField("LossOfPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  ByteField("BufferOverrunUnderrunDeclarationPolicy", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
-			9:  ByteField("BufferOverrunUnderrunClearPolicy", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: ByteField("MalformedPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
-			11: ByteField("MalformedPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
-			12: ByteField("RBitTransmitSetPolicy", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: ByteField("RBitTransmitClearPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: ByteField("RBitReceivePolicy", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
-			15: ByteField("LBitReceivePolicy", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
-			16: Uint16Field("SesThreshold", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(PseudowireMaintenanceProfile_JitterBufferMaximumDepth, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  Uint16Field(PseudowireMaintenanceProfile_JitterBufferDesiredDepth, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  ByteField(PseudowireMaintenanceProfile_FillPolicy, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(PseudowireMaintenanceProfile_MisconnectedPacketsDeclarationPolicy, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  ByteField(PseudowireMaintenanceProfile_MisconnectedPacketsClearPolicy, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  ByteField(PseudowireMaintenanceProfile_LossOfPacketsDeclarationPolicy, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField(PseudowireMaintenanceProfile_LossOfPacketsClearPolicy, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField(PseudowireMaintenanceProfile_BufferOverrunUnderrunDeclarationPolicy, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  ByteField(PseudowireMaintenanceProfile_BufferOverrunUnderrunClearPolicy, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: ByteField(PseudowireMaintenanceProfile_MalformedPacketsDeclarationPolicy, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: ByteField(PseudowireMaintenanceProfile_MalformedPacketsClearPolicy, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: ByteField(PseudowireMaintenanceProfile_RBitTransmitSetPolicy, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: ByteField(PseudowireMaintenanceProfile_RBitTransmitClearPolicy, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField(PseudowireMaintenanceProfile_RBitReceivePolicy, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: ByteField(PseudowireMaintenanceProfile_LBitReceivePolicy, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			16: Uint16Field(PseudowireMaintenanceProfile_SesThreshold, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go
index e570ba2..8c40c8f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -73,10 +73,10 @@
 //			numbering sequence. Both payload and signalling packets, if any, contribute to this count. (R)
 //			(mandatory) (4-bytes)
 //
-//		Misordered Packets, Usable
-//			This attribute counts the number of packets received out of order, but which were able to be
-//			successfully re-ordered and played out. Both payload and signalling packets, if any, contribute
-//			to this count. (R) (mandatory) (4-bytes)
+//		Misordered Packets Usable
+//			Misordered packets, usable: This attribute counts the number of packets received out of order,
+//			but which were able to be successfully re-ordered and played out. Both payload and signalling
+//			packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Misordered Packets Dropped
 //			This attribute counts the number of packets received out of sequence that were discarded, either
@@ -131,10 +131,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PseudowirePerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const PseudowirePerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const PseudowirePerformanceMonitoringHistoryData_ReceivedPackets = "ReceivedPackets"
+const PseudowirePerformanceMonitoringHistoryData_TransmittedPackets = "TransmittedPackets"
+const PseudowirePerformanceMonitoringHistoryData_MissingPackets = "MissingPackets"
+const PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsUsable = "MisorderedPacketsUsable"
+const PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsDropped = "MisorderedPacketsDropped"
+const PseudowirePerformanceMonitoringHistoryData_PlayoutBufferUnderrunsOverruns = "PlayoutBufferUnderrunsOverruns"
+const PseudowirePerformanceMonitoringHistoryData_MalformedPackets = "MalformedPackets"
+const PseudowirePerformanceMonitoringHistoryData_StrayPackets = "StrayPackets"
+const PseudowirePerformanceMonitoringHistoryData_RemotePacketLoss = "RemotePacketLoss"
+const PseudowirePerformanceMonitoringHistoryData_TdmLBitPacketsTransmitted = "TdmLBitPacketsTransmitted"
+const PseudowirePerformanceMonitoringHistoryData_Es = "Es"
+const PseudowirePerformanceMonitoringHistoryData_Ses = "Ses"
+const PseudowirePerformanceMonitoringHistoryData_Uas = "Uas"
+
 func init() {
 	pseudowireperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "PseudowirePerformanceMonitoringHistoryData",
-		ClassID: 285,
+		ClassID: PseudowirePerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -144,22 +162,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("ReceivedPackets", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TransmittedPackets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("MissingPackets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("MisorderedPackets,Usable", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MisorderedPacketsDropped", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("PlayoutBufferUnderrunsOverruns", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("MalformedPackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("StrayPackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("RemotePacketLoss", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TdmLBitPacketsTransmitted", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Es", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Ses", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Uas", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(PseudowirePerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(PseudowirePerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_ReceivedPackets, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_TransmittedPackets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MissingPackets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsUsable, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsDropped, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_PlayoutBufferUnderrunsOverruns, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MalformedPackets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(PseudowirePerformanceMonitoringHistoryData_StrayPackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(PseudowirePerformanceMonitoringHistoryData_RemotePacketLoss, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(PseudowirePerformanceMonitoringHistoryData_TdmLBitPacketsTransmitted, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(PseudowirePerformanceMonitoringHistoryData_Es, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(PseudowirePerformanceMonitoringHistoryData_Ses, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(PseudowirePerformanceMonitoringHistoryData_Uas, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go
index 31e0654..7a62854 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -184,10 +184,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PseudowireTerminationPoint_UnderlyingTransport = "UnderlyingTransport"
+const PseudowireTerminationPoint_ServiceType = "ServiceType"
+const PseudowireTerminationPoint_Signalling = "Signalling"
+const PseudowireTerminationPoint_TdmUniPointer = "TdmUniPointer"
+const PseudowireTerminationPoint_NorthSidePointer = "NorthSidePointer"
+const PseudowireTerminationPoint_FarEndIpInfo = "FarEndIpInfo"
+const PseudowireTerminationPoint_PayloadSize = "PayloadSize"
+const PseudowireTerminationPoint_PayloadEncapsulationDelay = "PayloadEncapsulationDelay"
+const PseudowireTerminationPoint_TimingMode = "TimingMode"
+const PseudowireTerminationPoint_TransmitCircuitId = "TransmitCircuitId"
+const PseudowireTerminationPoint_ExpectedCircuitId = "ExpectedCircuitId"
+const PseudowireTerminationPoint_ReceivedCircuitId = "ReceivedCircuitId"
+const PseudowireTerminationPoint_ExceptionPolicy = "ExceptionPolicy"
+const PseudowireTerminationPoint_Arc = "Arc"
+const PseudowireTerminationPoint_ArcInterval = "ArcInterval"
+
 func init() {
 	pseudowireterminationpointBME = &ManagedEntityDefinition{
 		Name:    "PseudowireTerminationPoint",
-		ClassID: 282,
+		ClassID: PseudowireTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -196,22 +214,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("UnderlyingTransport", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("ServiceType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("Signalling", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("TdmUniPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("NorthSidePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("FarEndIpInfo", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("PayloadSize", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("PayloadEncapsulationDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("TimingMode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint64Field("TransmitCircuitId", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint64Field("ExpectedCircuitId", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint64Field("ReceivedCircuitId", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint16Field("ExceptionPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("Arc", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), true, true, false, 14),
-			15: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(PseudowireTerminationPoint_UnderlyingTransport, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(PseudowireTerminationPoint_ServiceType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(PseudowireTerminationPoint_Signalling, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(PseudowireTerminationPoint_TdmUniPointer, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(PseudowireTerminationPoint_NorthSidePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(PseudowireTerminationPoint_FarEndIpInfo, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(PseudowireTerminationPoint_PayloadSize, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(PseudowireTerminationPoint_PayloadEncapsulationDelay, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(PseudowireTerminationPoint_TimingMode, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint64Field(PseudowireTerminationPoint_TransmitCircuitId, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint64Field(PseudowireTerminationPoint_ExpectedCircuitId, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint64Field(PseudowireTerminationPoint_ReceivedCircuitId, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field(PseudowireTerminationPoint_ExceptionPolicy, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(PseudowireTerminationPoint_Arc, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), true, true, false, 14),
+			15: ByteField(PseudowireTerminationPoint_ArcInterval, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go
index 0cd5ec4..9b90e3c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -228,10 +228,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PwAtmConfigurationData_TpType = "TpType"
+const PwAtmConfigurationData_TransportTpPointer = "TransportTpPointer"
+const PwAtmConfigurationData_PptpAtmUniPointer = "PptpAtmUniPointer"
+const PwAtmConfigurationData_MaxCEllCOncatenation = "MaxCEllCOncatenation"
+const PwAtmConfigurationData_FarEndMAxCEllCOncatenation = "FarEndMAxCEllCOncatenation"
+const PwAtmConfigurationData_AtmCellLossPriorityClpQosMapping = "AtmCellLossPriorityClpQosMapping"
+const PwAtmConfigurationData_TimeoutMode = "TimeoutMode"
+const PwAtmConfigurationData_PwAtmMappingTable = "PwAtmMappingTable"
+
 func init() {
 	pwatmconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "PwAtmConfigurationData",
-		ClassID: 337,
+		ClassID: PwAtmConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -242,15 +253,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("TpType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("TransportTpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("PptpAtmUniPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("MaxCEllCOncatenation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint16Field("FarEndMAxCEllCOncatenation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: ByteField("AtmCellLossPriorityClpQosMapping", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7: ByteField("TimeoutMode", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8: TableField("PwAtmMappingTable", TableAttributeType, 0x0100, TableInfo{nil, 21}, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(PwAtmConfigurationData_TpType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(PwAtmConfigurationData_TransportTpPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(PwAtmConfigurationData_PptpAtmUniPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(PwAtmConfigurationData_MaxCEllCOncatenation, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field(PwAtmConfigurationData_FarEndMAxCEllCOncatenation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: ByteField(PwAtmConfigurationData_AtmCellLossPriorityClpQosMapping, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7: ByteField(PwAtmConfigurationData_TimeoutMode, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8: TableField(PwAtmConfigurationData_PwAtmMappingTable, TableAttributeType, 0x0100, TableInfo{nil, 21}, mapset.NewSetWith(Read, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go
index 5e18218..683086d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -85,10 +85,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PwAtmPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const PwAtmPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const PwAtmPerformanceMonitoringHistoryData_DownstreamMissingPacketsCounter = "DownstreamMissingPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_DownstreamReorderedPacketsCounter = "DownstreamReorderedPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_DownstreamMisorderedPacketsCounter = "DownstreamMisorderedPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamTimeoutPacketsCounter = "UpstreamTimeoutPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamTransmittedCellsCounter = "UpstreamTransmittedCellsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamDroppedCellsCounter = "UpstreamDroppedCellsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamReceivedCellsCounter = "UpstreamReceivedCellsCounter"
+
 func init() {
 	pwatmperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "PwAtmPerformanceMonitoringHistoryData",
-		ClassID: 338,
+		ClassID: PwAtmPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,16 +110,16 @@
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("DownstreamMissingPacketsCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DownstreamReorderedPacketsCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint32Field("DownstreamMisorderedPacketsCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("UpstreamTimeoutPacketsCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("UpstreamTransmittedCellsCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("UpstreamDroppedCellsCounter", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9: Uint32Field("UpstreamReceivedCellsCounter", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(PwAtmPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(PwAtmPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(PwAtmPerformanceMonitoringHistoryData_DownstreamMissingPacketsCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(PwAtmPerformanceMonitoringHistoryData_DownstreamReorderedPacketsCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field(PwAtmPerformanceMonitoringHistoryData_DownstreamMisorderedPacketsCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamTimeoutPacketsCounter, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamTransmittedCellsCounter, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamDroppedCellsCounter, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamReceivedCellsCounter, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go
index 97e5f97..9e8b0b8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -77,10 +77,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PwEthernetConfigurationData_MplsPseudowireTpPointer = "MplsPseudowireTpPointer"
+const PwEthernetConfigurationData_TpType = "TpType"
+const PwEthernetConfigurationData_UniPointer = "UniPointer"
+
 func init() {
 	pwethernetconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "PwEthernetConfigurationData",
-		ClassID: 339,
+		ClassID: PwEthernetConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -89,10 +95,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MplsPseudowireTpPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("TpType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("UniPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(PwEthernetConfigurationData_MplsPseudowireTpPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(PwEthernetConfigurationData_TpType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(PwEthernetConfigurationData_UniPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go
index 2dd144a..2b5c8ff 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -84,10 +84,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RadiusPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const RadiusPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const RadiusPerformanceMonitoringHistoryData_AccessRequestPacketsTransmitted = "AccessRequestPacketsTransmitted"
+const RadiusPerformanceMonitoringHistoryData_AccessRequestRetransmissionCount = "AccessRequestRetransmissionCount"
+const RadiusPerformanceMonitoringHistoryData_AccessChallengePacketsReceived = "AccessChallengePacketsReceived"
+const RadiusPerformanceMonitoringHistoryData_AccessAcceptPacketsReceived = "AccessAcceptPacketsReceived"
+const RadiusPerformanceMonitoringHistoryData_AccessRejectPacketsReceived = "AccessRejectPacketsReceived"
+const RadiusPerformanceMonitoringHistoryData_InvalidRadiusPacketsReceived = "InvalidRadiusPacketsReceived"
+
 func init() {
 	radiusperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "RadiusPerformanceMonitoringHistoryData",
-		ClassID: 293,
+		ClassID: RadiusPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -97,15 +108,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("AccessRequestPacketsTransmitted", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("AccessRequestRetransmissionCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("AccessChallengePacketsReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("AccessAcceptPacketsReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("AccessRejectPacketsReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("InvalidRadiusPacketsReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(RadiusPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(RadiusPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessRequestPacketsTransmitted, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessRequestRetransmissionCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessChallengePacketsReceived, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessAcceptPacketsReceived, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessRejectPacketsReceived, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(RadiusPerformanceMonitoringHistoryData_InvalidRadiusPacketsReceived, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go
index fcbb5c2..63a10b3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -174,31 +174,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReAniG_AdministrativeState = "AdministrativeState"
+const ReAniG_OperationalState = "OperationalState"
+const ReAniG_Arc = "Arc"
+const ReAniG_ArcInterval = "ArcInterval"
+const ReAniG_OpticalSignalLevel = "OpticalSignalLevel"
+const ReAniG_LowerOpticalThreshold = "LowerOpticalThreshold"
+const ReAniG_UpperOpticalThreshold = "UpperOpticalThreshold"
+const ReAniG_TransmitOpticalLevel = "TransmitOpticalLevel"
+const ReAniG_LowerTransmitPowerThreshold = "LowerTransmitPowerThreshold"
+const ReAniG_UpperTransmitPowerThreshold = "UpperTransmitPowerThreshold"
+const ReAniG_UsageMode = "UsageMode"
+const ReAniG_TargetUpstreamFrequency = "TargetUpstreamFrequency"
+const ReAniG_TargetDownstreamFrequency = "TargetDownstreamFrequency"
+const ReAniG_UpstreamSignalTransmissionMode = "UpstreamSignalTransmissionMode"
+
 func init() {
 	reanigBME = &ManagedEntityDefinition{
 		Name:    "ReAniG",
-		ClassID: 313,
+		ClassID: ReAniGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("OpticalSignalLevel", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("LowerOpticalThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("UpperOpticalThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  Uint16Field("TransmitOpticalLevel", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("LowerTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("UpperTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("UsageMode", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint32Field("TargetUpstreamFrequency", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint32Field("TargetDownstreamFrequency", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("UpstreamSignalTransmissionMode", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReAniG_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(ReAniG_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(ReAniG_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(ReAniG_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(ReAniG_OpticalSignalLevel, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(ReAniG_LowerOpticalThreshold, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(ReAniG_UpperOpticalThreshold, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  Uint16Field(ReAniG_TransmitOpticalLevel, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(ReAniG_LowerTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(ReAniG_UpperTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(ReAniG_UsageMode, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint32Field(ReAniG_TargetUpstreamFrequency, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint32Field(ReAniG_TargetDownstreamFrequency, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(ReAniG_UpstreamSignalTransmissionMode, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go
index d5149b9..41b9dd9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -107,28 +107,42 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReCommonAmplifierParameters_Gain = "Gain"
+const ReCommonAmplifierParameters_LowerGainThreshold = "LowerGainThreshold"
+const ReCommonAmplifierParameters_UpperGainThreshold = "UpperGainThreshold"
+const ReCommonAmplifierParameters_TargetGain = "TargetGain"
+const ReCommonAmplifierParameters_DeviceTemperature = "DeviceTemperature"
+const ReCommonAmplifierParameters_LowerDeviceTemperatureThreshold = "LowerDeviceTemperatureThreshold"
+const ReCommonAmplifierParameters_UpperDeviceTemperatureThreshold = "UpperDeviceTemperatureThreshold"
+const ReCommonAmplifierParameters_DeviceBiasCurrent = "DeviceBiasCurrent"
+const ReCommonAmplifierParameters_AmplifierSaturationOutputPower = "AmplifierSaturationOutputPower"
+const ReCommonAmplifierParameters_AmplifierNoiseFigure = "AmplifierNoiseFigure"
+const ReCommonAmplifierParameters_AmplifierSaturationGain = "AmplifierSaturationGain"
+
 func init() {
 	recommonamplifierparametersBME = &ManagedEntityDefinition{
 		Name:    "ReCommonAmplifierParameters",
-		ClassID: 328,
+		ClassID: ReCommonAmplifierParametersClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Gain", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
-			2:  ByteField("LowerGainThreshold", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3:  ByteField("UpperGainThreshold", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  ByteField("TargetGain", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("DeviceTemperature", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("LowerDeviceTemperatureThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("UpperDeviceTemperatureThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("DeviceBiasCurrent", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint16Field("AmplifierSaturationOutputPower", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("AmplifierNoiseFigure", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("AmplifierSaturationGain", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReCommonAmplifierParameters_Gain, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
+			2:  ByteField(ReCommonAmplifierParameters_LowerGainThreshold, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  ByteField(ReCommonAmplifierParameters_UpperGainThreshold, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  ByteField(ReCommonAmplifierParameters_TargetGain, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(ReCommonAmplifierParameters_DeviceTemperature, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(ReCommonAmplifierParameters_LowerDeviceTemperatureThreshold, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(ReCommonAmplifierParameters_UpperDeviceTemperatureThreshold, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(ReCommonAmplifierParameters_DeviceBiasCurrent, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint16Field(ReCommonAmplifierParameters_AmplifierSaturationOutputPower, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(ReCommonAmplifierParameters_AmplifierNoiseFigure, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(ReCommonAmplifierParameters_AmplifierSaturationGain, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go
index d85e3a7..4173e73 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -130,23 +130,38 @@
 //			dBm), with 0.5-dB granularity. The default value 0x7F selects the RE's internal policy. (R,-W)
 //			(optional) (1-byte)
 //
-//		R'S' Splitter Coupling Ratio
-//			This attribute reports the coupling ratio of the splitter at the R'/S' interface that connects
-//			the embedded management ONU and the amplifiers to the OTL. Valid values are 99:1 (coded as
-//			99-decimal) to 1:99 (coded as 1 decimal), where the first value is the value encoded and is the
-//			percentage of the optical signal connected to the amplifier. The default value 0xFF indicates
-//			that there is no splitter connected to this upstream/downstream amplifier pair. (R) (optional)
-//			(1-byte)
+//		R S Splitter Coupling Ratio
+//			R'S' splitter coupling ratio: This attribute reports the coupling ratio of the splitter at the
+//			R'/S' interface that connects the embedded management ONU and the amplifiers to the OTL. Valid
+//			values are 99:1 (coded as 99-decimal) to 1:99 (coded as 1 decimal), where the first value is the
+//			value encoded and is the percentage of the optical signal connected to the amplifier. The
+//			default value 0xFF indicates that there is no splitter connected to this upstream/downstream
+//			amplifier pair. (R) (optional) (1-byte)
 //
 type ReDownstreamAmplifier struct {
 	ManagedEntityDefinition
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReDownstreamAmplifier_AdministrativeState = "AdministrativeState"
+const ReDownstreamAmplifier_OperationalState = "OperationalState"
+const ReDownstreamAmplifier_Arc = "Arc"
+const ReDownstreamAmplifier_ArcInterval = "ArcInterval"
+const ReDownstreamAmplifier_OperationalMode = "OperationalMode"
+const ReDownstreamAmplifier_InputOpticalSignalLevel = "InputOpticalSignalLevel"
+const ReDownstreamAmplifier_LowerInputOpticalThreshold = "LowerInputOpticalThreshold"
+const ReDownstreamAmplifier_UpperInputOpticalThreshold = "UpperInputOpticalThreshold"
+const ReDownstreamAmplifier_OutputOpticalSignalLevel = "OutputOpticalSignalLevel"
+const ReDownstreamAmplifier_LowerOutputOpticalThreshold = "LowerOutputOpticalThreshold"
+const ReDownstreamAmplifier_UpperOutputOpticalThreshold = "UpperOutputOpticalThreshold"
+const ReDownstreamAmplifier_RSSplitterCouplingRatio = "RSSplitterCouplingRatio"
+
 func init() {
 	redownstreamamplifierBME = &ManagedEntityDefinition{
 		Name:    "ReDownstreamAmplifier",
-		ClassID: 316,
+		ClassID: ReDownstreamAmplifierClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -154,19 +169,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("OperationalMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("InputOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  ByteField("LowerInputOpticalThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("UpperInputOpticalThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  Uint16Field("OutputOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("LowerOutputOpticalThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("UpperOutputOpticalThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("R'S'SplitterCouplingRatio", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReDownstreamAmplifier_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(ReDownstreamAmplifier_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(ReDownstreamAmplifier_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(ReDownstreamAmplifier_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(ReDownstreamAmplifier_OperationalMode, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(ReDownstreamAmplifier_InputOpticalSignalLevel, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField(ReDownstreamAmplifier_LowerInputOpticalThreshold, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(ReDownstreamAmplifier_UpperInputOpticalThreshold, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint16Field(ReDownstreamAmplifier_OutputOpticalSignalLevel, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(ReDownstreamAmplifier_LowerOutputOpticalThreshold, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(ReDownstreamAmplifier_UpperOutputOpticalThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(ReDownstreamAmplifier_RSSplitterCouplingRatio, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go
index a1e49d3..d733c91 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,6 +20,7 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import (
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go
index 32f3e62..93cf64b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -149,10 +149,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReUpstreamAmplifier_AdministrativeState = "AdministrativeState"
+const ReUpstreamAmplifier_OperationalState = "OperationalState"
+const ReUpstreamAmplifier_OperationalMode = "OperationalMode"
+const ReUpstreamAmplifier_Arc = "Arc"
+const ReUpstreamAmplifier_ArcInterval = "ArcInterval"
+const ReUpstreamAmplifier_ReDownstreamAmplifierPointer = "ReDownstreamAmplifierPointer"
+const ReUpstreamAmplifier_TotalOpticalReceiveSignalLevelTable = "TotalOpticalReceiveSignalLevelTable"
+const ReUpstreamAmplifier_PerBurstReceiveSignalLevelTable = "PerBurstReceiveSignalLevelTable"
+const ReUpstreamAmplifier_LowerReceiveOpticalThreshold = "LowerReceiveOpticalThreshold"
+const ReUpstreamAmplifier_UpperReceiveOpticalThreshold = "UpperReceiveOpticalThreshold"
+const ReUpstreamAmplifier_TransmitOpticalSignalLevel = "TransmitOpticalSignalLevel"
+const ReUpstreamAmplifier_LowerTransmitOpticalThreshold = "LowerTransmitOpticalThreshold"
+const ReUpstreamAmplifier_UpperTransmitOpticalThreshold = "UpperTransmitOpticalThreshold"
+
 func init() {
 	reupstreamamplifierBME = &ManagedEntityDefinition{
 		Name:    "ReUpstreamAmplifier",
-		ClassID: 315,
+		ClassID: ReUpstreamAmplifierClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -160,20 +176,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("OperationalMode", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("Arc", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), true, true, false, 4),
-			5:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  Uint16Field("ReDownstreamAmplifierPointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  TableField("TotalOpticalReceiveSignalLevelTable", TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  TableField("PerBurstReceiveSignalLevelTable", TableAttributeType, 0x0100, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("LowerReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("UpperReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: Uint16Field("TransmitOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("LowerTransmitOpticalThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("UpperTransmitOpticalThreshold", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReUpstreamAmplifier_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(ReUpstreamAmplifier_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(ReUpstreamAmplifier_OperationalMode, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(ReUpstreamAmplifier_Arc, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), true, true, false, 4),
+			5:  ByteField(ReUpstreamAmplifier_ArcInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  Uint16Field(ReUpstreamAmplifier_ReDownstreamAmplifierPointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  TableField(ReUpstreamAmplifier_TotalOpticalReceiveSignalLevelTable, TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  TableField(ReUpstreamAmplifier_PerBurstReceiveSignalLevelTable, TableAttributeType, 0x0100, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(ReUpstreamAmplifier_LowerReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(ReUpstreamAmplifier_UpperReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: Uint16Field(ReUpstreamAmplifier_TransmitOpticalSignalLevel, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(ReUpstreamAmplifier_LowerTransmitOpticalThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(ReUpstreamAmplifier_UpperTransmitOpticalThreshold, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go
index 3252376..a79184d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -88,10 +88,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RtpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const RtpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const RtpPerformanceMonitoringHistoryData_RtpErrors = "RtpErrors"
+const RtpPerformanceMonitoringHistoryData_PacketLoss = "PacketLoss"
+const RtpPerformanceMonitoringHistoryData_MaximumJitter = "MaximumJitter"
+const RtpPerformanceMonitoringHistoryData_MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets = "MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets"
+const RtpPerformanceMonitoringHistoryData_BufferUnderflows = "BufferUnderflows"
+const RtpPerformanceMonitoringHistoryData_BufferOverflows = "BufferOverflows"
+
 func init() {
 	rtpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "RtpPerformanceMonitoringHistoryData",
-		ClassID: 144,
+		ClassID: RtpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -101,15 +112,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("RtpErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("PacketLoss", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("MaximumJitter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("BufferUnderflows", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("BufferOverflows", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(RtpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(RtpPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(RtpPerformanceMonitoringHistoryData_RtpErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(RtpPerformanceMonitoringHistoryData_PacketLoss, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(RtpPerformanceMonitoringHistoryData_MaximumJitter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(RtpPerformanceMonitoringHistoryData_MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(RtpPerformanceMonitoringHistoryData_BufferUnderflows, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(RtpPerformanceMonitoringHistoryData_BufferOverflows, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go
index 1bc4f00..bde2da6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -111,10 +111,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RtpProfileData_LocalPortMin = "LocalPortMin"
+const RtpProfileData_LocalPortMax = "LocalPortMax"
+const RtpProfileData_DscpMark = "DscpMark"
+const RtpProfileData_PiggybackEvents = "PiggybackEvents"
+const RtpProfileData_ToneEvents = "ToneEvents"
+const RtpProfileData_DtmfEvents = "DtmfEvents"
+const RtpProfileData_CasEvents = "CasEvents"
+const RtpProfileData_IpHostConfigPointer = "IpHostConfigPointer"
+
 func init() {
 	rtpprofiledataBME = &ManagedEntityDefinition{
 		Name:    "RtpProfileData",
-		ClassID: 143,
+		ClassID: RtpProfileDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -123,15 +134,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("LocalPortMin", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("LocalPortMax", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3: ByteField("DscpMark", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: ByteField("PiggybackEvents", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: ByteField("ToneEvents", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: ByteField("DtmfEvents", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: ByteField("CasEvents", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8: Uint16Field("IpHostConfigPointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(RtpProfileData_LocalPortMin, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(RtpProfileData_LocalPortMax, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3: ByteField(RtpProfileData_DscpMark, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField(RtpProfileData_PiggybackEvents, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField(RtpProfileData_ToneEvents, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: ByteField(RtpProfileData_DtmfEvents, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: ByteField(RtpProfileData_CasEvents, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field(RtpProfileData_IpHostConfigPointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go
index 472f754..1a69261 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -95,10 +95,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RtpPseudowireParameters_ClockReference = "ClockReference"
+const RtpPseudowireParameters_RtpTimestampMode = "RtpTimestampMode"
+const RtpPseudowireParameters_Ptype = "Ptype"
+const RtpPseudowireParameters_Ssrc = "Ssrc"
+const RtpPseudowireParameters_ExpectedPtype = "ExpectedPtype"
+const RtpPseudowireParameters_ExpectedSsrc = "ExpectedSsrc"
+
 func init() {
 	rtppseudowireparametersBME = &ManagedEntityDefinition{
 		Name:    "RtpPseudowireParameters",
-		ClassID: 283,
+		ClassID: RtpPseudowireParametersClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -107,13 +116,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("ClockReference", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("RtpTimestampMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("Ptype", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint64Field("Ssrc", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint16Field("ExpectedPtype", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: Uint64Field("ExpectedSsrc", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(RtpPseudowireParameters_ClockReference, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(RtpPseudowireParameters_RtpTimestampMode, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(RtpPseudowireParameters_Ptype, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint64Field(RtpPseudowireParameters_Ssrc, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field(RtpPseudowireParameters_ExpectedPtype, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: Uint64Field(RtpPseudowireParameters_ExpectedSsrc, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
index b67b74b..39aa2c4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -166,10 +166,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipAgentConfigData_ProxyServerAddressPointer = "ProxyServerAddressPointer"
+const SipAgentConfigData_OutboundProxyAddressPointer = "OutboundProxyAddressPointer"
+const SipAgentConfigData_PrimarySipDns = "PrimarySipDns"
+const SipAgentConfigData_SecondarySipDns = "SecondarySipDns"
+const SipAgentConfigData_TcpUdpPointer = "TcpUdpPointer"
+const SipAgentConfigData_SipRegExpTime = "SipRegExpTime"
+const SipAgentConfigData_SipReregHeadStartTime = "SipReregHeadStartTime"
+const SipAgentConfigData_HostPartUri = "HostPartUri"
+const SipAgentConfigData_SipStatus = "SipStatus"
+const SipAgentConfigData_SipRegistrar = "SipRegistrar"
+const SipAgentConfigData_Softswitch = "Softswitch"
+const SipAgentConfigData_SipResponseTable = "SipResponseTable"
+const SipAgentConfigData_SipOptionTransmitControl = "SipOptionTransmitControl"
+const SipAgentConfigData_SipUriFormat = "SipUriFormat"
+const SipAgentConfigData_RedundantSipAgentPointer = "RedundantSipAgentPointer"
+
 func init() {
 	sipagentconfigdataBME = &ManagedEntityDefinition{
 		Name:    "SipAgentConfigData",
-		ClassID: 150,
+		ClassID: SipAgentConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -180,22 +198,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("ProxyServerAddressPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("OutboundProxyAddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PrimarySipDns", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint32Field("SecondarySipDns", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint32Field("SipRegExpTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint32Field("SipReregHeadStartTime", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("HostPartUri", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("SipStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
-			10: Uint16Field("SipRegistrar", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: TableField("SipResponseTable", TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("SipOptionTransmitControl", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: ByteField("SipUriFormat", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
-			15: Uint16Field("RedundantSipAgentPointer", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(SipAgentConfigData_ProxyServerAddressPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(SipAgentConfigData_OutboundProxyAddressPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(SipAgentConfigData_PrimarySipDns, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint32Field(SipAgentConfigData_SecondarySipDns, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(SipAgentConfigData_TcpUdpPointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field(SipAgentConfigData_SipRegExpTime, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field(SipAgentConfigData_SipReregHeadStartTime, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(SipAgentConfigData_HostPartUri, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(SipAgentConfigData_SipStatus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: Uint16Field(SipAgentConfigData_SipRegistrar, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint32Field(SipAgentConfigData_Softswitch, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: TableField(SipAgentConfigData_SipResponseTable, TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(SipAgentConfigData_SipOptionTransmitControl, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField(SipAgentConfigData_SipUriFormat, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: Uint16Field(SipAgentConfigData_RedundantSipAgentPointer, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go
index 1ed14a8..4af9359 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -88,10 +88,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipAgentConfigData2_InUseOptionsTimer = "InUseOptionsTimer"
+const SipAgentConfigData2_AlternateOptionsTimer = "AlternateOptionsTimer"
+const SipAgentConfigData2_Revertive = "Revertive"
+const SipAgentConfigData2_CurrentProxyServerResolvedAddress = "CurrentProxyServerResolvedAddress"
+const SipAgentConfigData2_CurrentProxyServerResolvedName = "CurrentProxyServerResolvedName"
+const SipAgentConfigData2_AlternateProxyServerResolvedAddress = "AlternateProxyServerResolvedAddress"
+const SipAgentConfigData2_AlternateProxyServerResolvedName = "AlternateProxyServerResolvedName"
+
 func init() {
 	sipagentconfigdata2BME = &ManagedEntityDefinition{
 		Name:    "SipAgentConfigData2",
-		ClassID: 407,
+		ClassID: SipAgentConfigData2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -101,14 +111,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("InUseOptionsTimer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("AlternateOptionsTimer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("Revertive", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint32Field("CurrentProxyServerResolvedAddress", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint16Field("CurrentProxyServerResolvedName", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: Uint32Field("AlternateProxyServerResolvedAddress", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint16Field("AlternateProxyServerResolvedName", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(SipAgentConfigData2_InUseOptionsTimer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(SipAgentConfigData2_AlternateOptionsTimer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(SipAgentConfigData2_Revertive, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field(SipAgentConfigData2_CurrentProxyServerResolvedAddress, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint16Field(SipAgentConfigData2_CurrentProxyServerResolvedName, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint32Field(SipAgentConfigData2_AlternateProxyServerResolvedAddress, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field(SipAgentConfigData2_AlternateProxyServerResolvedName, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go
index 66850e2..3960179 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -105,10 +105,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipAgentPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const SipAgentPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const SipAgentPerformanceMonitoringHistoryData_Transactions = "Transactions"
+const SipAgentPerformanceMonitoringHistoryData_RxInviteReqs = "RxInviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_RxInviteRetrans = "RxInviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_RxNoninviteReqs = "RxNoninviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_RxNoninviteRetrans = "RxNoninviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_RxResponse = "RxResponse"
+const SipAgentPerformanceMonitoringHistoryData_RxResponseRetransmissions = "RxResponseRetransmissions"
+const SipAgentPerformanceMonitoringHistoryData_TxInviteReqs = "TxInviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_TxInviteRetrans = "TxInviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_TxNoninviteReqs = "TxNoninviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_TxNoninviteRetrans = "TxNoninviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_TxResponse = "TxResponse"
+const SipAgentPerformanceMonitoringHistoryData_TxResponseRetransmissions = "TxResponseRetransmissions"
+
 func init() {
 	sipagentperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "SipAgentPerformanceMonitoringHistoryData",
-		ClassID: 151,
+		ClassID: SipAgentPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -118,22 +136,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("Transactions", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("RxInviteReqs", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("RxInviteRetrans", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("RxNoninviteReqs", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  Uint32Field("RxNoninviteRetrans", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("RxResponse", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("RxResponseRetransmissions", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("TxInviteReqs", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("TxInviteRetrans", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("TxNoninviteReqs", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("TxNoninviteRetrans", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("TxResponse", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("TxResponseRetransmissions", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(SipAgentPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(SipAgentPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_Transactions, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxInviteReqs, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxInviteRetrans, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxNoninviteReqs, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxNoninviteRetrans, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxResponse, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxResponseRetransmissions, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxInviteReqs, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxInviteRetrans, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxNoninviteReqs, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxNoninviteRetrans, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxResponse, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxResponseRetransmissions, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go
index 23949a5..aa9e982 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,10 +81,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipCallInitiationPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const SipCallInitiationPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailedToConnectCounter = "FailedToConnectCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailedToValidateCounter = "FailedToValidateCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_TimeoutCounter = "TimeoutCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailureReceivedCounter = "FailureReceivedCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailedToAuthenticateCounter = "FailedToAuthenticateCounter"
+
 func init() {
 	sipcallinitiationperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "SipCallInitiationPerformanceMonitoringHistoryData",
-		ClassID: 152,
+		ClassID: SipCallInitiationPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,14 +104,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("FailedToConnectCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("FailedToValidateCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("TimeoutCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("FailureReceivedCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("FailedToAuthenticateCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(SipCallInitiationPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(SipCallInitiationPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailedToConnectCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailedToValidateCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_TimeoutCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailureReceivedCounter, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailedToAuthenticateCounter, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go
index 7f525c0..b0471c4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -59,18 +59,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipConfigPortal_ConfigurationTextTable = "ConfigurationTextTable"
+
 func init() {
 	sipconfigportalBME = &ManagedEntityDefinition{
 		Name:    "SipConfigPortal",
-		ClassID: 149,
+		ClassID: SipConfigPortalClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("ConfigurationTextTable", TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(SipConfigPortal_ConfigurationTextTable, TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go
index dcbe99e..af74f1c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -110,10 +110,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipUserData_SipAgentPointer = "SipAgentPointer"
+const SipUserData_UserPartAor = "UserPartAor"
+const SipUserData_SipDisplayName = "SipDisplayName"
+const SipUserData_UsernameAndPassword = "UsernameAndPassword"
+const SipUserData_VoicemailServerSipUri = "VoicemailServerSipUri"
+const SipUserData_VoicemailSubscriptionExpirationTime = "VoicemailSubscriptionExpirationTime"
+const SipUserData_NetworkDialPlanPointer = "NetworkDialPlanPointer"
+const SipUserData_ApplicationServicesProfilePointer = "ApplicationServicesProfilePointer"
+const SipUserData_FeatureCodePointer = "FeatureCodePointer"
+const SipUserData_PptpPointer = "PptpPointer"
+const SipUserData_ReleaseTimer = "ReleaseTimer"
+const SipUserData_ReceiverOffHookRohTimer = "ReceiverOffHookRohTimer"
+
 func init() {
 	sipuserdataBME = &ManagedEntityDefinition{
 		Name:    "SipUserData",
-		ClassID: 153,
+		ClassID: SipUserDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -122,19 +137,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("SipAgentPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("UserPartAor", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  MultiByteField("SipDisplayName", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("UsernameAndPassword", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("VoicemailServerSipUri", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint32Field("VoicemailSubscriptionExpirationTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("NetworkDialPlanPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  Uint16Field("ApplicationServicesProfilePointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint16Field("FeatureCodePointer", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: Uint16Field("PptpPointer", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("ReleaseTimer", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("ReceiverOffHookRohTimer", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(SipUserData_SipAgentPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(SipUserData_UserPartAor, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  MultiByteField(SipUserData_SipDisplayName, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(SipUserData_UsernameAndPassword, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(SipUserData_VoicemailServerSipUri, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field(SipUserData_VoicemailSubscriptionExpirationTime, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(SipUserData_NetworkDialPlanPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field(SipUserData_ApplicationServicesProfilePointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field(SipUserData_FeatureCodePointer, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint16Field(SipUserData_PptpPointer, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(SipUserData_ReleaseTimer, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(SipUserData_ReceiverOffHookRohTimer, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go
index 2e6c9e4..4c0616c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -82,10 +82,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SnmpConfigurationData_SnmpVersion = "SnmpVersion"
+const SnmpConfigurationData_SnmpAgentAddress = "SnmpAgentAddress"
+const SnmpConfigurationData_SnmpServerAddress = "SnmpServerAddress"
+const SnmpConfigurationData_SnmpServerPort = "SnmpServerPort"
+const SnmpConfigurationData_SecurityNamePointer = "SecurityNamePointer"
+const SnmpConfigurationData_CommunityForRead = "CommunityForRead"
+const SnmpConfigurationData_CommunityForWrite = "CommunityForWrite"
+const SnmpConfigurationData_SysNamePointer = "SysNamePointer"
+
 func init() {
 	snmpconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "SnmpConfigurationData",
-		ClassID: 335,
+		ClassID: SnmpConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,15 +105,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("SnmpVersion", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("SnmpAgentAddress", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SnmpServerAddress", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("SnmpServerPort", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint16Field("SecurityNamePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint16Field("CommunityForRead", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: Uint16Field("CommunityForWrite", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8: Uint16Field("SysNamePointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(SnmpConfigurationData_SnmpVersion, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(SnmpConfigurationData_SnmpAgentAddress, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(SnmpConfigurationData_SnmpServerAddress, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(SnmpConfigurationData_SnmpServerPort, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field(SnmpConfigurationData_SecurityNamePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field(SnmpConfigurationData_CommunityForRead, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint16Field(SnmpConfigurationData_CommunityForWrite, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field(SnmpConfigurationData_SysNamePointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go
index b900d0b..e6f1d43 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -110,10 +110,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SoftwareImage_Version = "Version"
+const SoftwareImage_IsCommitted = "IsCommitted"
+const SoftwareImage_IsActive = "IsActive"
+const SoftwareImage_IsValid = "IsValid"
+const SoftwareImage_ProductCode = "ProductCode"
+const SoftwareImage_ImageHash = "ImageHash"
+
 func init() {
 	softwareimageBME = &ManagedEntityDefinition{
 		Name:    "SoftwareImage",
-		ClassID: 7,
+		ClassID: SoftwareImageClassID,
 		MessageTypes: mapset.NewSetWith(
 			ActivateSoftware,
 			CommitSoftware,
@@ -124,13 +133,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("Version", StringAttributeType, 0x8000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, false, false, 1),
-			2: ByteField("IsCommitted", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
-			3: ByteField("IsActive", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
-			4: ByteField("IsValid", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), true, false, false, 4),
-			5: MultiByteField("ProductCode", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 5),
-			6: MultiByteField("ImageHash", StringAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(SoftwareImage_Version, StringAttributeType, 0x8000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, false, false, 1),
+			2: ByteField(SoftwareImage_IsCommitted, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3: ByteField(SoftwareImage_IsActive, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
+			4: ByteField(SoftwareImage_IsValid, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), true, false, false, 4),
+			5: MultiByteField(SoftwareImage_ProductCode, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: MultiByteField(SoftwareImage_ImageHash, StringAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 6),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go
index 7fe59c9..106d042 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,20 +96,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TCont_AllocId = "AllocId"
+const TCont_Deprecated = "Deprecated"
+const TCont_Policy = "Policy"
+
 func init() {
 	tcontBME = &ManagedEntityDefinition{
 		Name:    "TCont",
-		ClassID: 262,
+		ClassID: TContClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("AllocId", UnsignedIntegerAttributeType, 0x8000, 65535, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("Deprecated", UnsignedIntegerAttributeType, 0x4000, 1, mapset.NewSetWith(Read), false, false, true, 2),
-			3: ByteField("Policy", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(TCont_AllocId, UnsignedIntegerAttributeType, 0x8000, 65535, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(TCont_Deprecated, UnsignedIntegerAttributeType, 0x4000, 1, mapset.NewSetWith(Read), false, false, true, 2),
+			3: ByteField(TCont_Policy, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
index 8c13139..987eba0 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -92,10 +92,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_IntervalEndTime = "IntervalEndTime"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_ThresholdData12Id = "ThresholdData12Id"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndHecViolationCount = "NearEndHecViolationCount"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndDelineatedTotalCellCountCdP = "NearEndDelineatedTotalCellCountCdP"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndUserTotalCellCountCuP = "NearEndUserTotalCellCountCuP"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndIdleCellBitErrorCount = "NearEndIdleCellBitErrorCount"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndHecViolationCount = "FarEndHecViolationCount"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndDelineatedTotalCellCountCdPfe = "FarEndDelineatedTotalCellCountCdPfe"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndUserTotalCellCountCuPfe = "FarEndUserTotalCellCountCuPfe"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndIdleCellBitErrorCount = "FarEndIdleCellBitErrorCount"
+
 func init() {
 	tcadaptorperformancemonitoringhistorydataxdslBME = &ManagedEntityDefinition{
 		Name:    "TcAdaptorPerformanceMonitoringHistoryDataXdsl",
-		ClassID: 116,
+		ClassID: TcAdaptorPerformanceMonitoringHistoryDataXdslClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -105,17 +118,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("NearEndHecViolationCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("NearEndDelineatedTotalCellCountCdP", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("NearEndUserTotalCellCountCuP", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("NearEndIdleCellBitErrorCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("FarEndHecViolationCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("FarEndDelineatedTotalCellCountCdPfe", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("FarEndUserTotalCellCountCuPfe", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("FarEndIdleCellBitErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(TcAdaptorPerformanceMonitoringHistoryDataXdsl_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndHecViolationCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndDelineatedTotalCellCountCdP, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndUserTotalCellCountCuP, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndIdleCellBitErrorCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndHecViolationCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndDelineatedTotalCellCountCdPfe, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndUserTotalCellCountCuPfe, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndIdleCellBitErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go
index df11642..70a17a4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TcpUdpConfigData_PortId = "PortId"
+const TcpUdpConfigData_Protocol = "Protocol"
+const TcpUdpConfigData_TosDiffservField = "TosDiffservField"
+const TcpUdpConfigData_IpHostPointer = "IpHostPointer"
+
 func init() {
 	tcpudpconfigdataBME = &ManagedEntityDefinition{
 		Name:    "TcpUdpConfigData",
-		ClassID: 136,
+		ClassID: TcpUdpConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,11 +91,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("PortId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("Protocol", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("TosDiffservField", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("IpHostPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(TcpUdpConfigData_PortId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(TcpUdpConfigData_Protocol, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(TcpUdpConfigData_TosDiffservField, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(TcpUdpConfigData_IpHostPointer, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go
index fd7073b..491f353 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TcpUdpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TcpUdpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const TcpUdpPerformanceMonitoringHistoryData_SocketFailed = "SocketFailed"
+const TcpUdpPerformanceMonitoringHistoryData_ListenFailed = "ListenFailed"
+const TcpUdpPerformanceMonitoringHistoryData_BindFailed = "BindFailed"
+const TcpUdpPerformanceMonitoringHistoryData_AcceptFailed = "AcceptFailed"
+const TcpUdpPerformanceMonitoringHistoryData_SelectFailed = "SelectFailed"
+
 func init() {
 	tcpudpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TcpUdpPerformanceMonitoringHistoryData",
-		ClassID: 342,
+		ClassID: TcpUdpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,14 +102,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("SocketFailed", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint16Field("ListenFailed", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("BindFailed", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint16Field("AcceptFailed", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("SelectFailed", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(TcpUdpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_SocketFailed, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_ListenFailed, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_BindFailed, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_AcceptFailed, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_SelectFailed, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go
index d398f61..f42aa70 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ThresholdData1_ThresholdValue1 = "ThresholdValue1"
+const ThresholdData1_ThresholdValue2 = "ThresholdValue2"
+const ThresholdData1_ThresholdValue3 = "ThresholdValue3"
+const ThresholdData1_ThresholdValue4 = "ThresholdValue4"
+const ThresholdData1_ThresholdValue5 = "ThresholdValue5"
+const ThresholdData1_ThresholdValue6 = "ThresholdValue6"
+const ThresholdData1_ThresholdValue7 = "ThresholdValue7"
+
 func init() {
 	thresholddata1BME = &ManagedEntityDefinition{
 		Name:    "ThresholdData1",
-		ClassID: 273,
+		ClassID: ThresholdData1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,14 +101,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("ThresholdValue1", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("ThresholdValue2", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("ThresholdValue3", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint32Field("ThresholdValue4", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint32Field("ThresholdValue5", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint32Field("ThresholdValue6", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: Uint32Field("ThresholdValue7", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(ThresholdData1_ThresholdValue1, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(ThresholdData1_ThresholdValue2, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(ThresholdData1_ThresholdValue3, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field(ThresholdData1_ThresholdValue4, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint32Field(ThresholdData1_ThresholdValue5, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint32Field(ThresholdData1_ThresholdValue6, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint32Field(ThresholdData1_ThresholdValue7, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go
index 3cd0975..f1508db 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -77,10 +77,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ThresholdData2_ThresholdValue8 = "ThresholdValue8"
+const ThresholdData2_ThresholdValue9 = "ThresholdValue9"
+const ThresholdData2_ThresholdValue10 = "ThresholdValue10"
+const ThresholdData2_ThresholdValue11 = "ThresholdValue11"
+const ThresholdData2_ThresholdValue12 = "ThresholdValue12"
+const ThresholdData2_ThresholdValue13 = "ThresholdValue13"
+const ThresholdData2_ThresholdValue14 = "ThresholdValue14"
+
 func init() {
 	thresholddata2BME = &ManagedEntityDefinition{
 		Name:    "ThresholdData2",
-		ClassID: 274,
+		ClassID: ThresholdData2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -89,14 +99,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("ThresholdValue8", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("ThresholdValue9", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("ThresholdValue10", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint32Field("ThresholdValue11", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint32Field("ThresholdValue12", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint32Field("ThresholdValue13", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: Uint32Field("ThresholdValue14", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(ThresholdData2_ThresholdValue8, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(ThresholdData2_ThresholdValue9, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(ThresholdData2_ThresholdValue10, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field(ThresholdData2_ThresholdValue11, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint32Field(ThresholdData2_ThresholdValue12, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint32Field(ThresholdData2_ThresholdValue13, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint32Field(ThresholdData2_ThresholdValue14, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go
index d227b91..511439b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -87,25 +87,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TimeStatusMessage_DomainNumber = "DomainNumber"
+const TimeStatusMessage_FlagField = "FlagField"
+const TimeStatusMessage_Currentutcoffset = "Currentutcoffset"
+const TimeStatusMessage_Priority1 = "Priority1"
+const TimeStatusMessage_Clockclass = "Clockclass"
+const TimeStatusMessage_Accuracy = "Accuracy"
+const TimeStatusMessage_Offsetscaledlogvariance = "Offsetscaledlogvariance"
+const TimeStatusMessage_Priority2 = "Priority2"
+
 func init() {
 	timestatusmessageBME = &ManagedEntityDefinition{
 		Name:    "TimeStatusMessage",
-		ClassID: 440,
+		ClassID: TimeStatusMessageClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("DomainNumber", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("FlagField", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint16Field("Currentutcoffset", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("Priority1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("Clockclass", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6: ByteField("Accuracy", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: Uint16Field("Offsetscaledlogvariance", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8: ByteField("Priority2", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(TimeStatusMessage_DomainNumber, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(TimeStatusMessage_FlagField, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint16Field(TimeStatusMessage_Currentutcoffset, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(TimeStatusMessage_Priority1, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(TimeStatusMessage_Clockclass, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField(TimeStatusMessage_Accuracy, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: Uint16Field(TimeStatusMessage_Offsetscaledlogvariance, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField(TimeStatusMessage_Priority2, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go
index cf1ccc0..920ba6a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -155,10 +155,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TrafficDescriptor_Cir = "Cir"
+const TrafficDescriptor_Pir = "Pir"
+const TrafficDescriptor_Cbs = "Cbs"
+const TrafficDescriptor_Pbs = "Pbs"
+const TrafficDescriptor_ColourMode = "ColourMode"
+const TrafficDescriptor_IngressColourMarking = "IngressColourMarking"
+const TrafficDescriptor_EgressColourMarking = "EgressColourMarking"
+const TrafficDescriptor_MeterType = "MeterType"
+
 func init() {
 	trafficdescriptorBME = &ManagedEntityDefinition{
 		Name:    "TrafficDescriptor",
-		ClassID: 280,
+		ClassID: TrafficDescriptorClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -167,15 +178,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("Cir", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2: Uint32Field("Pir", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3: Uint32Field("Cbs", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4: Uint32Field("Pbs", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: ByteField("ColourMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: ByteField("IngressColourMarking", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7: ByteField("EgressColourMarking", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8: ByteField("MeterType", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(TrafficDescriptor_Cir, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2: Uint32Field(TrafficDescriptor_Pir, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3: Uint32Field(TrafficDescriptor_Cbs, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint32Field(TrafficDescriptor_Pbs, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: ByteField(TrafficDescriptor_ColourMode, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: ByteField(TrafficDescriptor_IngressColourMarking, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7: ByteField(TrafficDescriptor_EgressColourMarking, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8: ByteField(TrafficDescriptor_MeterType, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go
index 6be642f..71292a6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -108,21 +108,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TrafficScheduler_TContPointer = "TContPointer"
+const TrafficScheduler_TrafficSchedulerPointer = "TrafficSchedulerPointer"
+const TrafficScheduler_Policy = "Policy"
+const TrafficScheduler_PriorityWeight = "PriorityWeight"
+
 func init() {
 	trafficschedulerBME = &ManagedEntityDefinition{
 		Name:    "TrafficScheduler",
-		ClassID: 278,
+		ClassID: TrafficSchedulerClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("TContPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: Uint16Field("TrafficSchedulerPointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Policy", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("PriorityWeight", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(TrafficScheduler_TContPointer, PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field(TrafficScheduler_TrafficSchedulerPointer, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(TrafficScheduler_Policy, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(TrafficScheduler_PriorityWeight, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go
index b0b0ce5..0b38dac 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,20 +72,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelManagedEntity_ActiveChannelIndication = "ActiveChannelIndication"
+const TwdmChannelManagedEntity_OperationalChannelIndication = "OperationalChannelIndication"
+const TwdmChannelManagedEntity_DownstreamWavelengthChannel = "DownstreamWavelengthChannel"
+const TwdmChannelManagedEntity_UpstreamWavelengthChannel = "UpstreamWavelengthChannel"
+
 func init() {
 	twdmchannelmanagedentityBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelManagedEntity",
-		ClassID: 443,
+		ClassID: TwdmChannelManagedEntityClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("ActiveChannelIndication", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("OperationalChannelIndication", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("DownstreamWavelengthChannel", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: ByteField("UpstreamWavelengthChannel", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(TwdmChannelManagedEntity_ActiveChannelIndication, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(TwdmChannelManagedEntity_OperationalChannelIndication, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(TwdmChannelManagedEntity_DownstreamWavelengthChannel, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField(TwdmChannelManagedEntity_UpstreamWavelengthChannel, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go
index fb1f97d..1392a58 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -69,10 +69,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelOmciPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_OmciBaselineMessageCount = "OmciBaselineMessageCount"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_OmciExtendedMessageCount = "OmciExtendedMessageCount"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_OmciMicErrorCount = "OmciMicErrorCount"
+
 func init() {
 	twdmchannelomciperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelOmciPerformanceMonitoringHistoryData",
-		ClassID: 452,
+		ClassID: TwdmChannelOmciPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -82,12 +90,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("OmciBaselineMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("OmciExtendedMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("OmciMicErrorCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(TwdmChannelOmciPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(TwdmChannelOmciPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(TwdmChannelOmciPerformanceMonitoringHistoryData_OmciBaselineMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(TwdmChannelOmciPerformanceMonitoringHistoryData_OmciExtendedMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(TwdmChannelOmciPerformanceMonitoringHistoryData_OmciMicErrorCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
index 93fa9d0..fd79582 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalReceivedWordsProtectedByBitInterleavedParity32Bip32 = "TotalReceivedWordsProtectedByBitInterleavedParity32Bip32"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_Bip32BitErrorCount = "Bip32BitErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedPsbdHecErrorCount = "CorrectedPsbdHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectablePsbdHecErrorCount = "UncorrectablePsbdHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedDownstreamFsHeaderHecErrorCount = "CorrectedDownstreamFsHeaderHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectableDownstreamFsHeaderHecErrorCount = "UncorrectableDownstreamFsHeaderHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalNumberOfLodsEvents = "TotalNumberOfLodsEvents"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInOperatingTwdmChannel = "LodsEventsRestoredInOperatingTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInProtectionTwdmChannel = "LodsEventsRestoredInProtectionTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInDiscretionaryTwdmChannel = "LodsEventsRestoredInDiscretionaryTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivation = "LodsEventsResultingInReactivation"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel = "LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel = "LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel"
+
 func init() {
 	twdmchannelphylodsperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPhyLodsPerformanceMonitoringHistoryData",
-		ClassID: 444,
+		ClassID: TwdmChannelPhyLodsPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,22 +148,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("TotalReceivedWordsProtectedByBitInterleavedParity32Bip32", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Bip32BitErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("CorrectedPsbdHecErrorCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("UncorrectablePsbdHecErrorCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("CorrectedDownstreamFsHeaderHecErrorCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("UncorrectableDownstreamFsHeaderHecErrorCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TotalNumberOfLodsEvents", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("LodsEventsRestoredInOperatingTwdmChannel", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("LodsEventsRestoredInProtectionTwdmChannel", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("LodsEventsRestoredInDiscretionaryTwdmChannel", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("LodsEventsResultingInReactivation", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalReceivedWordsProtectedByBitInterleavedParity32Bip32, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_Bip32BitErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedPsbdHecErrorCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectablePsbdHecErrorCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedDownstreamFsHeaderHecErrorCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectableDownstreamFsHeaderHecErrorCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalNumberOfLodsEvents, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInOperatingTwdmChannel, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInProtectionTwdmChannel, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInDiscretionaryTwdmChannel, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivation, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
index df4499f..9e7a608 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_PloamMicErrors = "PloamMicErrors"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_DownstreamPloamMessageCount = "DownstreamPloamMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_RangingTimeMessageCount = "RangingTimeMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ProtectionControlMessageCount = "ProtectionControlMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthMessageCount = "AdjustTxWavelengthMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthAdjustmentAmplitude = "AdjustTxWavelengthAdjustmentAmplitude"
+
 func init() {
 	twdmchannelploamperformancemonitoringhistorydatapart1BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1",
-		ClassID: 446,
+		ClassID: TwdmChannelPloamPerformanceMonitoringHistoryDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -104,15 +115,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("PloamMicErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DownstreamPloamMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("RangingTimeMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ProtectionControlMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("AdjustTxWavelengthMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("AdjustTxWavelengthAdjustmentAmplitude", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_PloamMicErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_DownstreamPloamMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_RangingTimeMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ProtectionControlMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthMessageCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthAdjustmentAmplitude, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
index 8aa8f0a..3a33214 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SystemProfileMessageCount = "SystemProfileMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ChannelProfileMessageCount = "ChannelProfileMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_BurstProfileMessageCount = "BurstProfileMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignOnuIdMessageCount = "AssignOnuIdMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_UnsatisfiedAdjustTxWavelengthRequests = "UnsatisfiedAdjustTxWavelengthRequests"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DeactivateOnuIdMessageCount = "DeactivateOnuIdMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DisableSerialNumberMessageCount = "DisableSerialNumberMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_RequestRegistrationMessageCount = "RequestRegistrationMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignAllocIdMessageCount = "AssignAllocIdMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_KeyControlMessageCount = "KeyControlMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SleepAllowMessageCount = "SleepAllowMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlRequestMessageCount = "TuningControlRequestMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlCompleteDMessageCount = "TuningControlCompleteDMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_CalibrationRequestMessageCount = "CalibrationRequestMessageCount"
+
 func init() {
 	twdmchannelploamperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2",
-		ClassID: 447,
+		ClassID: TwdmChannelPloamPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,23 +149,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("SystemProfileMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("ChannelProfileMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("BurstProfileMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("AssignOnuIdMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("UnsatisfiedAdjustTxWavelengthRequests", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("DeactivateOnuIdMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("DisableSerialNumberMessageCount", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("RequestRegistrationMessageCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("AssignAllocIdMessageCount", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("KeyControlMessageCount", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("SleepAllowMessageCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TuningControlRequestMessageCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("TuningControlCompleteDMessageCount", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("CalibrationRequestMessageCount", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SystemProfileMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ChannelProfileMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_BurstProfileMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignOnuIdMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_UnsatisfiedAdjustTxWavelengthRequests, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DeactivateOnuIdMessageCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DisableSerialNumberMessageCount, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_RequestRegistrationMessageCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignAllocIdMessageCount, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_KeyControlMessageCount, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SleepAllowMessageCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlRequestMessageCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlCompleteDMessageCount, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_CalibrationRequestMessageCount, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
index 99dbe51..45c976e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -100,10 +100,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_UpstreamPloamMessageCount = "UpstreamPloamMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuInBandMessageCount = "SerialNumberOnuInBandMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuAmccMessageCount = "SerialNumberOnuAmccMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_RegistrationMessageCount = "RegistrationMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_KeyReportMessageCount = "KeyReportMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_AcknowledgementMessageCount = "AcknowledgementMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SleepRequestMessageCount = "SleepRequestMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseAckNackMessageCount = "TuningResponseAckNackMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseCompleteURollbackMessageCount = "TuningResponseCompleteURollbackMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_PowerConsumptionReportMessageCount = "PowerConsumptionReportMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ChangePowerLevelParameterErrorCount = "ChangePowerLevelParameterErrorCount"
+
 func init() {
 	twdmchannelploamperformancemonitoringhistorydatapart3BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3",
-		ClassID: 448,
+		ClassID: TwdmChannelPloamPerformanceMonitoringHistoryDataPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -113,20 +129,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("UpstreamPloamMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("SerialNumberOnuInBandMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("SerialNumberOnuAmccMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("RegistrationMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("KeyReportMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("AcknowledgementMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("SleepRequestMessageCount", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningResponseAckNackMessageCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TuningResponseCompleteURollbackMessageCount", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("PowerConsumptionReportMessageCount", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("ChangePowerLevelParameterErrorCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_UpstreamPloamMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuInBandMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuAmccMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_RegistrationMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_KeyReportMessageCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_AcknowledgementMessageCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SleepRequestMessageCount, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseAckNackMessageCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseCompleteURollbackMessageCount, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_PowerConsumptionReportMessageCount, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ChangePowerLevelParameterErrorCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
index bc14a28..3aac486 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -124,10 +124,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForRxOnlyOrRxAndTx = "TuningControlRequestsForRxOnlyOrRxAndTx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForTxOnly = "TuningControlRequestsForTxOnly"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedIntSfc = "TuningControlRequestsRejectedIntSfc"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedDsXxx = "TuningControlRequestsRejectedDsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedUsXxx = "TuningControlRequestsRejectedUsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel = "TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound = "TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel = "TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel = "TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackComDs = "TuningControlRequestsRollbackComDs"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackDsXxx = "TuningControlRequestsRollbackDsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackUsXxx = "TuningControlRequestsRollbackUsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedWithOnuReactivation = "TuningControlRequestsFailedWithOnuReactivation"
+
 func init() {
 	twdmchanneltuningperformancemonitoringhistorydatapart1BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1",
-		ClassID: 449,
+		ClassID: TwdmChannelTuningPerformanceMonitoringHistoryDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -136,22 +154,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsForRxOnlyOrRxAndTx", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsForTxOnly", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRejectedIntSfc", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRejectedDsXxx", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRejectedUsXxx", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TuningControlRequestsRollbackComDs", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("TuningControlRequestsRollbackDsXxx", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TuningControlRequestsRollbackUsXxx", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("TuningControlRequestsFailedWithOnuReactivation", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForRxOnlyOrRxAndTx, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForTxOnly, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedIntSfc, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedDsXxx, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedUsXxx, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackComDs, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackDsXxx, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackUsXxx, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedWithOnuReactivation, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
index 6dd4ca6..9ed820b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -127,10 +127,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsAlbl = "TuningControlRequestsRejectedDsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsVoid = "TuningControlRequestsRejectedDsVoid"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsPart = "TuningControlRequestsRejectedDsPart"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsTunr = "TuningControlRequestsRejectedDsTunr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLnrt = "TuningControlRequestsRejectedDsLnrt"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLncd = "TuningControlRequestsRejectedDsLncd"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsAlbl = "TuningControlRequestsRejectedUsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsVoid = "TuningControlRequestsRejectedUsVoid"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsTunr = "TuningControlRequestsRejectedUsTunr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsClbr = "TuningControlRequestsRejectedUsClbr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLktp = "TuningControlRequestsRejectedUsLktp"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLnrt = "TuningControlRequestsRejectedUsLnrt"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLncd = "TuningControlRequestsRejectedUsLncd"
+
 func init() {
 	twdmchanneltuningperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2",
-		ClassID: 450,
+		ClassID: TwdmChannelTuningPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -140,22 +158,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsRejectedDsAlbl", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsRejectedDsVoid", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRejectedDsPart", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRejectedDsTunr", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRejectedDsLnrt", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsRejectedDsLncd", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsRejectedUsAlbl", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsRejectedUsVoid", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TuningControlRequestsRejectedUsTunr", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TuningControlRequestsRejectedUsClbr", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("TuningControlRequestsRejectedUsLktp", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TuningControlRequestsRejectedUsLnrt", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("TuningControlRequestsRejectedUsLncd", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsAlbl, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsVoid, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsPart, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsTunr, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLnrt, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLncd, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsAlbl, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsVoid, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsTunr, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsClbr, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLktp, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLnrt, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLncd, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
index 284f476..991d592 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -103,10 +103,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsAlbl = "TuningControlRequestsRollbackDsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsLktp = "TuningControlRequestsRollbackDsLktp"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsAlbl = "TuningControlRequestsRollbackUsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsVoid = "TuningControlRequestsRollbackUsVoid"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsTunr = "TuningControlRequestsRollbackUsTunr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLktp = "TuningControlRequestsRollbackUsLktp"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLnrt = "TuningControlRequestsRollbackUsLnrt"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLncd = "TuningControlRequestsRollbackUsLncd"
+
 func init() {
 	twdmchanneltuningperformancemonitoringhistorydatapart3BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3",
-		ClassID: 451,
+		ClassID: TwdmChannelTuningPerformanceMonitoringHistoryDataPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -116,17 +129,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsRollbackDsAlbl", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsRollbackDsLktp", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRollbackUsAlbl", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRollbackUsVoid", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRollbackUsTunr", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsRollbackUsLktp", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsRollbackUsLnrt", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsRollbackUsLncd", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsAlbl, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsLktp, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsAlbl, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsVoid, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsTunr, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLktp, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLnrt, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLncd, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go
index 5b2311a..8e21ecf 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -89,10 +89,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelXgemPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_ThresholdData64BitId = "ThresholdData64BitId"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedXgemFrames = "TotalTransmittedXgemFrames"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TransmittedXgemFramesWithLfBitNotSet = "TransmittedXgemFramesWithLfBitNotSet"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedXgemFrames = "TotalReceivedXgemFrames"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_ReceivedXgemFramesWithXgemHeaderHecErrors = "ReceivedXgemFramesWithXgemHeaderHecErrors"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_FsWordsLostToXgemHeaderHecErrors = "FsWordsLostToXgemHeaderHecErrors"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_XgemEncryptionKeyErrors = "XgemEncryptionKeyErrors"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedBytesInNonIdleXgemFrames = "TotalTransmittedBytesInNonIdleXgemFrames"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedBytesInNonIdleXgemFrames = "TotalReceivedBytesInNonIdleXgemFrames"
+
 func init() {
 	twdmchannelxgemperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelXgemPerformanceMonitoringHistoryData",
-		ClassID: 445,
+		ClassID: TwdmChannelXgemPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -102,17 +115,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("TotalTransmittedXgemFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("TransmittedXgemFramesWithLfBitNotSet", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint64Field("TotalReceivedXgemFrames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint64Field("ReceivedXgemFramesWithXgemHeaderHecErrors", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint64Field("FsWordsLostToXgemHeaderHecErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint64Field("XgemEncryptionKeyErrors", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("TotalTransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("TotalReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelXgemPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelXgemPerformanceMonitoringHistoryData_ThresholdData64BitId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedXgemFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TransmittedXgemFramesWithLfBitNotSet, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedXgemFrames, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_ReceivedXgemFramesWithXgemHeaderHecErrors, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_FsWordsLostToXgemHeaderHecErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_XgemEncryptionKeyErrors, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go
index e7485fe..ef0f712 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -148,22 +148,30 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const UniG_Deprecated = "Deprecated"
+const UniG_AdministrativeState = "AdministrativeState"
+const UniG_ManagementCapability = "ManagementCapability"
+const UniG_NonOmciManagementIdentifier = "NonOmciManagementIdentifier"
+const UniG_RelayAgentOptions = "RelayAgentOptions"
+
 func init() {
 	unigBME = &ManagedEntityDefinition{
 		Name:    "UniG",
-		ClassID: 264,
+		ClassID: UniGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("Deprecated", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, true, 1),
-			2: ByteField("AdministrativeState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("ManagementCapability", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint16Field("NonOmciManagementIdentifier", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint16Field("RelayAgentOptions", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(UniG_Deprecated, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, true, 1),
+			2: ByteField(UniG_AdministrativeState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(UniG_ManagementCapability, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint16Field(UniG_NonOmciManagementIdentifier, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field(UniG_RelayAgentOptions, PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go
index aac283e..b69253a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go
index 757b306..973cf6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go
index ebac5a1..e9ecf05 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -319,7 +319,7 @@
 //			of 0.1 dB, i.e., with values 18..635. The special value 0 is also allowed, with semantics as
 //			defined in clause 7.2.1.3.2 of [ITUT G.993.2]. (R,-W) (optional) (2-bytes * 5 upstream bands)
 //
-//		Upboshaped Aele_Mode, Upboelmt
+//		Upboshaped Aele_Mode Upboelmt
 //			UPBOSHAPED (AELE-MODE, UPBOELMT): This attribute defines the UPBO electrical length estimation
 //			mode (AELE-MODE) and UPBO electrical length minimum threshold percentile (UPBOELMT) to be used
 //			in the alternative electrical length estimation method (ELE-M1). The format of this attribute is
@@ -330,10 +330,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineConfigurationExtensions_Vdsl2ProfilesEnabling = "Vdsl2ProfilesEnabling"
+const Vdsl2LineConfigurationExtensions_Vdsl2PsdMaskClassSelectionClassmask = "Vdsl2PsdMaskClassSelectionClassmask"
+const Vdsl2LineConfigurationExtensions_Vdsl2LimitPsdMasks = "Vdsl2LimitPsdMasks"
+const Vdsl2LineConfigurationExtensions_Vdsl2Us0Disabling = "Vdsl2Us0Disabling"
+const Vdsl2LineConfigurationExtensions_Vdsl2Us0PsdMasks = "Vdsl2Us0PsdMasks"
+const Vdsl2LineConfigurationExtensions_Vdsl2CarmaskTable = "Vdsl2CarmaskTable"
+const Vdsl2LineConfigurationExtensions_CarmaskValid = "CarmaskValid"
+const Vdsl2LineConfigurationExtensions_Upboshaped = "Upboshaped"
+const Vdsl2LineConfigurationExtensions_CyclicExtension = "CyclicExtension"
+const Vdsl2LineConfigurationExtensions_DownstreamSignalToNoiseRatioSnrMode = "DownstreamSignalToNoiseRatioSnrMode"
+const Vdsl2LineConfigurationExtensions_UpstreamSnrMode = "UpstreamSnrMode"
+const Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseDownstreamTable = "TransmitterReferredVirtualNoiseDownstreamTable"
+const Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseUpstreamTable = "TransmitterReferredVirtualNoiseUpstreamTable"
+const Vdsl2LineConfigurationExtensions_Dpboshaped = "Dpboshaped"
+const Vdsl2LineConfigurationExtensions_UpboklrefPb = "UpboklrefPb"
+const Vdsl2LineConfigurationExtensions_UpboshapedAeleModeUpboelmt = "UpboshapedAeleModeUpboelmt"
+
 func init() {
 	vdsl2lineconfigurationextensionsBME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineConfigurationExtensions",
-		ClassID: 165,
+		ClassID: Vdsl2LineConfigurationExtensionsClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -344,23 +363,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("Vdsl2ProfilesEnabling", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("Vdsl2PsdMaskClassSelectionClassmask", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("Vdsl2LimitPsdMasks", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint64Field("Vdsl2Us0Disabling", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint32Field("Vdsl2Us0PsdMasks", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  TableField("Vdsl2CarmaskTable", TableAttributeType, 0x0400, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("CarmaskValid", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  MultiByteField("Upboshaped", OctetsAttributeType, 0x0100, 23, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("CyclicExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("DownstreamSignalToNoiseRatioSnrMode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: ByteField("UpstreamSnrMode", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: TableField("TransmitterReferredVirtualNoiseDownstreamTable", TableAttributeType, 0x0010, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: TableField("TransmitterReferredVirtualNoiseUpstreamTable", TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: MultiByteField("Dpboshaped", OctetsAttributeType, 0x0004, 15, toOctets("AAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: Uint16Field("UpboklrefPb", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("UpboshapedAeleMode,Upboelmt", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Vdsl2LineConfigurationExtensions_Vdsl2ProfilesEnabling, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(Vdsl2LineConfigurationExtensions_Vdsl2PsdMaskClassSelectionClassmask, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(Vdsl2LineConfigurationExtensions_Vdsl2LimitPsdMasks, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint64Field(Vdsl2LineConfigurationExtensions_Vdsl2Us0Disabling, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field(Vdsl2LineConfigurationExtensions_Vdsl2Us0PsdMasks, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  TableField(Vdsl2LineConfigurationExtensions_Vdsl2CarmaskTable, TableAttributeType, 0x0400, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(Vdsl2LineConfigurationExtensions_CarmaskValid, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  MultiByteField(Vdsl2LineConfigurationExtensions_Upboshaped, OctetsAttributeType, 0x0100, 23, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(Vdsl2LineConfigurationExtensions_CyclicExtension, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(Vdsl2LineConfigurationExtensions_DownstreamSignalToNoiseRatioSnrMode, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(Vdsl2LineConfigurationExtensions_UpstreamSnrMode, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: TableField(Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseDownstreamTable, TableAttributeType, 0x0010, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: TableField(Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseUpstreamTable, TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: MultiByteField(Vdsl2LineConfigurationExtensions_Dpboshaped, OctetsAttributeType, 0x0004, 15, toOctets("AAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: Uint16Field(Vdsl2LineConfigurationExtensions_UpboklrefPb, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(Vdsl2LineConfigurationExtensions_UpboshapedAeleModeUpboelmt, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go
index 86f2383..40fc2e6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -156,10 +156,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineConfigurationExtensions2_SosTimeDownstream = "SosTimeDownstream"
+const Vdsl2LineConfigurationExtensions2_SosTimeUpstream = "SosTimeUpstream"
+const Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdDownstream = "SosDegradedTonesThresholdDownstream"
+const Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdUpstream = "SosDegradedTonesThresholdUpstream"
+const Vdsl2LineConfigurationExtensions2_SosCrcThresholdDownstream = "SosCrcThresholdDownstream"
+const Vdsl2LineConfigurationExtensions2_SosCrcThresholdUpstream = "SosCrcThresholdUpstream"
+const Vdsl2LineConfigurationExtensions2_MaxSosDownstream = "MaxSosDownstream"
+const Vdsl2LineConfigurationExtensions2_MaxSosUpstream = "MaxSosUpstream"
+const Vdsl2LineConfigurationExtensions2_SnrMaxOffsetDownstream = "SnrMaxOffsetDownstream"
+const Vdsl2LineConfigurationExtensions2_SnrMaxOffsetUpstream = "SnrMaxOffsetUpstream"
+const Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionDownstream = "RocMinimumImpulseNoiseProtectionDownstream"
+const Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionUpstream = "RocMinimumImpulseNoiseProtectionUpstream"
+const Vdsl2LineConfigurationExtensions2_FextDownstreamTransmitterReferredVirtualNoiseTable = "FextDownstreamTransmitterReferredVirtualNoiseTable"
+const Vdsl2LineConfigurationExtensions2_NextDownstreamTransmitterReferredVirtualNoiseTable = "NextDownstreamTransmitterReferredVirtualNoiseTable"
+
 func init() {
 	vdsl2lineconfigurationextensions2BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineConfigurationExtensions2",
-		ClassID: 323,
+		ClassID: Vdsl2LineConfigurationExtensions2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -170,21 +187,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("SosTimeDownstream", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2:  ByteField("SosTimeUpstream", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  ByteField("SosDegradedTonesThresholdDownstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("SosDegradedTonesThresholdUpstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  Uint16Field("SosCrcThresholdDownstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("SosCrcThresholdUpstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  ByteField("MaxSosDownstream", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  ByteField("MaxSosUpstream", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
-			9:  Uint16Field("SnrMaxOffsetDownstream", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: Uint16Field("SnrMaxOffsetUpstream", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
-			11: ByteField("RocMinimumImpulseNoiseProtectionDownstream", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
-			12: ByteField("RocMinimumImpulseNoiseProtectionUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: TableField("FextDownstreamTransmitterReferredVirtualNoiseTable", TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 13),
-			14: TableField("NextDownstreamTransmitterReferredVirtualNoiseTable", TableAttributeType, 0x0004, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Vdsl2LineConfigurationExtensions2_SosTimeDownstream, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  ByteField(Vdsl2LineConfigurationExtensions2_SosTimeUpstream, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  ByteField(Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdDownstream, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdUpstream, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  Uint16Field(Vdsl2LineConfigurationExtensions2_SosCrcThresholdDownstream, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(Vdsl2LineConfigurationExtensions2_SosCrcThresholdUpstream, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField(Vdsl2LineConfigurationExtensions2_MaxSosDownstream, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField(Vdsl2LineConfigurationExtensions2_MaxSosUpstream, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  Uint16Field(Vdsl2LineConfigurationExtensions2_SnrMaxOffsetDownstream, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: Uint16Field(Vdsl2LineConfigurationExtensions2_SnrMaxOffsetUpstream, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: ByteField(Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionDownstream, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: ByteField(Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionUpstream, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: TableField(Vdsl2LineConfigurationExtensions2_FextDownstreamTransmitterReferredVirtualNoiseTable, TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			14: TableField(Vdsl2LineConfigurationExtensions2_NextDownstreamTransmitterReferredVirtualNoiseTable, TableAttributeType, 0x0004, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go
index fd642d2..9ce5c64 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineConfigurationExtensions3_Ripolicyds = "Ripolicyds"
+const Vdsl2LineConfigurationExtensions3_Ripolicyus = "Ripolicyus"
+const Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdds = "ReinitTimeThresholdds"
+const Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdus = "ReinitTimeThresholdus"
+const Vdsl2LineConfigurationExtensions3_Rxrefvnsfus = "Rxrefvnsfus"
+const Vdsl2LineConfigurationExtensions3_Txrefvnsfds = "Txrefvnsfds"
+const Vdsl2LineConfigurationExtensions3_RtxModeds = "RtxModeds"
+const Vdsl2LineConfigurationExtensions3_RtxModeus = "RtxModeus"
+const Vdsl2LineConfigurationExtensions3_LeftrThresh = "LeftrThresh"
+const Vdsl2LineConfigurationExtensions3_MaxdelayoctetSplitParameterMdosplit = "MaxdelayoctetSplitParameterMdosplit"
+const Vdsl2LineConfigurationExtensions3_AttndrMethodAttndrMethod = "AttndrMethodAttndrMethod"
+const Vdsl2LineConfigurationExtensions3_AttndrMaxdelayoctetSplitParameterAttndrMdosplit = "AttndrMaxdelayoctetSplitParameterAttndrMdosplit"
+
 func init() {
 	vdsl2lineconfigurationextensions3BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineConfigurationExtensions3",
-		ClassID: 410,
+		ClassID: Vdsl2LineConfigurationExtensions3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -129,19 +144,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("Ripolicyds", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2:  ByteField("Ripolicyus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3:  ByteField("ReinitTimeThresholdds", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  ByteField("ReinitTimeThresholdus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("Rxrefvnsfus", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  ByteField("Txrefvnsfds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("RtxModeds", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("RtxModeus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("LeftrThresh", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("MaxdelayoctetSplitParameterMdosplit", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("AttndrMethodAttndrMethod", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("AttndrMaxdelayoctetSplitParameterAttndrMdosplit", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Vdsl2LineConfigurationExtensions3_Ripolicyds, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  ByteField(Vdsl2LineConfigurationExtensions3_Ripolicyus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  ByteField(Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdds, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  ByteField(Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdus, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(Vdsl2LineConfigurationExtensions3_Rxrefvnsfus, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField(Vdsl2LineConfigurationExtensions3_Txrefvnsfds, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(Vdsl2LineConfigurationExtensions3_RtxModeds, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(Vdsl2LineConfigurationExtensions3_RtxModeus, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(Vdsl2LineConfigurationExtensions3_LeftrThresh, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(Vdsl2LineConfigurationExtensions3_MaxdelayoctetSplitParameterMdosplit, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(Vdsl2LineConfigurationExtensions3_AttndrMethodAttndrMethod, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(Vdsl2LineConfigurationExtensions3_AttndrMaxdelayoctetSplitParameterAttndrMdosplit, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go
index 241073c..fb2ceb4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -173,32 +173,50 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystemCapabilityXtuC = "Vdsl2TransmissionSystemCapabilityXtuC"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystem = "Vdsl2TransmissionSystem"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Profile = "Vdsl2Profile"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2LimitPsdMaskAndBandplan = "Vdsl2LimitPsdMaskAndBandplan"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Us0PsdMask = "Vdsl2Us0PsdMask"
+const Vdsl2LineInventoryAndStatusDataPart1_Actsnrmodeds = "Actsnrmodeds"
+const Vdsl2LineInventoryAndStatusDataPart1_Hlingds = "Hlingds"
+const Vdsl2LineInventoryAndStatusDataPart1_Hloggds = "Hloggds"
+const Vdsl2LineInventoryAndStatusDataPart1_Qlngds = "Qlngds"
+const Vdsl2LineInventoryAndStatusDataPart1_Snrgds = "Snrgds"
+const Vdsl2LineInventoryAndStatusDataPart1_MrefpsddsTable = "MrefpsddsTable"
+const Vdsl2LineInventoryAndStatusDataPart1_Trellisds = "Trellisds"
+const Vdsl2LineInventoryAndStatusDataPart1_ActualRateAdaptationModeDownstream = "ActualRateAdaptationModeDownstream"
+const Vdsl2LineInventoryAndStatusDataPart1_ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream = "ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream"
+const Vdsl2LineInventoryAndStatusDataPart1_SnrMarginRocDownstream = "SnrMarginRocDownstream"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart1BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart1",
-		ClassID: 168,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Vdsl2TransmissionSystemCapabilityXtuC", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("Vdsl2TransmissionSystem", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  ByteField("Vdsl2Profile", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("Vdsl2LimitPsdMaskAndBandplan", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Vdsl2Us0PsdMask", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("Actsnrmodeds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("Hlingds", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  ByteField("Hloggds", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("Qlngds", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("Snrgds", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: TableField("MrefpsddsTable", TableAttributeType, 0x0020, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 11),
-			12: ByteField("Trellisds", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: ByteField("ActualRateAdaptationModeDownstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: ByteField("ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint16Field("SnrMarginRocDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystemCapabilityXtuC, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystem, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Profile, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2LimitPsdMaskAndBandplan, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Us0PsdMask, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Actsnrmodeds, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Hlingds, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Hloggds, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Qlngds, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart1_Snrgds, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: TableField(Vdsl2LineInventoryAndStatusDataPart1_MrefpsddsTable, TableAttributeType, 0x0020, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart1_Trellisds, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: ByteField(Vdsl2LineInventoryAndStatusDataPart1_ActualRateAdaptationModeDownstream, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField(Vdsl2LineInventoryAndStatusDataPart1_ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint16Field(Vdsl2LineInventoryAndStatusDataPart1_SnrMarginRocDownstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go
index e4cba76..a2b7b6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -152,31 +152,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart2_Vdsl2TransmissionSystemCapabilityXtuR = "Vdsl2TransmissionSystemCapabilityXtuR"
+const Vdsl2LineInventoryAndStatusDataPart2_Actsnrmodeus = "Actsnrmodeus"
+const Vdsl2LineInventoryAndStatusDataPart2_Upbokle = "Upbokle"
+const Vdsl2LineInventoryAndStatusDataPart2_Hlingus = "Hlingus"
+const Vdsl2LineInventoryAndStatusDataPart2_Hloggus = "Hloggus"
+const Vdsl2LineInventoryAndStatusDataPart2_Qlngus = "Qlngus"
+const Vdsl2LineInventoryAndStatusDataPart2_Snrgus = "Snrgus"
+const Vdsl2LineInventoryAndStatusDataPart2_MrefpsdusTable = "MrefpsdusTable"
+const Vdsl2LineInventoryAndStatusDataPart2_Trellisus = "Trellisus"
+const Vdsl2LineInventoryAndStatusDataPart2_Actualce = "Actualce"
+const Vdsl2LineInventoryAndStatusDataPart2_UpbokleR = "UpbokleR"
+const Vdsl2LineInventoryAndStatusDataPart2_ActualRateAdaptationModeUpstream = "ActualRateAdaptationModeUpstream"
+const Vdsl2LineInventoryAndStatusDataPart2_ActualImpulseNoiseProtectionRocUpstream = "ActualImpulseNoiseProtectionRocUpstream"
+const Vdsl2LineInventoryAndStatusDataPart2_SnrMarginRocUpstream = "SnrMarginRocUpstream"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart2",
-		ClassID: 169,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Vdsl2TransmissionSystemCapabilityXtuR", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("Actsnrmodeus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("Upbokle", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("Hlingus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("Hloggus", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("Qlngus", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("Snrgus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  TableField("MrefpsdusTable", TableAttributeType, 0x0100, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("Trellisus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("Actualce", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("UpbokleR", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("ActualRateAdaptationModeUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: ByteField("ActualImpulseNoiseProtectionRocUpstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint16Field("SnrMarginRocUpstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Vdsl2TransmissionSystemCapabilityXtuR, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Actsnrmodeus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(Vdsl2LineInventoryAndStatusDataPart2_Upbokle, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Hlingus, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Hloggus, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Qlngus, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Snrgus, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  TableField(Vdsl2LineInventoryAndStatusDataPart2_MrefpsdusTable, TableAttributeType, 0x0100, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Trellisus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart2_Actualce, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(Vdsl2LineInventoryAndStatusDataPart2_UpbokleR, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart2_ActualRateAdaptationModeUpstream, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: ByteField(Vdsl2LineInventoryAndStatusDataPart2_ActualImpulseNoiseProtectionRocUpstream, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field(Vdsl2LineInventoryAndStatusDataPart2_SnrMarginRocUpstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go
index 64102aa..442c23e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -155,30 +155,47 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamBandsCount = "UpstreamBandsCount"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamBandsCount = "DownstreamBandsCount"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationPerBand = "DownstreamLineAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationPerBand = "UpstreamLineAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationPerBand = "DownstreamSignalAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationPerBand = "UpstreamSignalAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginPerBand = "DownstreamSnrMarginPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginPerBand = "UpstreamSnrMarginPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationExtension = "DownstreamLineAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationExtension = "UpstreamLineAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationExtension = "DownstreamSignalAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationExtension = "UpstreamSignalAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginExtension = "DownstreamSnrMarginExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginExtension = "UpstreamSnrMarginExtension"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart3BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart3",
-		ClassID: 170,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("UpstreamBandsCount", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("DownstreamBandsCount", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  MultiByteField("DownstreamLineAttenuationPerBand", OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("UpstreamLineAttenuationPerBand", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  MultiByteField("DownstreamSignalAttenuationPerBand", OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("UpstreamSignalAttenuationPerBand", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  MultiByteField("DownstreamSnrMarginPerBand", OctetsAttributeType, 0x0200, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("UpstreamSnrMarginPerBand", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("DownstreamLineAttenuationExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("UpstreamLineAttenuationExtension", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("DownstreamSignalAttenuationExtension", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("UpstreamSignalAttenuationExtension", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint16Field("DownstreamSnrMarginExtension", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: ByteField("UpstreamSnrMarginExtension", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamBandsCount, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamBandsCount, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationPerBand, OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationPerBand, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationPerBand, OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationPerBand, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginPerBand, OctetsAttributeType, 0x0200, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginPerBand, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationExtension, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationExtension, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationExtension, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationExtension, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint16Field(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginExtension, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginExtension, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go
index 107c9c6..bbd645d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -154,32 +154,51 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart4_VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb = "VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb"
+const Vdsl2LineInventoryAndStatusDataPart4_VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb = "VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb"
+const Vdsl2LineInventoryAndStatusDataPart4_UpboDownstreamReceiverSignalLevelThresholdRxthrshds = "UpboDownstreamReceiverSignalLevelThresholdRxthrshds"
+const Vdsl2LineInventoryAndStatusDataPart4_UpboUpstreamReceiverSignalLevelThresholdRxthrshus = "UpboUpstreamReceiverSignalLevelThresholdRxthrshus"
+const Vdsl2LineInventoryAndStatusDataPart4_ActualAlternativeElectricalLengthEstimationModEActAeleMode = "ActualAlternativeElectricalLengthEstimationModEActAeleMode"
+const Vdsl2LineInventoryAndStatusDataPart4_ActualDownstreamRipolicyActripolicyds = "ActualDownstreamRipolicyActripolicyds"
+const Vdsl2LineInventoryAndStatusDataPart4_ActualUpstreamRipolicyActripolicyus = "ActualUpstreamRipolicyActripolicyus"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrActualMEthodAttndrActmethod = "AttndrActualMEthodAttndrActmethod"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds = "AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus = "AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds = "AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus = "AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamActualDelayAttndrActdelayds = "AttndrDownstreamActualDelayAttndrActdelayds"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualDelayAttndrActdelayus = "AttndrUpstreamACtualDelayAttndrActdelayus"
+const Vdsl2LineInventoryAndStatusDataPart4_NearEndAGgregateAchievableNetDataRateAggachndrNe = "NearEndAGgregateAchievableNetDataRateAggachndrNe"
+const Vdsl2LineInventoryAndStatusDataPart4_FarEndAggregateAchievableNetDataRateAggachndrFe = "FarEndAggregateAchievableNetDataRateAggachndrFe"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart4BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart4",
-		ClassID: 415,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart4ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint32Field("VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
-			2:  MultiByteField("VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb", OctetsAttributeType, 0x4000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, true, false, 2),
-			3:  ByteField("UpboDownstreamReceiverSignalLevelThresholdRxthrshds", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  ByteField("UpboUpstreamReceiverSignalLevelThresholdRxthrshus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  ByteField("ActualAlternativeElectricalLengthEstimationModEActAeleMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("ActualDownstreamRipolicyActripolicyds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  ByteField("ActualUpstreamRipolicyActripolicyus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  ByteField("AttndrActualMEthodAttndrActmethod", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: ByteField("AttndrDownstreamActualDelayAttndrActdelayds", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: ByteField("AttndrUpstreamACtualDelayAttndrActdelayus", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("NearEndAGgregateAchievableNetDataRateAggachndrNe", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint32Field("FarEndAggregateAchievableNetDataRateAggachndrFe", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart4_VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
+			2:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart4_VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb, OctetsAttributeType, 0x4000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, true, false, 2),
+			3:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_UpboDownstreamReceiverSignalLevelThresholdRxthrshds, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_UpboUpstreamReceiverSignalLevelThresholdRxthrshus, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_ActualAlternativeElectricalLengthEstimationModEActAeleMode, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_ActualDownstreamRipolicyActripolicyds, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_ActualUpstreamRipolicyActripolicyus, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrActualMEthodAttndrActmethod, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamActualDelayAttndrActdelayds, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualDelayAttndrActdelayus, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(Vdsl2LineInventoryAndStatusDataPart4_NearEndAGgregateAchievableNetDataRateAggachndrNe, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field(Vdsl2LineInventoryAndStatusDataPart4_FarEndAggregateAchievableNetDataRateAggachndrFe, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go
index 81b8030..185e191 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -46,8 +46,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "parser",
-			Version:    "0.15.13",
-			CreateTime: 1632853136.8901486,
+			Version:    "0.16.0",
+			CreateTime: 1643293483.072271,
 			ItuDocName: "T-REC-G.988-202003-I!Amd3!MSW-E.docx",
 			SHA256:     "084f5265bc090ca882fe45f6844d1ce368c218e52c77795060b7643240885469",
 		})
@@ -64,8 +64,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "code-generator",
-			Version:    "0.15.13",
-			CreateTime: 1632853241.9567904,
+			Version:    "0.16.0",
+			CreateTime: 1643293492.5641377,
 			ItuDocName: "T-REC-G.988-202003-I!Amd3!MSW-E.docx",
 			SHA256:     "084f5265bc090ca882fe45f6844d1ce368c218e52c77795060b7643240885469",
 		})
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go
index eb15fd2..e0da86f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -89,22 +89,30 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VirtualEthernetInterfacePoint_AdministrativeState = "AdministrativeState"
+const VirtualEthernetInterfacePoint_OperationalState = "OperationalState"
+const VirtualEthernetInterfacePoint_InterdomainName = "InterdomainName"
+const VirtualEthernetInterfacePoint_TcpUdpPointer = "TcpUdpPointer"
+const VirtualEthernetInterfacePoint_IanaAssignedPort = "IanaAssignedPort"
+
 func init() {
 	virtualethernetinterfacepointBME = &ManagedEntityDefinition{
 		Name:    "VirtualEthernetInterfacePoint",
-		ClassID: 329,
+		ClassID: VirtualEthernetInterfacePointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("OperationalState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3: MultiByteField("InterdomainName", StringAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("TcpUdpPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint16Field("IanaAssignedPort", UnsignedIntegerAttributeType, 0x0800, 65535, mapset.NewSetWith(Read), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(VirtualEthernetInterfacePoint_AdministrativeState, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(VirtualEthernetInterfacePoint_OperationalState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3: MultiByteField(VirtualEthernetInterfacePoint_InterdomainName, StringAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(VirtualEthernetInterfacePoint_TcpUdpPointer, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field(VirtualEthernetInterfacePoint_IanaAssignedPort, UnsignedIntegerAttributeType, 0x0800, 65535, mapset.NewSetWith(Read), false, false, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go
index 28d2443..17836a4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -74,10 +74,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VlanTaggingFilterData_VlanFilterList = "VlanFilterList"
+const VlanTaggingFilterData_ForwardOperation = "ForwardOperation"
+const VlanTaggingFilterData_NumberOfEntries = "NumberOfEntries"
+
 func init() {
 	vlantaggingfilterdataBME = &ManagedEntityDefinition{
 		Name:    "VlanTaggingFilterData",
-		ClassID: 84,
+		ClassID: VlanTaggingFilterDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -86,10 +92,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("VlanFilterList", OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("ForwardOperation", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("NumberOfEntries", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(VlanTaggingFilterData_VlanFilterList, OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(VlanTaggingFilterData_ForwardOperation, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(VlanTaggingFilterData_NumberOfEntries, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go
index b13a398..5f1189a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -142,10 +142,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VlanTaggingOperationConfigurationData_UpstreamVlanTaggingOperationMode = "UpstreamVlanTaggingOperationMode"
+const VlanTaggingOperationConfigurationData_UpstreamVlanTagTciValue = "UpstreamVlanTagTciValue"
+const VlanTaggingOperationConfigurationData_DownstreamVlanTaggingOperationMode = "DownstreamVlanTaggingOperationMode"
+const VlanTaggingOperationConfigurationData_AssociationType = "AssociationType"
+const VlanTaggingOperationConfigurationData_AssociatedMePointer = "AssociatedMePointer"
+
 func init() {
 	vlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "VlanTaggingOperationConfigurationData",
-		ClassID: 78,
+		ClassID: VlanTaggingOperationConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -154,12 +162,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("UpstreamVlanTaggingOperationMode", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("UpstreamVlanTagTciValue", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("DownstreamVlanTaggingOperationMode", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: ByteField("AssociationType", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(VlanTaggingOperationConfigurationData_UpstreamVlanTaggingOperationMode, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(VlanTaggingOperationConfigurationData_UpstreamVlanTagTciValue, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(VlanTaggingOperationConfigurationData_DownstreamVlanTaggingOperationMode, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField(VlanTaggingOperationConfigurationData_AssociationType, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: Uint16Field(VlanTaggingOperationConfigurationData_AssociatedMePointer, PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go
index d9827ed..db021d7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -242,10 +242,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoiceServiceProfile_AnnouncementType = "AnnouncementType"
+const VoiceServiceProfile_JitterTarget = "JitterTarget"
+const VoiceServiceProfile_JitterBufferMax = "JitterBufferMax"
+const VoiceServiceProfile_EchoCancelInd = "EchoCancelInd"
+const VoiceServiceProfile_PstnProtocolVariant = "PstnProtocolVariant"
+const VoiceServiceProfile_DtmfDigitLevels = "DtmfDigitLevels"
+const VoiceServiceProfile_DtmfDigitDuration = "DtmfDigitDuration"
+const VoiceServiceProfile_HookFlashMinimumTime = "HookFlashMinimumTime"
+const VoiceServiceProfile_HookFlashMaximumTime = "HookFlashMaximumTime"
+const VoiceServiceProfile_TonePatternTable = "TonePatternTable"
+const VoiceServiceProfile_ToneEventTable = "ToneEventTable"
+const VoiceServiceProfile_RingingPatternTable = "RingingPatternTable"
+const VoiceServiceProfile_RingingEventTable = "RingingEventTable"
+const VoiceServiceProfile_NetworkSpecificExtensionsPointer = "NetworkSpecificExtensionsPointer"
+
 func init() {
 	voiceserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "VoiceServiceProfile",
-		ClassID: 58,
+		ClassID: VoiceServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -256,21 +273,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("AnnouncementType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("JitterTarget", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  Uint16Field("JitterBufferMax", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("EchoCancelInd", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("PstnProtocolVariant", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("DtmfDigitLevels", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  Uint16Field("DtmfDigitDuration", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  Uint16Field("HookFlashMinimumTime", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
-			9:  Uint16Field("HookFlashMaximumTime", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: TableField("TonePatternTable", TableAttributeType, 0x0040, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: TableField("ToneEventTable", TableAttributeType, 0x0020, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: TableField("RingingPatternTable", TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: TableField("RingingEventTable", TableAttributeType, 0x0008, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: Uint16Field("NetworkSpecificExtensionsPointer", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(VoiceServiceProfile_AnnouncementType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(VoiceServiceProfile_JitterTarget, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  Uint16Field(VoiceServiceProfile_JitterBufferMax, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(VoiceServiceProfile_EchoCancelInd, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(VoiceServiceProfile_PstnProtocolVariant, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(VoiceServiceProfile_DtmfDigitLevels, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  Uint16Field(VoiceServiceProfile_DtmfDigitDuration, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint16Field(VoiceServiceProfile_HookFlashMinimumTime, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  Uint16Field(VoiceServiceProfile_HookFlashMaximumTime, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: TableField(VoiceServiceProfile_TonePatternTable, TableAttributeType, 0x0040, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: TableField(VoiceServiceProfile_ToneEventTable, TableAttributeType, 0x0020, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: TableField(VoiceServiceProfile_RingingPatternTable, TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: TableField(VoiceServiceProfile_RingingEventTable, TableAttributeType, 0x0008, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint16Field(VoiceServiceProfile_NetworkSpecificExtensionsPointer, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go
index 2eb1fec..213eb5e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -169,10 +169,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipApplicationServiceProfile_CidFeatures = "CidFeatures"
+const VoipApplicationServiceProfile_CallWaitingFeatures = "CallWaitingFeatures"
+const VoipApplicationServiceProfile_CallProgressOrTransferFeatures = "CallProgressOrTransferFeatures"
+const VoipApplicationServiceProfile_CallPresentationFeatures = "CallPresentationFeatures"
+const VoipApplicationServiceProfile_DirectConnectFeature = "DirectConnectFeature"
+const VoipApplicationServiceProfile_DirectConnectUriPointer = "DirectConnectUriPointer"
+const VoipApplicationServiceProfile_BridgedLineAgentUriPointer = "BridgedLineAgentUriPointer"
+const VoipApplicationServiceProfile_ConferenceFactoryUriPointer = "ConferenceFactoryUriPointer"
+const VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew = "DialToneFeatureDelayWarmlineTimerNew"
+const VoipApplicationServiceProfile_IpHostPointer = "IpHostPointer"
+
 func init() {
 	voipapplicationserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "VoipApplicationServiceProfile",
-		ClassID: 146,
+		ClassID: VoipApplicationServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -181,17 +194,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("CidFeatures", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("CallWaitingFeatures", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("CallProgressOrTransferFeatures", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("CallPresentationFeatures", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("DirectConnectFeature", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("DirectConnectUriPointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("BridgedLineAgentUriPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  Uint16Field("ConferenceFactoryUriPointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint16Field("DialToneFeatureDelayWarmlineTimerNew", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("IpHostPointer", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(VoipApplicationServiceProfile_CidFeatures, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(VoipApplicationServiceProfile_CallWaitingFeatures, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(VoipApplicationServiceProfile_CallProgressOrTransferFeatures, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(VoipApplicationServiceProfile_CallPresentationFeatures, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(VoipApplicationServiceProfile_DirectConnectFeature, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(VoipApplicationServiceProfile_DirectConnectUriPointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(VoipApplicationServiceProfile_BridgedLineAgentUriPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field(VoipApplicationServiceProfile_ConferenceFactoryUriPointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field(VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(VoipApplicationServiceProfile_IpHostPointer, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go
index 0e8f60e..c65416e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -151,25 +151,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipConfigData_AvailableSignallingProtocols = "AvailableSignallingProtocols"
+const VoipConfigData_SignallingProtocolUsed = "SignallingProtocolUsed"
+const VoipConfigData_AvailableVoipConfigurationMethods = "AvailableVoipConfigurationMethods"
+const VoipConfigData_VoipConfigurationMethodUsed = "VoipConfigurationMethodUsed"
+const VoipConfigData_VoipConfigurationAddressPointer = "VoipConfigurationAddressPointer"
+const VoipConfigData_VoipConfigurationState = "VoipConfigurationState"
+const VoipConfigData_RetrieveProfile = "RetrieveProfile"
+const VoipConfigData_ProfileVersion = "ProfileVersion"
+
 func init() {
 	voipconfigdataBME = &ManagedEntityDefinition{
 		Name:    "VoipConfigData",
-		ClassID: 138,
+		ClassID: VoipConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AvailableSignallingProtocols", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("SignallingProtocolUsed", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint32Field("AvailableVoipConfigurationMethods", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: ByteField("VoipConfigurationMethodUsed", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: Uint16Field("VoipConfigurationAddressPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6: ByteField("VoipConfigurationState", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: ByteField("RetrieveProfile", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
-			8: MultiByteField("ProfileVersion", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(VoipConfigData_AvailableSignallingProtocols, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(VoipConfigData_SignallingProtocolUsed, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint32Field(VoipConfigData_AvailableVoipConfigurationMethods, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField(VoipConfigData_VoipConfigurationMethodUsed, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: Uint16Field(VoipConfigData_VoipConfigurationAddressPointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField(VoipConfigData_VoipConfigurationState, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: ByteField(VoipConfigData_RetrieveProfile, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
+			8: MultiByteField(VoipConfigData_ProfileVersion, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go
index 1b8f0ac..b0cce32 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipFeatureAccessCodes_CancelCallWaiting = "CancelCallWaiting"
+const VoipFeatureAccessCodes_CallHold = "CallHold"
+const VoipFeatureAccessCodes_CallPark = "CallPark"
+const VoipFeatureAccessCodes_CallerIdActivate = "CallerIdActivate"
+const VoipFeatureAccessCodes_CallerIdDeactivate = "CallerIdDeactivate"
+const VoipFeatureAccessCodes_DoNotDisturbActivation = "DoNotDisturbActivation"
+const VoipFeatureAccessCodes_DoNotDisturbDeactivation = "DoNotDisturbDeactivation"
+const VoipFeatureAccessCodes_DoNotDisturbPinChange = "DoNotDisturbPinChange"
+const VoipFeatureAccessCodes_EmergencyServiceNumber = "EmergencyServiceNumber"
+const VoipFeatureAccessCodes_IntercomService = "IntercomService"
+const VoipFeatureAccessCodes_UnattendedBlindCallTransfer = "UnattendedBlindCallTransfer"
+const VoipFeatureAccessCodes_AttendedCallTransfer = "AttendedCallTransfer"
+
 func init() {
 	voipfeatureaccesscodesBME = &ManagedEntityDefinition{
 		Name:    "VoipFeatureAccessCodes",
-		ClassID: 147,
+		ClassID: VoipFeatureAccessCodesClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -103,19 +118,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("CancelCallWaiting", OctetsAttributeType, 0x8000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2:  MultiByteField("CallHold", OctetsAttributeType, 0x4000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3:  MultiByteField("CallPark", OctetsAttributeType, 0x2000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  MultiByteField("CallerIdActivate", OctetsAttributeType, 0x1000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  MultiByteField("CallerIdDeactivate", OctetsAttributeType, 0x0800, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  MultiByteField("DoNotDisturbActivation", OctetsAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  MultiByteField("DoNotDisturbDeactivation", OctetsAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  MultiByteField("DoNotDisturbPinChange", OctetsAttributeType, 0x0100, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  MultiByteField("EmergencyServiceNumber", OctetsAttributeType, 0x0080, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: MultiByteField("IntercomService", OctetsAttributeType, 0x0040, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: MultiByteField("UnattendedBlindCallTransfer", OctetsAttributeType, 0x0020, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: MultiByteField("AttendedCallTransfer", OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(VoipFeatureAccessCodes_CancelCallWaiting, OctetsAttributeType, 0x8000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  MultiByteField(VoipFeatureAccessCodes_CallHold, OctetsAttributeType, 0x4000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  MultiByteField(VoipFeatureAccessCodes_CallPark, OctetsAttributeType, 0x2000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  MultiByteField(VoipFeatureAccessCodes_CallerIdActivate, OctetsAttributeType, 0x1000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  MultiByteField(VoipFeatureAccessCodes_CallerIdDeactivate, OctetsAttributeType, 0x0800, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField(VoipFeatureAccessCodes_DoNotDisturbActivation, OctetsAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  MultiByteField(VoipFeatureAccessCodes_DoNotDisturbDeactivation, OctetsAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField(VoipFeatureAccessCodes_DoNotDisturbPinChange, OctetsAttributeType, 0x0100, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField(VoipFeatureAccessCodes_EmergencyServiceNumber, OctetsAttributeType, 0x0080, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: MultiByteField(VoipFeatureAccessCodes_IntercomService, OctetsAttributeType, 0x0040, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: MultiByteField(VoipFeatureAccessCodes_UnattendedBlindCallTransfer, OctetsAttributeType, 0x0020, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: MultiByteField(VoipFeatureAccessCodes_AttendedCallTransfer, OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go
index 623b83e..4f1320c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -207,25 +207,37 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipLineStatus_VoipCodecUsed = "VoipCodecUsed"
+const VoipLineStatus_VoipVoiceServerStatus = "VoipVoiceServerStatus"
+const VoipLineStatus_VoipPortSessionType = "VoipPortSessionType"
+const VoipLineStatus_VoipCall1PacketPeriod = "VoipCall1PacketPeriod"
+const VoipLineStatus_VoipCall2PacketPeriod = "VoipCall2PacketPeriod"
+const VoipLineStatus_VoipCall1DestAddr = "VoipCall1DestAddr"
+const VoipLineStatus_VoipCall2DestAddr = "VoipCall2DestAddr"
+const VoipLineStatus_VoipLineState = "VoipLineState"
+const VoipLineStatus_EmergencyCallStatus = "EmergencyCallStatus"
+
 func init() {
 	voiplinestatusBME = &ManagedEntityDefinition{
 		Name:    "VoipLineStatus",
-		ClassID: 141,
+		ClassID: VoipLineStatusClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("VoipCodecUsed", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("VoipVoiceServerStatus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("VoipPortSessionType", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint16Field("VoipCall1PacketPeriod", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("VoipCall2PacketPeriod", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: MultiByteField("VoipCall1DestAddr", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
-			7: MultiByteField("VoipCall2DestAddr", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
-			8: ByteField("VoipLineState", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9: ByteField("EmergencyCallStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(VoipLineStatus_VoipCodecUsed, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(VoipLineStatus_VoipVoiceServerStatus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(VoipLineStatus_VoipPortSessionType, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field(VoipLineStatus_VoipCall1PacketPeriod, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(VoipLineStatus_VoipCall2PacketPeriod, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: MultiByteField(VoipLineStatus_VoipCall1DestAddr, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7: MultiByteField(VoipLineStatus_VoipCall2DestAddr, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
+			8: ByteField(VoipLineStatus_VoipLineState, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9: ByteField(VoipLineStatus_EmergencyCallStatus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go
index e450946..77728a6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -119,10 +119,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipMediaProfile_FaxMode = "FaxMode"
+const VoipMediaProfile_VoiceServiceProfilePointer = "VoiceServiceProfilePointer"
+const VoipMediaProfile_CodecSelection1StOrder = "CodecSelection1StOrder"
+const VoipMediaProfile_PacketPeriodSelection1StOrder = "PacketPeriodSelection1StOrder"
+const VoipMediaProfile_SilenceSuppression1StOrder = "SilenceSuppression1StOrder"
+const VoipMediaProfile_CodecSelection2NdOrder = "CodecSelection2NdOrder"
+const VoipMediaProfile_PacketPeriodSelection2NdOrder = "PacketPeriodSelection2NdOrder"
+const VoipMediaProfile_SilenceSuppression2NdOrder = "SilenceSuppression2NdOrder"
+const VoipMediaProfile_CodecSelection3RdOrder = "CodecSelection3RdOrder"
+const VoipMediaProfile_PacketPeriodSelection3RdOrder = "PacketPeriodSelection3RdOrder"
+const VoipMediaProfile_SilenceSuppression3RdOrder = "SilenceSuppression3RdOrder"
+const VoipMediaProfile_CodecSelection4ThOrder = "CodecSelection4ThOrder"
+const VoipMediaProfile_PacketPeriodSelection4ThOrder = "PacketPeriodSelection4ThOrder"
+const VoipMediaProfile_SilenceSuppression4ThOrder = "SilenceSuppression4ThOrder"
+const VoipMediaProfile_OobDtmf = "OobDtmf"
+const VoipMediaProfile_RtpProfilePointer = "RtpProfilePointer"
+
 func init() {
 	voipmediaprofileBME = &ManagedEntityDefinition{
 		Name:    "VoipMediaProfile",
-		ClassID: 142,
+		ClassID: VoipMediaProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -131,23 +150,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("FaxMode", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("VoiceServiceProfilePointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("CodecSelection1StOrder", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("PacketPeriodSelection1StOrder", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("SilenceSuppression1StOrder", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  ByteField("CodecSelection2NdOrder", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("PacketPeriodSelection2NdOrder", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("SilenceSuppression2NdOrder", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("CodecSelection3RdOrder", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: ByteField("PacketPeriodSelection3RdOrder", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("SilenceSuppression3RdOrder", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: ByteField("CodecSelection4ThOrder", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("PacketPeriodSelection4ThOrder", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
-			14: ByteField("SilenceSuppression4ThOrder", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
-			15: ByteField("OobDtmf", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 15),
-			16: Uint16Field("RtpProfilePointer", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(VoipMediaProfile_FaxMode, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(VoipMediaProfile_VoiceServiceProfilePointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(VoipMediaProfile_CodecSelection1StOrder, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(VoipMediaProfile_PacketPeriodSelection1StOrder, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(VoipMediaProfile_SilenceSuppression1StOrder, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  ByteField(VoipMediaProfile_CodecSelection2NdOrder, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(VoipMediaProfile_PacketPeriodSelection2NdOrder, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(VoipMediaProfile_SilenceSuppression2NdOrder, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(VoipMediaProfile_CodecSelection3RdOrder, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField(VoipMediaProfile_PacketPeriodSelection3RdOrder, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(VoipMediaProfile_SilenceSuppression3RdOrder, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField(VoipMediaProfile_CodecSelection4ThOrder, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(VoipMediaProfile_PacketPeriodSelection4ThOrder, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
+			14: ByteField(VoipMediaProfile_SilenceSuppression4ThOrder, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
+			15: ByteField(VoipMediaProfile_OobDtmf, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 15),
+			16: Uint16Field(VoipMediaProfile_RtpProfilePointer, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go
index 3dbb0c9..6809659 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -85,10 +85,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipVoiceCtp_UserProtocolPointer = "UserProtocolPointer"
+const VoipVoiceCtp_PptpPointer = "PptpPointer"
+const VoipVoiceCtp_VOIpMediaProfilePointer = "VOIpMediaProfilePointer"
+const VoipVoiceCtp_SignallingCode = "SignallingCode"
+
 func init() {
 	voipvoicectpBME = &ManagedEntityDefinition{
 		Name:    "VoipVoiceCtp",
-		ClassID: 139,
+		ClassID: VoipVoiceCtpClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -97,11 +104,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("UserProtocolPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("PptpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("VOIpMediaProfilePointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: ByteField("SignallingCode", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(VoipVoiceCtp_UserProtocolPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(VoipVoiceCtp_PptpPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(VoipVoiceCtp_VOIpMediaProfilePointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField(VoipVoiceCtp_SignallingCode, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go
index 37964fb..fbf3540 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VpNetworkCtp_VpiValue = "VpiValue"
+const VpNetworkCtp_UniPointer = "UniPointer"
+const VpNetworkCtp_Direction = "Direction"
+const VpNetworkCtp_Deprecated1 = "Deprecated1"
+const VpNetworkCtp_Deprecated2 = "Deprecated2"
+const VpNetworkCtp_Deprecated3 = "Deprecated3"
+const VpNetworkCtp_Deprecated4 = "Deprecated4"
+
 func init() {
 	vpnetworkctpBME = &ManagedEntityDefinition{
 		Name:    "VpNetworkCtp",
-		ClassID: 269,
+		ClassID: VpNetworkCtpClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -90,14 +100,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("VpiValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("UniPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("Direction", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("Deprecated1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
-			5: Uint16Field("Deprecated2", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 5),
-			6: Uint16Field("Deprecated3", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 6),
-			7: ByteField("Deprecated4", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, true, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(VpNetworkCtp_VpiValue, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(VpNetworkCtp_UniPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(VpNetworkCtp_Direction, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(VpNetworkCtp_Deprecated1, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
+			5: Uint16Field(VpNetworkCtp_Deprecated2, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 5),
+			6: Uint16Field(VpNetworkCtp_Deprecated3, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 6),
+			7: ByteField(VpNetworkCtp_Deprecated4, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, true, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go
index aaf21f0..4f09012 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -58,7 +58,7 @@
 //			It records only loss of information, independent of the priority of the cell. (R) (mandatory)
 //			(2-bytes)
 //
-//		Lost C_= 0 Cells
+//		Lost C0 Cells
 //			Lost C-= 0 cells: This attribute counts loss of high priority cells. It cannot distinguish
 //			between cells lost because of header bit errors, ATM-level header errors, cell policing, or
 //			buffer overflows. It records only loss of high priority cells. (R) (mandatory) (2-bytes)
@@ -66,11 +66,11 @@
 //		Misinserted Cells
 //			This attribute counts cells that are misrouted to a monitored VP. (R) (mandatory) (2-bytes)
 //
-//		Transmitted C_= 0 _ 1 Cells
+//		Transmitted C0 _ 1 Cells
 //			Transmitted C-= 0-+ 1 cells: This attribute counts cells originated by the transmitting end
 //			point (i.e., backward reporting is assumed). (R) (mandatory) (5-bytes)
 //
-//		Transmitted C_= 0 Cells
+//		Transmitted C0 Cells
 //			Transmitted C-= 0 cells: This attribute counts high priority cells originated by the
 //			transmitting end point (i.e., backward reporting is assumed). (R) (mandatory) (5-bytes)
 //
@@ -85,10 +85,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const VpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const VpPerformanceMonitoringHistoryData_LostC01Cells = "LostC01Cells"
+const VpPerformanceMonitoringHistoryData_LostC0Cells = "LostC0Cells"
+const VpPerformanceMonitoringHistoryData_MisinsertedCells = "MisinsertedCells"
+const VpPerformanceMonitoringHistoryData_TransmittedC01Cells = "TransmittedC01Cells"
+const VpPerformanceMonitoringHistoryData_TransmittedC0Cells = "TransmittedC0Cells"
+const VpPerformanceMonitoringHistoryData_ImpairedBlock = "ImpairedBlock"
+
 func init() {
 	vpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "VpPerformanceMonitoringHistoryData",
-		ClassID: 62,
+		ClassID: VpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,15 +109,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("LostC01Cells", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint16Field("LostC=0Cells", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("MisinsertedCells", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: MultiByteField("TransmittedC=01Cells", CounterAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 6),
-			7: MultiByteField("TransmittedC=0Cells", CounterAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint16Field("ImpairedBlock", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(VpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(VpPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(VpPerformanceMonitoringHistoryData_LostC01Cells, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field(VpPerformanceMonitoringHistoryData_LostC0Cells, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(VpPerformanceMonitoringHistoryData_MisinsertedCells, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: MultiByteField(VpPerformanceMonitoringHistoryData_TransmittedC01Cells, CounterAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 6),
+			7: MultiByteField(VpPerformanceMonitoringHistoryData_TransmittedC0Cells, CounterAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field(VpPerformanceMonitoringHistoryData_ImpairedBlock, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go
index a11f3da..07dd47f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -170,10 +170,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelConfigurationProfile_MinimumDataRate = "MinimumDataRate"
+const XdslChannelConfigurationProfile_MaximumDataRate = "MaximumDataRate"
+const XdslChannelConfigurationProfile_RateAdaptationRatio = "RateAdaptationRatio"
+const XdslChannelConfigurationProfile_MaximumInterleavingDelay = "MaximumInterleavingDelay"
+const XdslChannelConfigurationProfile_DataRateThresholdUpshift = "DataRateThresholdUpshift"
+const XdslChannelConfigurationProfile_DataRateThresholdDownshift = "DataRateThresholdDownshift"
+const XdslChannelConfigurationProfile_MinimumReservedDataRate = "MinimumReservedDataRate"
+const XdslChannelConfigurationProfile_MinimumDataRateInLowPowerState = "MinimumDataRateInLowPowerState"
+const XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection = "MinimumImpulseNoiseProtection"
+const XdslChannelConfigurationProfile_MaximumBitErrorRatio = "MaximumBitErrorRatio"
+const XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection8Khz = "MinimumImpulseNoiseProtection8Khz"
+const XdslChannelConfigurationProfile_MaximumDelayVariation = "MaximumDelayVariation"
+const XdslChannelConfigurationProfile_ChannelInitializationPolicySelection = "ChannelInitializationPolicySelection"
+const XdslChannelConfigurationProfile_MinimumSosBitRateDownstream = "MinimumSosBitRateDownstream"
+const XdslChannelConfigurationProfile_MinimumSosBitRateUpstream = "MinimumSosBitRateUpstream"
+
 func init() {
 	xdslchannelconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslChannelConfigurationProfile",
-		ClassID: 107,
+		ClassID: XdslChannelConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -182,22 +200,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint32Field("MinimumDataRate", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint32Field("MaximumDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("RateAdaptationRatio", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("MaximumInterleavingDelay", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint32Field("DataRateThresholdUpshift", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint32Field("DataRateThresholdDownshift", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint32Field("MinimumReservedDataRate", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  Uint32Field("MinimumDataRateInLowPowerState", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("MinimumImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: ByteField("MaximumBitErrorRatio", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("MinimumImpulseNoiseProtection8Khz", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: ByteField("MaximumDelayVariation", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
-			13: ByteField("ChannelInitializationPolicySelection", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: Uint32Field("MinimumSosBitRateDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: Uint32Field("MinimumSosBitRateUpstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field(XdslChannelConfigurationProfile_MinimumDataRate, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint32Field(XdslChannelConfigurationProfile_MaximumDataRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(XdslChannelConfigurationProfile_RateAdaptationRatio, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(XdslChannelConfigurationProfile_MaximumInterleavingDelay, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field(XdslChannelConfigurationProfile_DataRateThresholdUpshift, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field(XdslChannelConfigurationProfile_DataRateThresholdDownshift, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint32Field(XdslChannelConfigurationProfile_MinimumReservedDataRate, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint32Field(XdslChannelConfigurationProfile_MinimumDataRateInLowPowerState, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField(XdslChannelConfigurationProfile_MaximumBitErrorRatio, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection8Khz, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: ByteField(XdslChannelConfigurationProfile_MaximumDelayVariation, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: ByteField(XdslChannelConfigurationProfile_ChannelInitializationPolicySelection, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint32Field(XdslChannelConfigurationProfile_MinimumSosBitRateDownstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: Uint32Field(XdslChannelConfigurationProfile_MinimumSosBitRateUpstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go
index 851b056..2f78a1a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -136,10 +136,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelConfigurationProfilePart2_MinimumExpectedThroughputForRetransmissionMinetrRtx = "MinimumExpectedThroughputForRetransmissionMinetrRtx"
+const XdslChannelConfigurationProfilePart2_MaximumExpectedThroughputForRetransmissionMaxetrRtx = "MaximumExpectedThroughputForRetransmissionMaxetrRtx"
+const XdslChannelConfigurationProfilePart2_MaximumNetDataRateForRetransmissionMaxndrRtx = "MaximumNetDataRateForRetransmissionMaxndrRtx"
+const XdslChannelConfigurationProfilePart2_MaximumDelayForRetransmissionDelaymaxRtx = "MaximumDelayForRetransmissionDelaymaxRtx"
+const XdslChannelConfigurationProfilePart2_MinimumDelayForRetransmissionDelayminRtx = "MinimumDelayForRetransmissionDelayminRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx = "MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx = "MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx"
+const XdslChannelConfigurationProfilePart2_ShineratioRtx = "ShineratioRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx = "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx = "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx"
+const XdslChannelConfigurationProfilePart2_ReinInterArrivalTimeForRetransmissionIatReinRtx = "ReinInterArrivalTimeForRetransmissionIatReinRtx"
+const XdslChannelConfigurationProfilePart2_TargetNetDataRateTargetNdr = "TargetNetDataRateTargetNdr"
+const XdslChannelConfigurationProfilePart2_TargetExpectedThroughputForRetransmissionTargetEtr = "TargetExpectedThroughputForRetransmissionTargetEtr"
+
 func init() {
 	xdslchannelconfigurationprofilepart2BME = &ManagedEntityDefinition{
 		Name:    "XdslChannelConfigurationProfilePart2",
-		ClassID: 412,
+		ClassID: XdslChannelConfigurationProfilePart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -148,20 +164,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint32Field("MinimumExpectedThroughputForRetransmissionMinetrRtx", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  Uint32Field("MaximumExpectedThroughputForRetransmissionMaxetrRtx", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint32Field("MaximumNetDataRateForRetransmissionMaxndrRtx", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("MaximumDelayForRetransmissionDelaymaxRtx", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("MinimumDelayForRetransmissionDelayminRtx", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("ShineratioRtx", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: ByteField("ReinInterArrivalTimeForRetransmissionIatReinRtx", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint32Field("TargetNetDataRateTargetNdr", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
-			13: Uint32Field("TargetExpectedThroughputForRetransmissionTargetEtr", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field(XdslChannelConfigurationProfilePart2_MinimumExpectedThroughputForRetransmissionMinetrRtx, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint32Field(XdslChannelConfigurationProfilePart2_MaximumExpectedThroughputForRetransmissionMaxetrRtx, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint32Field(XdslChannelConfigurationProfilePart2_MaximumNetDataRateForRetransmissionMaxndrRtx, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(XdslChannelConfigurationProfilePart2_MaximumDelayForRetransmissionDelaymaxRtx, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(XdslChannelConfigurationProfilePart2_MinimumDelayForRetransmissionDelayminRtx, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(XdslChannelConfigurationProfilePart2_ShineratioRtx, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(XdslChannelConfigurationProfilePart2_ReinInterArrivalTimeForRetransmissionIatReinRtx, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint32Field(XdslChannelConfigurationProfilePart2_TargetNetDataRateTargetNdr, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: Uint32Field(XdslChannelConfigurationProfilePart2_TargetExpectedThroughputForRetransmissionTargetEtr, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go
index 172ab1a..87f8707 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -123,27 +123,41 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelDownstreamStatusData_ActualInterleavingDelay = "ActualInterleavingDelay"
+const XdslChannelDownstreamStatusData_ActualDataRate = "ActualDataRate"
+const XdslChannelDownstreamStatusData_PreviousDataRate = "PreviousDataRate"
+const XdslChannelDownstreamStatusData_ActualImpulseNoiseProtection = "ActualImpulseNoiseProtection"
+const XdslChannelDownstreamStatusData_ActualSizeOfReedSolomonCodeword = "ActualSizeOfReedSolomonCodeword"
+const XdslChannelDownstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes = "ActualNumberOfReedSolomonRedundancyBytes"
+const XdslChannelDownstreamStatusData_ActualNumberOfBitsPerSymbol = "ActualNumberOfBitsPerSymbol"
+const XdslChannelDownstreamStatusData_ActualInterleavingDepth = "ActualInterleavingDepth"
+const XdslChannelDownstreamStatusData_ActualInterleavingBlockLength = "ActualInterleavingBlockLength"
+const XdslChannelDownstreamStatusData_ActualLatencyPath = "ActualLatencyPath"
+const XdslChannelDownstreamStatusData_ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein = "ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein"
+
 func init() {
 	xdslchanneldownstreamstatusdataBME = &ManagedEntityDefinition{
 		Name:    "XdslChannelDownstreamStatusData",
-		ClassID: 102,
+		ClassID: XdslChannelDownstreamStatusDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ActualInterleavingDelay", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint32Field("ActualDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint32Field("PreviousDataRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("ActualImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("ActualSizeOfReedSolomonCodeword", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("ActualNumberOfBitsPerSymbol", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("ActualInterleavingDepth", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("ActualInterleavingBlockLength", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("ActualLatencyPath", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: ByteField("ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(XdslChannelDownstreamStatusData_ActualInterleavingDelay, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint32Field(XdslChannelDownstreamStatusData_ActualDataRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint32Field(XdslChannelDownstreamStatusData_PreviousDataRate, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(XdslChannelDownstreamStatusData_ActualImpulseNoiseProtection, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(XdslChannelDownstreamStatusData_ActualSizeOfReedSolomonCodeword, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(XdslChannelDownstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslChannelDownstreamStatusData_ActualNumberOfBitsPerSymbol, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslChannelDownstreamStatusData_ActualInterleavingDepth, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(XdslChannelDownstreamStatusData_ActualInterleavingBlockLength, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(XdslChannelDownstreamStatusData_ActualLatencyPath, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField(XdslChannelDownstreamStatusData_ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go
index 58970a7..9c932fe 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,27 +118,41 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelUpstreamStatusData_ActualInterleavingDelay = "ActualInterleavingDelay"
+const XdslChannelUpstreamStatusData_ActualDataRate = "ActualDataRate"
+const XdslChannelUpstreamStatusData_PreviousDataRate = "PreviousDataRate"
+const XdslChannelUpstreamStatusData_ActualImpulseNoiseProtection = "ActualImpulseNoiseProtection"
+const XdslChannelUpstreamStatusData_ImpulseNoiseProtectionReportingMode = "ImpulseNoiseProtectionReportingMode"
+const XdslChannelUpstreamStatusData_ActualSizeOfReedSolomonCodeword = "ActualSizeOfReedSolomonCodeword"
+const XdslChannelUpstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes = "ActualNumberOfReedSolomonRedundancyBytes"
+const XdslChannelUpstreamStatusData_ActualNumberOfBitsPerSymbol = "ActualNumberOfBitsPerSymbol"
+const XdslChannelUpstreamStatusData_ActualInterleavingDepth = "ActualInterleavingDepth"
+const XdslChannelUpstreamStatusData_ActualInterleavingBlockLength = "ActualInterleavingBlockLength"
+const XdslChannelUpstreamStatusData_ActualLatencyPath = "ActualLatencyPath"
+
 func init() {
 	xdslchannelupstreamstatusdataBME = &ManagedEntityDefinition{
 		Name:    "XdslChannelUpstreamStatusData",
-		ClassID: 103,
+		ClassID: XdslChannelUpstreamStatusDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ActualInterleavingDelay", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint32Field("ActualDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint32Field("PreviousDataRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("ActualImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("ImpulseNoiseProtectionReportingMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("ActualSizeOfReedSolomonCodeword", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("ActualNumberOfBitsPerSymbol", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("ActualInterleavingDepth", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("ActualInterleavingBlockLength", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: ByteField("ActualLatencyPath", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(XdslChannelUpstreamStatusData_ActualInterleavingDelay, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint32Field(XdslChannelUpstreamStatusData_ActualDataRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint32Field(XdslChannelUpstreamStatusData_PreviousDataRate, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(XdslChannelUpstreamStatusData_ActualImpulseNoiseProtection, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(XdslChannelUpstreamStatusData_ImpulseNoiseProtectionReportingMode, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(XdslChannelUpstreamStatusData_ActualSizeOfReedSolomonCodeword, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(XdslChannelUpstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslChannelUpstreamStatusData_ActualNumberOfBitsPerSymbol, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslChannelUpstreamStatusData_ActualInterleavingDepth, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(XdslChannelUpstreamStatusData_ActualInterleavingBlockLength, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField(XdslChannelUpstreamStatusData_ActualLatencyPath, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go
index bd31bb0..55aee0d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -97,10 +97,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslDownstreamRfiBandsProfile_DownstreamRfiBandsTable = "DownstreamRfiBandsTable"
+const XdslDownstreamRfiBandsProfile_BandsValid = "BandsValid"
+
 func init() {
 	xdsldownstreamrfibandsprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslDownstreamRfiBandsProfile",
-		ClassID: 111,
+		ClassID: XdslDownstreamRfiBandsProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -111,9 +116,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("DownstreamRfiBandsTable", TableAttributeType, 0x8000, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("BandsValid", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(XdslDownstreamRfiBandsProfile_DownstreamRfiBandsTable, TableAttributeType, 0x8000, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(XdslDownstreamRfiBandsProfile_BandsValid, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
index 75125b3..bbb3980 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramTable = "InmInpeqHistogramTable"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurement = "InmTotalMeasurement"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogram = "InmIatHistogram"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramLfeTable = "InmInpeqHistogramLfeTable"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurementLfe = "InmTotalMeasurementLfe"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogramLfe = "InmIatHistogramLfe"
+
 func init() {
 	xdslimpulsenoisemonitorperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData",
-		ClassID: 324,
+		ClassID: XdslImpulseNoiseMonitorPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -105,15 +116,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: TableField("InmInpeqHistogramTable", TableAttributeType, 0x2000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint16Field("InmTotalMeasurement", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint16Field("InmIatHistogram", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: TableField("InmInpeqHistogramLfeTable", TableAttributeType, 0x0400, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint16Field("InmTotalMeasurementLfe", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint16Field("InmIatHistogramLfe", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: TableField(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramTable, TableAttributeType, 0x2000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurement, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogram, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: TableField(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramLfeTable, TableAttributeType, 0x0400, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurementLfe, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogramLfe, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go
index dfdd42c..54c573a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -147,10 +147,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForUpshiftRateAdaptation = "DownstreamMinimumTimeIntervalForUpshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForUpshiftRateAdaptation = "UpstreamMinimumTimeIntervalForUpshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_DownstreamDownshiftNoiseMargin = "DownstreamDownshiftNoiseMargin"
+const XdslLineConfigurationProfilePart2_UpstreamDownshiftNoiseMargin = "UpstreamDownshiftNoiseMargin"
+const XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForDownshiftRateAdaptation = "DownstreamMinimumTimeIntervalForDownshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForDownshiftRateAdaptation = "UpstreamMinimumTimeIntervalForDownshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_XtuImpedanceStateForced = "XtuImpedanceStateForced"
+const XdslLineConfigurationProfilePart2_L0Time = "L0Time"
+const XdslLineConfigurationProfilePart2_L2Time = "L2Time"
+const XdslLineConfigurationProfilePart2_DownstreamMaximumNominalPowerSpectralDensity = "DownstreamMaximumNominalPowerSpectralDensity"
+const XdslLineConfigurationProfilePart2_UpstreamMaximumNominalPowerSpectralDensity = "UpstreamMaximumNominalPowerSpectralDensity"
+const XdslLineConfigurationProfilePart2_DownstreamMaximumNominalAggregateTransmitPower = "DownstreamMaximumNominalAggregateTransmitPower"
+const XdslLineConfigurationProfilePart2_UpstreamMaximumNominalAggregateTransmitPower = "UpstreamMaximumNominalAggregateTransmitPower"
+const XdslLineConfigurationProfilePart2_UpstreamMaximumAggregateReceivePower = "UpstreamMaximumAggregateReceivePower"
+const XdslLineConfigurationProfilePart2_Vdsl2TransmissionSystemEnabling = "Vdsl2TransmissionSystemEnabling"
+
 func init() {
 	xdsllineconfigurationprofilepart2BME = &ManagedEntityDefinition{
 		Name:    "XdslLineConfigurationProfilePart2",
-		ClassID: 105,
+		ClassID: XdslLineConfigurationProfilePart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -159,22 +177,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("DownstreamMinimumTimeIntervalForUpshiftRateAdaptation", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2:  Uint16Field("UpstreamMinimumTimeIntervalForUpshiftRateAdaptation", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  Uint16Field("DownstreamDownshiftNoiseMargin", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  Uint16Field("UpstreamDownshiftNoiseMargin", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  Uint16Field("DownstreamMinimumTimeIntervalForDownshiftRateAdaptation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("UpstreamMinimumTimeIntervalForDownshiftRateAdaptation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  ByteField("XtuImpedanceStateForced", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  ByteField("L0Time", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("L2Time", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: Uint16Field("DownstreamMaximumNominalPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: Uint16Field("UpstreamMaximumNominalPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: ByteField("DownstreamMaximumNominalAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("UpstreamMaximumNominalAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
-			14: Uint16Field("UpstreamMaximumAggregateReceivePower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
-			15: ByteField("Vdsl2TransmissionSystemEnabling", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForUpshiftRateAdaptation, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForUpshiftRateAdaptation, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  Uint16Field(XdslLineConfigurationProfilePart2_DownstreamDownshiftNoiseMargin, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  Uint16Field(XdslLineConfigurationProfilePart2_UpstreamDownshiftNoiseMargin, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  Uint16Field(XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForDownshiftRateAdaptation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForDownshiftRateAdaptation, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField(XdslLineConfigurationProfilePart2_XtuImpedanceStateForced, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField(XdslLineConfigurationProfilePart2_L0Time, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(XdslLineConfigurationProfilePart2_L2Time, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint16Field(XdslLineConfigurationProfilePart2_DownstreamMaximumNominalPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMaximumNominalPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField(XdslLineConfigurationProfilePart2_DownstreamMaximumNominalAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(XdslLineConfigurationProfilePart2_UpstreamMaximumNominalAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
+			14: Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMaximumAggregateReceivePower, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
+			15: ByteField(XdslLineConfigurationProfilePart2_Vdsl2TransmissionSystemEnabling, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go
index 48981e9..20a69a9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -175,10 +175,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineConfigurationProfilePart3_LoopDiagnosticsModeForcedLdsf = "LoopDiagnosticsModeForcedLdsf"
+const XdslLineConfigurationProfilePart3_AutomodeColdStartForced = "AutomodeColdStartForced"
+const XdslLineConfigurationProfilePart3_L2Atpr = "L2Atpr"
+const XdslLineConfigurationProfilePart3_L2Atprt = "L2Atprt"
+const XdslLineConfigurationProfilePart3_ForceInpDownstream = "ForceInpDownstream"
+const XdslLineConfigurationProfilePart3_ForceInpUpstream = "ForceInpUpstream"
+const XdslLineConfigurationProfilePart3_UpdateRequestFlagForNearEndTestParameters = "UpdateRequestFlagForNearEndTestParameters"
+const XdslLineConfigurationProfilePart3_UpdateRequestFlagForFarEndTestParameters = "UpdateRequestFlagForFarEndTestParameters"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetUpstream = "InmInterArrivalTimeOffsetUpstream"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepUpstream = "InmInterArrivalTimeStepUpstream"
+const XdslLineConfigurationProfilePart3_InmClusterContinuationValueUpstream = "InmClusterContinuationValueUpstream"
+const XdslLineConfigurationProfilePart3_InmEquivalentInpModeUpstream = "InmEquivalentInpModeUpstream"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetDownstream = "InmInterArrivalTimeOffsetDownstream"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepDownstream = "InmInterArrivalTimeStepDownstream"
+const XdslLineConfigurationProfilePart3_InmClusterContinuationValueDownstream = "InmClusterContinuationValueDownstream"
+const XdslLineConfigurationProfilePart3_InmEquivalentInpModeDownstream = "InmEquivalentInpModeDownstream"
+
 func init() {
 	xdsllineconfigurationprofilepart3BME = &ManagedEntityDefinition{
 		Name:    "XdslLineConfigurationProfilePart3",
-		ClassID: 106,
+		ClassID: XdslLineConfigurationProfilePart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -187,23 +206,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("LoopDiagnosticsModeForcedLdsf", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("AutomodeColdStartForced", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("L2Atpr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("L2Atprt", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("ForceInpDownstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("ForceInpUpstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("UpdateRequestFlagForNearEndTestParameters", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), true, true, false, 7),
-			8:  ByteField("UpdateRequestFlagForFarEndTestParameters", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
-			9:  Uint16Field("InmInterArrivalTimeOffsetUpstream", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("InmInterArrivalTimeStepUpstream", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("InmClusterContinuationValueUpstream", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("InmEquivalentInpModeUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("InmInterArrivalTimeOffsetDownstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("InmInterArrivalTimeStepDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("InmClusterContinuationValueDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("InmEquivalentInpModeDownstream", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XdslLineConfigurationProfilePart3_LoopDiagnosticsModeForcedLdsf, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(XdslLineConfigurationProfilePart3_AutomodeColdStartForced, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(XdslLineConfigurationProfilePart3_L2Atpr, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(XdslLineConfigurationProfilePart3_L2Atprt, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(XdslLineConfigurationProfilePart3_ForceInpDownstream, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(XdslLineConfigurationProfilePart3_ForceInpUpstream, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(XdslLineConfigurationProfilePart3_UpdateRequestFlagForNearEndTestParameters, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), true, true, false, 7),
+			8:  ByteField(XdslLineConfigurationProfilePart3_UpdateRequestFlagForFarEndTestParameters, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9:  Uint16Field(XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetUpstream, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepUpstream, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(XdslLineConfigurationProfilePart3_InmClusterContinuationValueUpstream, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(XdslLineConfigurationProfilePart3_InmEquivalentInpModeUpstream, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetDownstream, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepDownstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(XdslLineConfigurationProfilePart3_InmClusterContinuationValueDownstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(XdslLineConfigurationProfilePart3_InmEquivalentInpModeDownstream, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go
index 92dbed6..393ae25 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -167,31 +167,49 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart1_XtuCG9941VendorId = "XtuCG9941VendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuRG9941VendorId = "XtuRG9941VendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuCSystemVendorId = "XtuCSystemVendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuRSystemVendorId = "XtuRSystemVendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuCVersionNumber = "XtuCVersionNumber"
+const XdslLineInventoryAndStatusDataPart1_XtuRVersionNumber = "XtuRVersionNumber"
+const XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart1 = "XtuCSerialNumberPart1"
+const XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart2 = "XtuCSerialNumberPart2"
+const XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart1 = "XtuRSerialNumberPart1"
+const XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart2 = "XtuRSerialNumberPart2"
+const XdslLineInventoryAndStatusDataPart1_XtuCSelfTestResults = "XtuCSelfTestResults"
+const XdslLineInventoryAndStatusDataPart1_XtuRSelfTestResults = "XtuRSelfTestResults"
+const XdslLineInventoryAndStatusDataPart1_XtuCTransmissionSystemCapability = "XtuCTransmissionSystemCapability"
+const XdslLineInventoryAndStatusDataPart1_XtuRTransmissionSystemCapability = "XtuRTransmissionSystemCapability"
+const XdslLineInventoryAndStatusDataPart1_InitializationSuccessFailureCause = "InitializationSuccessFailureCause"
+
 func init() {
 	xdsllineinventoryandstatusdatapart1BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart1",
-		ClassID: 100,
+		ClassID: XdslLineInventoryAndStatusDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint64Field("XtuCG9941VendorId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint64Field("XtuRG9941VendorId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint64Field("XtuCSystemVendorId", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("XtuRSystemVendorId", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  MultiByteField("XtuCVersionNumber", OctetsAttributeType, 0x0800, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 5),
-			6:  MultiByteField("XtuRVersionNumber", OctetsAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
-			7:  MultiByteField("XtuCSerialNumberPart1", OctetsAttributeType, 0x0200, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
-			8:  MultiByteField("XtuCSerialNumberPart2", OctetsAttributeType, 0x0100, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
-			9:  MultiByteField("XtuRSerialNumberPart1", OctetsAttributeType, 0x0080, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 9),
-			10: MultiByteField("XtuRSerialNumberPart2", OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("XtuCSelfTestResults", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("XtuRSelfTestResults", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: MultiByteField("XtuCTransmissionSystemCapability", OctetsAttributeType, 0x0008, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 13),
-			14: MultiByteField("XtuRTransmissionSystemCapability", OctetsAttributeType, 0x0004, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 14),
-			15: ByteField("InitializationSuccessFailureCause", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuCG9941VendorId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuRG9941VendorId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuCSystemVendorId, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuRSystemVendorId, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCVersionNumber, OctetsAttributeType, 0x0800, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 5),
+			6:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRVersionNumber, OctetsAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart1, OctetsAttributeType, 0x0200, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
+			8:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart2, OctetsAttributeType, 0x0100, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
+			9:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart1, OctetsAttributeType, 0x0080, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 9),
+			10: MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart2, OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(XdslLineInventoryAndStatusDataPart1_XtuCSelfTestResults, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(XdslLineInventoryAndStatusDataPart1_XtuRSelfTestResults, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCTransmissionSystemCapability, OctetsAttributeType, 0x0008, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 13),
+			14: MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRTransmissionSystemCapability, OctetsAttributeType, 0x0004, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField(XdslLineInventoryAndStatusDataPart1_InitializationSuccessFailureCause, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go
index 6385cfd..0172ef9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -217,32 +217,51 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart2_XdslTransmissionSystem = "XdslTransmissionSystem"
+const XdslLineInventoryAndStatusDataPart2_LinePowerManagementState = "LinePowerManagementState"
+const XdslLineInventoryAndStatusDataPart2_DownstreamLineAttenuation = "DownstreamLineAttenuation"
+const XdslLineInventoryAndStatusDataPart2_UpstreamLineAttenuation = "UpstreamLineAttenuation"
+const XdslLineInventoryAndStatusDataPart2_DownstreamSignalAttenuation = "DownstreamSignalAttenuation"
+const XdslLineInventoryAndStatusDataPart2_UpstreamSignalAttenuation = "UpstreamSignalAttenuation"
+const XdslLineInventoryAndStatusDataPart2_DownstreamSnrRatioMargin = "DownstreamSnrRatioMargin"
+const XdslLineInventoryAndStatusDataPart2_UpstreamSnrMargin = "UpstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart2_DownstreamMaximumAttainableDataRate = "DownstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart2_UpstreamMaximumAttainableDataRate = "UpstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart2_DownstreamActualPowerSpectrumDensity = "DownstreamActualPowerSpectrumDensity"
+const XdslLineInventoryAndStatusDataPart2_UpstreamActualPowerSpectrumDensity = "UpstreamActualPowerSpectrumDensity"
+const XdslLineInventoryAndStatusDataPart2_DownstreamActualAggregateTransmitPower = "DownstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart2_UpstreamActualAggregateTransmitPower = "UpstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedDownstream = "InitializationLastStateTransmittedDownstream"
+const XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedUpstream = "InitializationLastStateTransmittedUpstream"
+
 func init() {
 	xdsllineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart2",
-		ClassID: 101,
+		ClassID: XdslLineInventoryAndStatusDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("XdslTransmissionSystem", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("LinePowerManagementState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("DownstreamLineAttenuation", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("UpstreamLineAttenuation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("DownstreamSignalAttenuation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("UpstreamSignalAttenuation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("DownstreamSnrRatioMargin", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("UpstreamSnrMargin", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("DownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("UpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("DownstreamActualPowerSpectrumDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint16Field("UpstreamActualPowerSpectrumDensity", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint16Field("DownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("UpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: ByteField("InitializationLastStateTransmittedDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: ByteField("InitializationLastStateTransmittedUpstream", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(XdslLineInventoryAndStatusDataPart2_XdslTransmissionSystem, OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(XdslLineInventoryAndStatusDataPart2_LinePowerManagementState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamLineAttenuation, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamLineAttenuation, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamSignalAttenuation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamSignalAttenuation, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamSnrRatioMargin, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamSnrMargin, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(XdslLineInventoryAndStatusDataPart2_DownstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(XdslLineInventoryAndStatusDataPart2_UpstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamActualPowerSpectrumDensity, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamActualPowerSpectrumDensity, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField(XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedDownstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: ByteField(XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedUpstream, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go
index 4e0cf45..6f3f39a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -141,32 +141,51 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamSnrMargin = "FextDownstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamSnrMargin = "NextDownstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamSnrMargin = "FextUpstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamSnrMargin = "NextUpstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamMaximumAttainableDataRate = "FextDownstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamMaximumAttainableDataRate = "NextDownstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamMaximumAttainableDataRate = "FextUpstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamMaximumAttainableDataRate = "NextUpstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamActualPowerSpectralDensity = "FextDownstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamActualPowerSpectralDensity = "NextDownstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamActualPowerSpectralDensity = "FextUpstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamActualPowerSpectralDensity = "NextUpstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamActualAggregateTransmitPower = "FextDownstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamActualAggregateTransmitPower = "NextDownstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamActualAggregateTransmitPower = "FextUpstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamActualAggregateTransmitPower = "NextUpstreamActualAggregateTransmitPower"
+
 func init() {
 	xdsllineinventoryandstatusdatapart5BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart5",
-		ClassID: 325,
+		ClassID: XdslLineInventoryAndStatusDataPart5ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint16Field("FextDownstreamSnrMargin", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("NextDownstreamSnrMargin", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("FextUpstreamSnrMargin", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("NextUpstreamSnrMargin", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("FextDownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("NextDownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("FextUpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("NextUpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("FextDownstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("NextDownstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("FextUpstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint16Field("NextUpstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint16Field("FextDownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("NextDownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint16Field("FextUpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint16Field("NextUpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamSnrMargin, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamSnrMargin, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamSnrMargin, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamSnrMargin, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint16Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go
index ad1a629..892c00b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -84,22 +84,31 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart8_RetransmissionUsedDownstreamRtxUsedds = "RetransmissionUsedDownstreamRtxUsedds"
+const XdslLineInventoryAndStatusDataPart8_RetransmissionUsedUpstreamRtxUsedus = "RetransmissionUsedUpstreamRtxUsedus"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfNearEndTestParametersStampTestNe = "DateTimeStampingOfNearEndTestParametersStampTestNe"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfFarEndTestParametersStampTestFe = "DateTimeStampingOfFarEndTestParametersStampTestFe"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs = "DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs = "DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs"
+
 func init() {
 	xdsllineinventoryandstatusdatapart8BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart8",
-		ClassID: 414,
+		ClassID: XdslLineInventoryAndStatusDataPart8ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("RetransmissionUsedDownstreamRtxUsedds", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("RetransmissionUsedUpstreamRtxUsedus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: MultiByteField("DateTimeStampingOfNearEndTestParametersStampTestNe", OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
-			4: MultiByteField("DateTimeStampingOfFarEndTestParametersStampTestFe", OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
-			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs", OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
-			6: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs", OctetsAttributeType, 0x0400, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(XdslLineInventoryAndStatusDataPart8_RetransmissionUsedDownstreamRtxUsedds, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(XdslLineInventoryAndStatusDataPart8_RetransmissionUsedUpstreamRtxUsedus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfNearEndTestParametersStampTestNe, OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfFarEndTestParametersStampTestFe, OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs, OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs, OctetsAttributeType, 0x0400, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go
index 9b455a3..3b31ff8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -101,10 +101,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslPsdMaskProfile_PsdMaskTable = "PsdMaskTable"
+const XdslPsdMaskProfile_MaskValid = "MaskValid"
+
 func init() {
 	xdslpsdmaskprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslPsdMaskProfile",
-		ClassID: 110,
+		ClassID: XdslPsdMaskProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -115,9 +120,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("PsdMaskTable", TableAttributeType, 0x8000, TableInfo{nil, 4}, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("MaskValid", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(XdslPsdMaskProfile_PsdMaskTable, TableAttributeType, 0x8000, TableInfo{nil, 4}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(XdslPsdMaskProfile_MaskValid, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go
index 05e7d55..05390c1 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask1 = "DownstreamSubcarrierMask1"
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask2 = "DownstreamSubcarrierMask2"
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask3 = "DownstreamSubcarrierMask3"
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask4 = "DownstreamSubcarrierMask4"
+const XdslSubcarrierMaskingDownstreamProfile_MaskValid = "MaskValid"
+
 func init() {
 	xdslsubcarriermaskingdownstreamprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslSubcarrierMaskingDownstreamProfile",
-		ClassID: 108,
+		ClassID: XdslSubcarrierMaskingDownstreamProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -103,12 +111,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("DownstreamSubcarrierMask1", OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: MultiByteField("DownstreamSubcarrierMask2", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: MultiByteField("DownstreamSubcarrierMask3", OctetsAttributeType, 0x2000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("DownstreamSubcarrierMask4", OctetsAttributeType, 0x1000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("MaskValid", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask1, OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask2, OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask3, OctetsAttributeType, 0x2000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask4, OctetsAttributeType, 0x1000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(XdslSubcarrierMaskingDownstreamProfile_MaskValid, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go
index 0e02784..037d7b0 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -61,10 +61,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslSubcarrierMaskingUpstreamProfile_UpstreamSubcarrierMask = "UpstreamSubcarrierMask"
+
 func init() {
 	xdslsubcarriermaskingupstreamprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslSubcarrierMaskingUpstreamProfile",
-		ClassID: 109,
+		ClassID: XdslSubcarrierMaskingUpstreamProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -73,8 +77,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint64Field("UpstreamSubcarrierMask", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint64Field(XdslSubcarrierMaskingUpstreamProfile_UpstreamSubcarrierMask, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
index 00e0827..64e1ec9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,10 +81,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuCChannelPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_CorrectedBlocks = "CorrectedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_UncorrectedBlocks = "UncorrectedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_TransmittedBlocks = "TransmittedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_ReceivedBlocks = "ReceivedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_CodeViolations = "CodeViolations"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections = "ForwardErrorCorrections"
+
 func init() {
 	xdslxtucchannelperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuCChannelPerformanceMonitoringHistoryData",
-		ClassID: 114,
+		ClassID: XdslXtuCChannelPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,15 +105,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CorrectedBlocks", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("UncorrectedBlocks", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("TransmittedBlocks", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ReceivedBlocks", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("CodeViolations", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint16Field("ForwardErrorCorrections", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslXtuCChannelPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslXtuCChannelPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_CorrectedBlocks, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_UncorrectedBlocks, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_TransmittedBlocks, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_ReceivedBlocks, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(XdslXtuCChannelPerformanceMonitoringHistoryData_CodeViolations, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field(XdslXtuCChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go
index caa6f42..3436761 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -121,25 +121,44 @@
 //			attribute counts are inhibited during unavailability - see clause 7.2.7.13 of [ITUT G.997.1].
 //			(R) (mandatory) (2-bytes)
 //
-//		Sos Success Count, Near End
-//			The SOS-SUCCESS-NE attribute is a count of the total number of successful SOS procedures
-//			initiated by the near-end xTU on the line during the accumulation period. Successful SOS is
-//			defined in clause-12.1.4 of [ITUT G.993.2]. (R) (optional) (2-bytes)
+//		Sos Success Count Near End
+//			SOS success count, near end: The SOS-SUCCESS-NE attribute is a count of the total number of
+//			successful SOS procedures initiated by the near-end xTU on the line during the accumulation
+//			period. Successful SOS is defined in clause-12.1.4 of [ITUT G.993.2]. (R) (optional) (2-bytes)
 //
-//		Sos Success Count, Far End
-//			The SOS-SUCCESS-FE attribute is a count of the total number of successful SOS procedures
-//			initiated by the far-end xTU on the line during the accumulation period. Successful SOS is
-//			defined in clause 12.1.4 of [ITUT-G.993.2]. (R) (optional) (2-bytes)
+//		Sos Success Count Far End
+//			SOS success count, far end: The SOS-SUCCESS-FE attribute is a count of the total number of
+//			successful SOS procedures initiated by the far-end xTU on the line during the accumulation
+//			period. Successful SOS is defined in clause 12.1.4 of [ITUT-G.993.2]. (R) (optional) (2-bytes)
 //
 type XdslXtuCPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuCPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuCPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfFrameSeconds = "LossOfFrameSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfSignalSeconds = "LossOfSignalSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfLinkSeconds = "LossOfLinkSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfPowerSeconds = "LossOfPowerSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_ErroredSecondsEs = "ErroredSecondsEs"
+const XdslXtuCPerformanceMonitoringHistoryData_SeverelyErroredSeconds = "SeverelyErroredSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LineInitializations = "LineInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_FailedLineInitializations = "FailedLineInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_ShortInitializations = "ShortInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_FailedShortInitializations = "FailedShortInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_UnavailableSeconds = "UnavailableSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountNearEnd = "SosSuccessCountNearEnd"
+const XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountFarEnd = "SosSuccessCountFarEnd"
+
 func init() {
 	xdslxtucperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuCPerformanceMonitoringHistoryData",
-		ClassID: 112,
+		ClassID: XdslXtuCPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -149,23 +168,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("LossOfFrameSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("LossOfSignalSeconds", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("LossOfLinkSeconds", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("LossOfPowerSeconds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("ErroredSecondsEs", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("SeverelyErroredSeconds", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("LineInitializations", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("FailedLineInitializations", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("ShortInitializations", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint16Field("FailedShortInitializations", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint16Field("FecSeconds", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("UnavailableSeconds", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint16Field("SosSuccessCount,NearEnd", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint16Field("SosSuccessCount,FarEnd", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XdslXtuCPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfFrameSeconds, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfSignalSeconds, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfLinkSeconds, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfPowerSeconds, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_ErroredSecondsEs, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_SeverelyErroredSeconds, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LineInitializations, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_FailedLineInitializations, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_ShortInitializations, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_FailedShortInitializations, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_UnavailableSeconds, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountNearEnd, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountFarEnd, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
index bc65164..1523591 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -73,10 +73,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_LeftrDefectSeconds = "LeftrDefectSeconds"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_ErrorFreeBitsCounter = "ErrorFreeBitsCounter"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_MinimumErrorFreeThroughputMineftr = "MinimumErrorFreeThroughputMineftr"
+
 func init() {
 	xdslxtucperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "XdslXtuCPerformanceMonitoringHistoryDataPart2",
-		ClassID: 408,
+		ClassID: XdslXtuCPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -86,12 +94,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("LeftrDefectSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("ErrorFreeBitsCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("MinimumErrorFreeThroughputMineftr", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslXtuCPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_LeftrDefectSeconds, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_ErrorFreeBitsCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_MinimumErrorFreeThroughputMineftr, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
index d9602df..46f31f8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -85,10 +85,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuRChannelPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_CorrectedBlocks = "CorrectedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_UncorrectedBlocks = "UncorrectedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_TransmittedBlocks = "TransmittedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_ReceivedBlocks = "ReceivedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_CodeViolations = "CodeViolations"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections = "ForwardErrorCorrections"
+
 func init() {
 	xdslxturchannelperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuRChannelPerformanceMonitoringHistoryData",
-		ClassID: 115,
+		ClassID: XdslXtuRChannelPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,15 +109,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CorrectedBlocks", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("UncorrectedBlocks", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("TransmittedBlocks", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ReceivedBlocks", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("CodeViolations", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint16Field("ForwardErrorCorrections", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslXtuRChannelPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslXtuRChannelPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_CorrectedBlocks, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_UncorrectedBlocks, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_TransmittedBlocks, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_ReceivedBlocks, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(XdslXtuRChannelPerformanceMonitoringHistoryData_CodeViolations, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field(XdslXtuRChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go
index a649da5..4a9266a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuRPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuRPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuRPerformanceMonitoringHistoryData_LossOfFrameSeconds = "LossOfFrameSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_LossOfSignalSeconds = "LossOfSignalSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_LossOfPowerSeconds = "LossOfPowerSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_ErroredSeconds = "ErroredSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_SeverelyErroredSeconds = "SeverelyErroredSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_UnavailableSeconds = "UnavailableSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_LeftrDefectSeconds = "LeftrDefectSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_ErrorFreeBitsCounter = "ErrorFreeBitsCounter"
+const XdslXtuRPerformanceMonitoringHistoryData_MinimumErrorFreeThroughputMineftr = "MinimumErrorFreeThroughputMineftr"
+
 func init() {
 	xdslxturperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuRPerformanceMonitoringHistoryData",
-		ClassID: 113,
+		ClassID: XdslXtuRPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,19 +145,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("LossOfFrameSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("LossOfSignalSeconds", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("LossOfPowerSeconds", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("ErroredSeconds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("SeverelyErroredSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("FecSeconds", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("UnavailableSeconds", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("LeftrDefectSeconds", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("ErrorFreeBitsCounter", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("MinimumErrorFreeThroughputMineftr", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XdslXtuRPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LossOfFrameSeconds, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LossOfSignalSeconds, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LossOfPowerSeconds, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_ErroredSeconds, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_SeverelyErroredSeconds, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_UnavailableSeconds, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LeftrDefectSeconds, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(XdslXtuRPerformanceMonitoringHistoryData_ErrorFreeBitsCounter, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(XdslXtuRPerformanceMonitoringHistoryData_MinimumErrorFreeThroughputMineftr, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
index 3245441..56c4b26 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_PloamMessageIntegrityCheckMicErrorCount = "PloamMessageIntegrityCheckMicErrorCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_DownstreamPloamMessagesCount = "DownstreamPloamMessagesCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_ProfileMessagesReceived = "ProfileMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_RangingTimeMessagesReceived = "RangingTimeMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_DeactivateOnuIdMessagesReceived = "DeactivateOnuIdMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_DisableSerialNumberMessagesReceived = "DisableSerialNumberMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_RequestRegistrationMessagesReceived = "RequestRegistrationMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignAllocIdMessagesReceived = "AssignAllocIdMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_KeyControlMessagesReceived = "KeyControlMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_SleepAllowMessagesReceived = "SleepAllowMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_BaselineOmciMessagesReceivedCount = "BaselineOmciMessagesReceivedCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_ExtendedOmciMessagesReceivedCount = "ExtendedOmciMessagesReceivedCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignOnuIdMessagesReceived = "AssignOnuIdMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_OmciMicErrorCount = "OmciMicErrorCount"
+
 func init() {
 	xgpondownstreammanagementperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XgPonDownstreamManagementPerformanceMonitoringHistoryData",
-		ClassID: 345,
+		ClassID: XgPonDownstreamManagementPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,23 +149,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PloamMessageIntegrityCheckMicErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("DownstreamPloamMessagesCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("ProfileMessagesReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("RangingTimeMessagesReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("DeactivateOnuIdMessagesReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("DisableSerialNumberMessagesReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("RequestRegistrationMessagesReceived", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("AssignAllocIdMessagesReceived", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("KeyControlMessagesReceived", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("SleepAllowMessagesReceived", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("BaselineOmciMessagesReceivedCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("ExtendedOmciMessagesReceivedCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("AssignOnuIdMessagesReceived", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint32Field("OmciMicErrorCount", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XgPonDownstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_PloamMessageIntegrityCheckMicErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_DownstreamPloamMessagesCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_ProfileMessagesReceived, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_RangingTimeMessagesReceived, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_DeactivateOnuIdMessagesReceived, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_DisableSerialNumberMessagesReceived, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_RequestRegistrationMessagesReceived, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignAllocIdMessagesReceived, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_KeyControlMessagesReceived, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_SleepAllowMessagesReceived, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_BaselineOmciMessagesReceivedCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_ExtendedOmciMessagesReceivedCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignOnuIdMessagesReceived, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_OmciMicErrorCount, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go
index 4c7a0f9..ba08f36 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -123,10 +123,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount = "PsbdHecErrorCount"
+const XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount = "XgtcHecErrorCount"
+const XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount = "UnknownProfileCount"
+const XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames = "TransmittedXgPonEncapsulationMethodXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames = "FragmentXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount = "XgemHecLostWordsCount"
+const XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors = "XgemKeyErrors"
+const XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount = "XgemHecErrorCount"
+const XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames = "TransmittedBytesInNonIdleXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames = "ReceivedBytesInNonIdleXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount = "LossOfDownstreamSynchronizationLodsEventCount"
+const XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount = "LodsEventRestoredCount"
+const XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents = "OnuReactivationByLodsEvents"
+
 func init() {
 	xgpontcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XgPonTcPerformanceMonitoringHistoryData",
-		ClassID: 344,
+		ClassID: XgPonTcPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -136,22 +154,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("TransmittedXgPonEncapsulationMethodXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("LossOfDownstreamSynchronizationLodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field(XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field(XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
index 6b44c68..7f178d3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_UpstreamPloamMessageCount = "UpstreamPloamMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_SerialNumberOnuMessageCount = "SerialNumberOnuMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_RegistrationMessageCount = "RegistrationMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_KeyReportMessageCount = "KeyReportMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_AcknowledgeMessageCount = "AcknowledgeMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_SleepRequestMessageCount = "SleepRequestMessageCount"
+
 func init() {
 	xgponupstreammanagementperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XgPonUpstreamManagementPerformanceMonitoringHistoryData",
-		ClassID: 346,
+		ClassID: XgPonUpstreamManagementPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,15 +103,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("UpstreamPloamMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint32Field("SerialNumberOnuMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint32Field("RegistrationMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: Uint32Field("KeyReportMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint32Field("AcknowledgeMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint32Field("SleepRequestMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XgPonUpstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_UpstreamPloamMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_SerialNumberOnuMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_RegistrationMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_KeyReportMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_AcknowledgeMessageCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_SleepRequestMessageCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go
index 33e78c5..154b288 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,10 +83,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable = "LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable"
+const XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable = "LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable"
+const XtuDataGatheringConfiguration_LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO = "LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO"
+const XtuDataGatheringConfiguration_LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR = "LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR"
+const XtuDataGatheringConfiguration_LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst = "LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst"
+
 func init() {
 	xtudatagatheringconfigurationBME = &ManagedEntityDefinition{
 		Name:    "XtuDataGatheringConfiguration",
-		ClassID: 413,
+		ClassID: XtuDataGatheringConfigurationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -97,12 +105,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable", TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: TableField("LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable", TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: ByteField("LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable, TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: TableField(XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable, TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(XtuDataGatheringConfiguration_LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(XtuDataGatheringConfiguration_LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField(XtuDataGatheringConfiguration_LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
