diff --git a/VERSION b/VERSION
index 3bf213d..5a68790 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.10.4-dev
+1.10.4
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 36c1a57..964a90e 100644
--- a/go.mod
+++ b/go.mod
@@ -23,7 +23,7 @@
 	github.com/olekukonko/tablewriter v0.0.4
 	github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4
 	github.com/opencord/device-management-interface v1.2.1
-	github.com/opencord/omci-lib-go/v2 v2.1.2
+	github.com/opencord/omci-lib-go/v2 v2.2.0
 	github.com/opencord/voltha-protos/v5 v5.1.2
 	github.com/pkg/errors v0.8.1 // indirect
 	github.com/sirupsen/logrus v1.4.2
diff --git a/go.sum b/go.sum
index 4c127d9..4ce0602 100644
--- a/go.sum
+++ b/go.sum
@@ -87,8 +87,8 @@
 github.com/opencord/cordctl v0.0.0-20190909161711-01e9c1f04bf4/go.mod h1:/+3S0pwQUy7HeKnH0KfKp5W6hmh/LdZzuZTNT/m7vA4=
 github.com/opencord/device-management-interface v1.2.1 h1:ur7l70Le6Xzemb7Y/2wkO7u9jA26bLnB4R0+5SIoy+I=
 github.com/opencord/device-management-interface v1.2.1/go.mod h1:G1owSqGBGaqllrwtjxfLTsy9EDsGhdhmqkJM3XOnPD0=
-github.com/opencord/omci-lib-go/v2 v2.1.2 h1:IgwSGEtM8zf/o8wrDLdY+q0WshDYwRwMGYeL35gMqVQ=
-github.com/opencord/omci-lib-go/v2 v2.1.2/go.mod h1:o1S/jhDLHNikFU7uG2TR5UOM5KmKlqwLlVncXi0FBYQ=
+github.com/opencord/omci-lib-go/v2 v2.2.0 h1:9eawwD1+oWHTzEv9Q/JeSN12N/3YSGKoj1dr2Pm434g=
+github.com/opencord/omci-lib-go/v2 v2.2.0/go.mod h1:o1S/jhDLHNikFU7uG2TR5UOM5KmKlqwLlVncXi0FBYQ=
 github.com/opencord/voltha-protos/v5 v5.1.2 h1:biyhoK+5JBcpT3HvUBb1xzN5cAKA0xXU/hLbtzuR9xI=
 github.com/opencord/voltha-protos/v5 v5.1.2/go.mod h1:dvz08S+JLdfjhFtd3Rf38DLeD9jQ6JO1+0K3NTdheRo=
 github.com/pierrec/lz4 v2.4.1+incompatible h1:mFe7ttWaflA46Mhqh+jUfjp2qTbPYxLB2/OyBppH9dg=
diff --git a/internal/bbsim/devices/onu.go b/internal/bbsim/devices/onu.go
index 089196f..5eed730 100644
--- a/internal/bbsim/devices/onu.go
+++ b/internal/bbsim/devices/onu.go
@@ -832,7 +832,7 @@
 				success = false
 			} else {
 				// 1 locks the UNI, 0 unlocks it
-				adminState := msgObj.Attributes["AdministrativeState"].(uint8)
+				adminState := msgObj.Attributes[me.PhysicalPathTerminationPointEthernetUni_AdministrativeState].(uint8)
 				var err error
 				if adminState == 1 {
 					err = uni.Disable()
@@ -859,7 +859,7 @@
 				success = false
 			} else {
 				// 1 locks the UNI, 0 unlocks it
-				adminState := msgObj.Attributes["AdministrativeState"].(uint8)
+				adminState := msgObj.Attributes[me.PhysicalPathTerminationPointPotsUni_AdministrativeState].(uint8)
 				var err error
 				if adminState == 1 {
 					err = pots.Disable()
@@ -878,7 +878,7 @@
 				}
 			}
 		case me.OnuGClassID:
-			o.AdminLockState = msgObj.Attributes["AdministrativeState"].(uint8)
+			o.AdminLockState = msgObj.Attributes[me.OnuG_AdministrativeState].(uint8)
 			onuLogger.WithFields(log.Fields{
 				"IntfId":         o.PonPortID,
 				"OnuId":          o.ID,
@@ -886,8 +886,8 @@
 				"AdminLockState": o.AdminLockState,
 			}).Debug("set-onu-admin-lock-state")
 		case me.TContClassID:
-			allocId := msgObj.Attributes["AllocId"].(uint16)
-			entityID := msgObj.Attributes["ManagedEntityId"].(uint16)
+			allocId := msgObj.Attributes[me.TCont_AllocId].(uint16)
+			entityID := msgObj.Attributes[me.ManagedEntityID].(uint16)
 
 			// if the AllocId is 255 (0xFF) or 65535 (0xFFFF) it means we are removing it,
 			// otherwise we are adding it
@@ -1629,7 +1629,7 @@
 
 			meParams := me.ParamData{
 				EntityID:   meId.ToUint16(),
-				Attributes: me.AttributeValueMap{"AdministrativeState": 0},
+				Attributes: me.AttributeValueMap{me.PhysicalPathTerminationPointEthernetUni_AdministrativeState: 0},
 			}
 			managedEntity, omciError := me.NewPhysicalPathTerminationPointEthernetUni(meParams)
 			if omciError.GetError() != nil {
diff --git a/internal/bbsim/devices/onu_omci_test.go b/internal/bbsim/devices/onu_omci_test.go
index b9c2801..a8c668b 100644
--- a/internal/bbsim/devices/onu_omci_test.go
+++ b/internal/bbsim/devices/onu_omci_test.go
@@ -30,14 +30,14 @@
 )
 
 var mockAttr = me.AttributeValueMap{
-	"PortId":                              0,
-	"TContPointer":                        0,
-	"Direction":                           0,
-	"TrafficManagementPointerForUpstream": 0,
-	"TrafficDescriptorProfilePointerForUpstream":   0,
-	"PriorityQueuePointerForDownStream":            0,
-	"TrafficDescriptorProfilePointerForDownstream": 0,
-	"EncryptionKeyRing":                            0,
+	me.GemPortNetworkCtp_PortId:                                       0,
+	me.GemPortNetworkCtp_TContPointer:                                 0,
+	me.GemPortNetworkCtp_Direction:                                    0,
+	me.GemPortNetworkCtp_TrafficManagementPointerForUpstream:          0,
+	me.GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream:   0,
+	me.GemPortNetworkCtp_PriorityQueuePointerForDownStream:            0,
+	me.GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream: 0,
+	me.GemPortNetworkCtp_EncryptionKeyRing:                            0,
 }
 
 func makeOmciCreateRequest(t *testing.T) []byte {
diff --git a/internal/common/omci/create_test.go b/internal/common/omci/create_test.go
index 93524b3..cbd64ff 100644
--- a/internal/common/omci/create_test.go
+++ b/internal/common/omci/create_test.go
@@ -17,11 +17,12 @@
 package omci
 
 import (
+	"testing"
+
 	"github.com/google/gopacket"
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
 	"gotest.tools/assert"
-	"testing"
 )
 
 func omciToCreateResponse(t *testing.T, omciPkt *gopacket.Packet) *omci.CreateResponse {
@@ -54,14 +55,14 @@
 			EntityInstance: 12,
 		},
 		Attributes: me.AttributeValueMap{
-			"PortId":                              0,
-			"TContPointer":                        0,
-			"Direction":                           0,
-			"TrafficManagementPointerForUpstream": 0,
-			"TrafficDescriptorProfilePointerForUpstream":   0,
-			"PriorityQueuePointerForDownStream":            0,
-			"TrafficDescriptorProfilePointerForDownstream": 0,
-			"EncryptionKeyRing":                            0,
+			me.GemPortNetworkCtp_PortId:                                       0,
+			me.GemPortNetworkCtp_TContPointer:                                 0,
+			me.GemPortNetworkCtp_Direction:                                    0,
+			me.GemPortNetworkCtp_TrafficManagementPointerForUpstream:          0,
+			me.GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream:   0,
+			me.GemPortNetworkCtp_PriorityQueuePointerForDownStream:            0,
+			me.GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream: 0,
+			me.GemPortNetworkCtp_EncryptionKeyRing:                            0,
 		},
 	}
 	omciPkt, err := Serialize(omci.CreateRequestType, omciReq, 66)
diff --git a/internal/common/omci/get.go b/internal/common/omci/get.go
index f8680a8..6d83495 100644
--- a/internal/common/omci/get.go
+++ b/internal/common/omci/get.go
@@ -126,21 +126,21 @@
 	managedEntity, meErr := me.NewOnu2G(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId": entityID,
-			"EquipmentId":     ToOctets("12345123451234512345", 20),
-			"OpticalNetworkUnitManagementAndControlChannelOmccVersion": 180,
-			"VendorProductCode":                           0,
-			"SecurityCapability":                          1,
-			"SecurityMode":                                1,
-			"TotalPriorityQueueNumber":                    1,
-			"TotalTrafficSchedulerNumber":                 1,
-			"Deprecated":                                  1,
-			"TotalGemPortIdNumber":                        32,
-			"Sysuptime":                                   319389947, // NOTE need to be smarter?
-			"ConnectivityCapability":                      127,
-			"CurrentConnectivityMode":                     5,
-			"QualityOfServiceQosConfigurationFlexibility": 48,
-			"PriorityQueueScaleFactor":                    1,
+			me.ManagedEntityID:   entityID,
+			me.Onu2G_EquipmentId: ToOctets("12345123451234512345", 20),
+			me.Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion: 180,
+			me.Onu2G_VendorProductCode:                                        0,
+			me.Onu2G_SecurityCapability:                                       1,
+			me.Onu2G_SecurityMode:                                             1,
+			me.Onu2G_TotalPriorityQueueNumber:                                 1,
+			me.Onu2G_TotalTrafficSchedulerNumber:                              1,
+			me.Onu2G_Deprecated:                                               1,
+			me.Onu2G_TotalGemPortIdNumber:                                     32,
+			me.Onu2G_Sysuptime:                                                319389947, // NOTE need to be smarter?
+			me.Onu2G_ConnectivityCapability:                                   127,
+			me.Onu2G_CurrentConnectivityMode:                                  5,
+			me.Onu2G_QualityOfServiceQosConfigurationFlexibility:              48,
+			me.Onu2G_PriorityQueueScaleFactor:                                 1,
 		},
 	})
 
@@ -164,20 +164,20 @@
 	managedEntity, meErr := me.NewOnuG(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":         entityID,
-			"VendorId":                ToOctets("BBSM", 4),
-			"Version":                 ToOctets("v0.0.1", 14),
-			"SerialNumber":            append(onuSn.VendorId, onuSn.VendorSpecific...),
-			"TrafficManagementOption": 0,
-			"Deprecated":              0,
-			"BatteryBackup":           0,
-			"AdministrativeState":     0,
-			"OperationalState":        0,
-			"OnuSurvivalTime":         10,
-			"LogicalOnuId":            ToOctets("BBSM", 24),
-			"LogicalPassword":         ToOctets("BBSM", 12),
-			"CredentialsStatus":       0,
-			"ExtendedTcLayerOptions":  0,
+			me.ManagedEntityID:              entityID,
+			me.OnuG_VendorId:                ToOctets("BBSM", 4),
+			me.OnuG_Version:                 ToOctets("v0.0.1", 14),
+			me.OnuG_SerialNumber:            append(onuSn.VendorId, onuSn.VendorSpecific...),
+			me.OnuG_TrafficManagementOption: 0,
+			me.OnuG_Deprecated:              0,
+			me.OnuG_BatteryBackup:           0,
+			me.OnuG_AdministrativeState:     0,
+			me.OnuG_OperationalState:        0,
+			me.OnuG_OnuSurvivalTime:         10,
+			me.OnuG_LogicalOnuId:            ToOctets("BBSM", 24),
+			me.OnuG_LogicalPassword:         ToOctets("BBSM", 12),
+			me.OnuG_CredentialsStatus:       0,
+			me.OnuG_ExtendedTcLayerOptions:  0,
 		},
 	})
 
@@ -246,13 +246,13 @@
 			EntityInstance: entityInstance,
 		},
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId": 0,
-			"Version":         ToOctets(version, 14),
-			"IsCommitted":     committed,
-			"IsActive":        active,
-			"IsValid":         1,
-			"ProductCode":     ToOctets("BBSIM-ONU", 25),
-			"ImageHash":       imageHash,
+			me.ManagedEntityID:           0,
+			me.SoftwareImage_Version:     ToOctets(version, 14),
+			me.SoftwareImage_IsCommitted: committed,
+			me.SoftwareImage_IsActive:    active,
+			me.SoftwareImage_IsValid:     1,
+			me.SoftwareImage_ProductCode: ToOctets("BBSIM-ONU", 25),
+			me.SoftwareImage_ImageHash:   imageHash,
 		},
 		Result:        me.Success,
 		AttributeMask: attributeMask,
@@ -275,8 +275,8 @@
 			EntityInstance: entityInstance,
 		},
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId": 0,
-			"MacAddress":      ToOctets("aabbcc", 6),
+			me.ManagedEntityID:             0,
+			me.IpHostConfigData_MacAddress: ToOctets("aabbcc", 6),
 		},
 		Result:        me.Success,
 		AttributeMask: attributeMask,
@@ -290,15 +290,15 @@
 			EntityInstance: entityInstance,
 		},
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":                   0,
-			"AvailableSignallingProtocols":      1,
-			"SignallingProtocolUsed":            1,
-			"AvailableVoipConfigurationMethods": 1,
-			"VoipConfigurationMethodUsed":       1,
-			"VoipConfigurationAddressPointer":   0xFFFF,
-			"VoipConfigurationState":            0,
-			"RetrieveProfile":                   0,
-			"ProfileVersion":                    0,
+			me.ManagedEntityID: 0,
+			me.VoipConfigData_AvailableSignallingProtocols:      1,
+			me.VoipConfigData_SignallingProtocolUsed:            1,
+			me.VoipConfigData_AvailableVoipConfigurationMethods: 1,
+			me.VoipConfigData_VoipConfigurationMethodUsed:       1,
+			me.VoipConfigData_VoipConfigurationAddressPointer:   0xFFFF,
+			me.VoipConfigData_VoipConfigurationState:            0,
+			me.VoipConfigData_RetrieveProfile:                   0,
+			me.VoipConfigData_ProfileVersion:                    0,
 		},
 		Result:        me.Success,
 		AttributeMask: attributeMask,
@@ -314,12 +314,12 @@
 	managedEntity, meErr := me.NewUniG(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":             entityID,
-			"Deprecated":                  0,
-			"AdministrativeState":         omciAdminState,
-			"ManagementCapability":        0,
-			"NonOmciManagementIdentifier": 1,
-			"RelayAgentOptions":           1,
+			me.ManagedEntityID:                  entityID,
+			me.UniG_Deprecated:                  0,
+			me.UniG_AdministrativeState:         omciAdminState,
+			me.UniG_ManagementCapability:        0,
+			me.UniG_NonOmciManagementIdentifier: 1,
+			me.UniG_RelayAgentOptions:           1,
 		},
 	})
 
@@ -350,22 +350,22 @@
 	managedEntity, meErr := me.NewPhysicalPathTerminationPointEthernetUni(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":               entityID,
-			"ExpectedType":                  0,
-			"SensedType":                    0,
-			"AutoDetectionConfiguration":    0,
-			"EthernetLoopbackConfiguration": 0,
-			"AdministrativeState":           onuAdminState,
-			"OperationalState":              onuOperState,
-			"ConfigurationInd":              0,
-			"MaxFrameSize":                  0,
-			"DteOrDceInd":                   0,
-			"PauseTime":                     0,
-			"BridgedOrIpInd":                0,
-			"Arc":                           0,
-			"ArcInterval":                   0,
-			"PppoeFilter":                   0,
-			"PowerControl":                  0,
+			me.ManagedEntityID: entityID,
+			me.PhysicalPathTerminationPointEthernetUni_ExpectedType:                  0,
+			me.PhysicalPathTerminationPointEthernetUni_SensedType:                    0,
+			me.PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration:    0,
+			me.PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration: 0,
+			me.PhysicalPathTerminationPointEthernetUni_AdministrativeState:           onuAdminState,
+			me.PhysicalPathTerminationPointEthernetUni_OperationalState:              onuOperState,
+			me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd:              0,
+			me.PhysicalPathTerminationPointEthernetUni_MaxFrameSize:                  0,
+			me.PhysicalPathTerminationPointEthernetUni_DteOrDceInd:                   0,
+			me.PhysicalPathTerminationPointEthernetUni_PauseTime:                     0,
+			me.PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd:                0,
+			me.PhysicalPathTerminationPointEthernetUni_Arc:                           0,
+			me.PhysicalPathTerminationPointEthernetUni_ArcInterval:                   0,
+			me.PhysicalPathTerminationPointEthernetUni_PppoeFilter:                   0,
+			me.PhysicalPathTerminationPointEthernetUni_PowerControl:                  0,
 		},
 	})
 
@@ -396,20 +396,20 @@
 	managedEntity, meErr := me.NewPhysicalPathTerminationPointPotsUni(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":     entityID,
-			"AdministrativeState": onuAdminState,
-			"Deprecated":          0,
-			"Arc":                 0,
-			"ArcInterval":         0,
-			"Impedance":           0,
-			"TransmissionPath":    0,
-			"RxGain":              0,
-			"TxGain":              0,
-			"OperationalState":    onuOperState,
-			"HookState":           0,
-			"PotsHoldoverTime":    0,
-			"NominalFeedVoltage":  0,
-			"LossOfSoftswitch":    0,
+			me.ManagedEntityID: entityID,
+			me.PhysicalPathTerminationPointPotsUni_AdministrativeState: onuAdminState,
+			me.PhysicalPathTerminationPointPotsUni_Deprecated:          0,
+			me.PhysicalPathTerminationPointPotsUni_Arc:                 0,
+			me.PhysicalPathTerminationPointPotsUni_ArcInterval:         0,
+			me.PhysicalPathTerminationPointPotsUni_Impedance:           0,
+			me.PhysicalPathTerminationPointPotsUni_TransmissionPath:    0,
+			me.PhysicalPathTerminationPointPotsUni_RxGain:              0,
+			me.PhysicalPathTerminationPointPotsUni_TxGain:              0,
+			me.PhysicalPathTerminationPointPotsUni_OperationalState:    onuOperState,
+			me.PhysicalPathTerminationPointPotsUni_HookState:           0,
+			me.PhysicalPathTerminationPointPotsUni_PotsHoldoverTime:    0,
+			me.PhysicalPathTerminationPointPotsUni_NominalFeedVoltage:  0,
+			me.PhysicalPathTerminationPointPotsUni_LossOfSoftswitch:    0,
 		},
 	})
 
@@ -433,23 +433,23 @@
 	managedEntity, meErr := me.NewEthernetFramePerformanceMonitoringHistoryDataUpstream(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":         entityID,
-			"IntervalEndTime":         0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
-			"ThresholdData12Id":       0,
-			"DropEvents":              rand.Intn(100),
-			"Octets":                  rand.Intn(100),
-			"Packets":                 rand.Intn(100),
-			"BroadcastPackets":        rand.Intn(100),
-			"MulticastPackets":        rand.Intn(100),
-			"CrcErroredPackets":       rand.Intn(100),
-			"UndersizePackets":        rand.Intn(100),
-			"OversizePackets":         rand.Intn(100),
-			"Packets64Octets":         rand.Intn(100),
-			"Packets65To127Octets":    rand.Intn(100),
-			"Packets128To255Octets":   rand.Intn(100),
-			"Packets256To511Octets":   rand.Intn(100),
-			"Packets512To1023Octets":  rand.Intn(100),
-			"Packets1024To1518Octets": rand.Intn(100),
+			me.ManagedEntityID: entityID,
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime:         0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id:       0,
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents:              rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets:                  rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets:                 rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets:        rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets:        rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets:       rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets:        rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets:         rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets:         rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets:    rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets:   rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets:   rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets:  rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets: rand.Intn(100),
 		},
 	})
 
@@ -473,23 +473,23 @@
 	managedEntity, meErr := me.NewEthernetFramePerformanceMonitoringHistoryDataDownstream(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":         entityID,
-			"IntervalEndTime":         0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
-			"ThresholdData12Id":       0,
-			"DropEvents":              rand.Intn(100),
-			"Octets":                  rand.Intn(100),
-			"Packets":                 rand.Intn(100),
-			"BroadcastPackets":        rand.Intn(100),
-			"MulticastPackets":        rand.Intn(100),
-			"CrcErroredPackets":       rand.Intn(100),
-			"UndersizePackets":        rand.Intn(100),
-			"OversizePackets":         rand.Intn(100),
-			"Packets64Octets":         rand.Intn(100),
-			"Packets65To127Octets":    rand.Intn(100),
-			"Packets128To255Octets":   rand.Intn(100),
-			"Packets256To511Octets":   rand.Intn(100),
-			"Packets512To1023Octets":  rand.Intn(100),
-			"Packets1024To1518Octets": rand.Intn(100),
+			me.ManagedEntityID: entityID,
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime:         0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id:       0,
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents:              rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets:                  rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets:                 rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets:        rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets:        rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets:       rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets:        rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets:         rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets:         rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets:    rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets:   rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets:   rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets:  rand.Intn(100),
+			me.EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets: rand.Intn(100),
 		},
 	})
 
@@ -513,23 +513,23 @@
 	managedEntity, meErr := me.NewEthernetPerformanceMonitoringHistoryData(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":                 entityID,
-			"IntervalEndTime":                 0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
-			"ThresholdData12Id":               0,
-			"FcsErrors":                       rand.Intn(100),
-			"ExcessiveCollisionCounter":       rand.Intn(100),
-			"LateCollisionCounter":            rand.Intn(100),
-			"FramesTooLong":                   rand.Intn(100),
-			"BufferOverflowsOnReceive":        rand.Intn(100),
-			"BufferOverflowsOnTransmit":       rand.Intn(100),
-			"SingleCollisionFrameCounter":     rand.Intn(100),
-			"MultipleCollisionsFrameCounter":  rand.Intn(100),
-			"SqeCounter":                      rand.Intn(100),
-			"DeferredTransmissionCounter":     rand.Intn(100),
-			"InternalMacTransmitErrorCounter": rand.Intn(100),
-			"CarrierSenseErrorCounter":        rand.Intn(100),
-			"AlignmentErrorCounter":           rand.Intn(100),
-			"InternalMacReceiveErrorCounter":  rand.Intn(100),
+			me.ManagedEntityID: entityID,
+			me.EthernetPerformanceMonitoringHistoryData_IntervalEndTime:                 0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
+			me.EthernetPerformanceMonitoringHistoryData_ThresholdData12Id:               0,
+			me.EthernetPerformanceMonitoringHistoryData_FcsErrors:                       rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter:       rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_LateCollisionCounter:            rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_FramesTooLong:                   rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive:        rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit:       rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter:     rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter:  rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_SqeCounter:                      rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter:     rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter: rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter:        rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter:           rand.Intn(100),
+			me.EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter:  rand.Intn(100),
 		},
 	})
 
@@ -553,14 +553,14 @@
 	managedEntity, meErr := me.NewFecPerformanceMonitoringHistoryData(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":        entityID,
-			"IntervalEndTime":        0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
-			"ThresholdData12Id":      0,
-			"CorrectedBytes":         rand.Intn(100),
-			"CorrectedCodeWords":     rand.Intn(100),
-			"UncorrectableCodeWords": rand.Intn(100),
-			"TotalCodeWords":         rand.Intn(100),
-			"FecSeconds":             rand.Intn(100),
+			me.ManagedEntityID: entityID,
+			me.FecPerformanceMonitoringHistoryData_IntervalEndTime:        0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
+			me.FecPerformanceMonitoringHistoryData_ThresholdData12Id:      0,
+			me.FecPerformanceMonitoringHistoryData_CorrectedBytes:         rand.Intn(100),
+			me.FecPerformanceMonitoringHistoryData_CorrectedCodeWords:     rand.Intn(100),
+			me.FecPerformanceMonitoringHistoryData_UncorrectableCodeWords: rand.Intn(100),
+			me.FecPerformanceMonitoringHistoryData_TotalCodeWords:         rand.Intn(100),
+			me.FecPerformanceMonitoringHistoryData_FecSeconds:             rand.Intn(100),
 		},
 	})
 
@@ -587,14 +587,14 @@
 	managedEntity, meErr := me.NewGemPortNetworkCtpPerformanceMonitoringHistoryData(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":         entityID,
-			"IntervalEndTime":         0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
-			"ThresholdData12Id":       0,
-			"TransmittedGemFrames":    rand.Intn(100),
-			"ReceivedGemFrames":       rand.Intn(100),
-			"ReceivedPayloadBytes":    rand.Intn(100),
-			"TransmittedPayloadBytes": rand.Intn(100),
-			"EncryptionKeyErrors":     rand.Intn(100),
+			me.ManagedEntityID: entityID,
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime:         0, // This ideally should increment by 1 every collection interval, but staying 0 for simulation is Ok for now.
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id:       0,
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames:    rand.Intn(100),
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames:       rand.Intn(100),
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes:    rand.Intn(100),
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes: rand.Intn(100),
+			me.GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors:     rand.Intn(100),
 		},
 	})
 
@@ -618,8 +618,8 @@
 	managedEntity, meErr := me.NewOnuData(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId": entityID,
-			"MibDataSync":     mds,
+			me.ManagedEntityID:     entityID,
+			me.OnuData_MibDataSync: mds,
 		},
 	})
 
@@ -643,23 +643,23 @@
 	managedEntity, meErr := me.NewAniG(me.ParamData{
 		EntityID: entityID,
 		Attributes: me.AttributeValueMap{
-			"ManagedEntityId":             entityID,
-			"SrIndication":                0,
-			"TotalTcontNumber":            0,
-			"GemBlockLength":              0,
-			"PiggybackDbaReporting":       0,
-			"Deprecated":                  0,
-			"SignalFailThreshold":         0,
-			"SignalDegradeThreshold":      0,
-			"Arc":                         0,
-			"ArcInterval":                 0,
-			"OpticalSignalLevel":          rand.Intn(16000), // generate some random power level than defaulting to 0
-			"LowerOpticalThreshold":       0,
-			"UpperOpticalThreshold":       0,
-			"OnuResponseTime":             0,
-			"TransmitOpticalLevel":        rand.Intn(16000), // generate some random power level than defaulting to 0
-			"LowerTransmitPowerThreshold": 0,
-			"UpperTransmitPowerThreshold": 0,
+			me.ManagedEntityID:                  entityID,
+			me.AniG_SrIndication:                0,
+			me.AniG_TotalTcontNumber:            0,
+			me.AniG_GemBlockLength:              0,
+			me.AniG_PiggybackDbaReporting:       0,
+			me.AniG_Deprecated:                  0,
+			me.AniG_SignalFailThreshold:         0,
+			me.AniG_SignalDegradeThreshold:      0,
+			me.AniG_Arc:                         0,
+			me.AniG_ArcInterval:                 0,
+			me.AniG_OpticalSignalLevel:          rand.Intn(16000), // generate some random power level than defaulting to 0
+			me.AniG_LowerOpticalThreshold:       0,
+			me.AniG_UpperOpticalThreshold:       0,
+			me.AniG_OnuResponseTime:             0,
+			me.AniG_TransmitOpticalLevel:        rand.Intn(16000), // generate some random power level than defaulting to 0
+			me.AniG_LowerTransmitPowerThreshold: 0,
+			me.AniG_UpperTransmitPowerThreshold: 0,
 		},
 	})
 
@@ -685,8 +685,12 @@
 	if meClass != me.EthernetFrameExtendedPmClassID {
 		callback = me.NewEthernetFrameExtendedPm64Bit
 	}
+
+	//The names of these attributes are left as strings
+	//rather than constants of a particular ME because
+	//they can be used with both the MEs in the lines above
 	attr := me.AttributeValueMap{
-		"ManagedEntityId":        entityID,
+		me.ManagedEntityID:       entityID,
 		"DropEvents":             100,
 		"Octets":                 101,
 		"Frames":                 102,
diff --git a/internal/common/omci/get_test.go b/internal/common/omci/get_test.go
index 6fde0dc..60fd5ae 100644
--- a/internal/common/omci/get_test.go
+++ b/internal/common/omci/get_test.go
@@ -19,13 +19,14 @@
 import (
 	"encoding/hex"
 	"fmt"
+	"reflect"
+	"testing"
+
 	"github.com/google/gopacket"
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
 	"github.com/opencord/voltha-protos/v5/go/openolt"
 	"gotest.tools/assert"
-	"reflect"
-	"testing"
 )
 
 func omciBytesToMsg(t *testing.T, data []byte) (*omci.OMCI, *gopacket.Packet) {
@@ -203,7 +204,7 @@
 	getResponseLayer := omciToGetResponse(t, omciPkt)
 
 	assert.Equal(t, getResponseLayer.Result, me.Success)
-	snBytes := (getResponseLayer.Attributes["SerialNumber"]).([]byte)
+	snBytes := (getResponseLayer.Attributes[me.OnuG_SerialNumber]).([]byte)
 	snVendorPart := fmt.Sprintf("%s", snBytes[:4])
 	snNumberPart := hex.EncodeToString(snBytes[4:])
 	serialNumber := snVendorPart + snNumberPart
diff --git a/internal/common/omci/mib_test.go b/internal/common/omci/mib_test.go
index 5c0cfc8..9578416 100644
--- a/internal/common/omci/mib_test.go
+++ b/internal/common/omci/mib_test.go
@@ -17,11 +17,12 @@
 package omci
 
 import (
+	"testing"
+
 	"github.com/google/gopacket"
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
 	"gotest.tools/assert"
-	"testing"
 )
 
 // used to verify that the first message in the MIB Sync (OnuData)
@@ -90,17 +91,17 @@
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.OnuDataClassID,
 		onuDataEntityId,
-		me.AttributeValueMap{"MibDataSync": 0},
+		me.AttributeValueMap{me.OnuData_MibDataSync: 0},
 	})
 
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"Type":          ethernetUnitType,
-			"NumberOfPorts": uniPortCount,
-			"SerialNumber":  ToOctets("BBSM-Circuit-Pack", 20),
-			"Version":       ToOctets("v0.0.1", 20),
+			me.CircuitPack_Type:          ethernetUnitType,
+			me.CircuitPack_NumberOfPorts: uniPortCount,
+			me.CircuitPack_SerialNumber:  ToOctets("BBSM-Circuit-Pack", 20),
+			me.CircuitPack_Version:       ToOctets("v0.0.1", 20),
 		},
 	})
 
@@ -108,22 +109,22 @@
 		me.AniGClassID,
 		anigEntityId,
 		me.AttributeValueMap{
-			"Arc":                         0,
-			"ArcInterval":                 0,
-			"Deprecated":                  0,
-			"GemBlockLength":              48,
-			"LowerOpticalThreshold":       255,
-			"LowerTransmitPowerThreshold": 129,
-			"OnuResponseTime":             0,
-			"OpticalSignalLevel":          57428,
-			"PiggybackDbaReporting":       0,
-			"SignalDegradeThreshold":      9,
-			"SignalFailThreshold":         5,
-			"SrIndication":                1,
-			"TotalTcontNumber":            8,
-			"TransmitOpticalLevel":        3171,
-			"UpperOpticalThreshold":       255,
-			"UpperTransmitPowerThreshold": 129,
+			me.AniG_Arc:                         0,
+			me.AniG_ArcInterval:                 0,
+			me.AniG_Deprecated:                  0,
+			me.AniG_GemBlockLength:              48,
+			me.AniG_LowerOpticalThreshold:       255,
+			me.AniG_LowerTransmitPowerThreshold: 129,
+			me.AniG_OnuResponseTime:             0,
+			me.AniG_OpticalSignalLevel:          57428,
+			me.AniG_PiggybackDbaReporting:       0,
+			me.AniG_SignalDegradeThreshold:      9,
+			me.AniG_SignalFailThreshold:         5,
+			me.AniG_SrIndication:                1,
+			me.AniG_TotalTcontNumber:            8,
+			me.AniG_TransmitOpticalLevel:        3171,
+			me.AniG_UpperOpticalThreshold:       255,
+			me.AniG_UpperTransmitPowerThreshold: 129,
 		},
 	})
 
@@ -131,15 +132,15 @@
 		me.Onu2GClassID,
 		onu2gEntityId,
 		me.AttributeValueMap{
-			"ConnectivityCapability":                      127,
-			"CurrentConnectivityMode":                     0,
-			"Deprecated":                                  1,
-			"PriorityQueueScaleFactor":                    1,
-			"QualityOfServiceQosConfigurationFlexibility": 63,
-			"Sysuptime":                                   0,
-			"TotalGemPortIdNumber":                        8,
-			"TotalPriorityQueueNumber":                    64,
-			"TotalTrafficSchedulerNumber":                 8,
+			me.Onu2G_ConnectivityCapability:                      127,
+			me.Onu2G_CurrentConnectivityMode:                     0,
+			me.Onu2G_Deprecated:                                  1,
+			me.Onu2G_PriorityQueueScaleFactor:                    1,
+			me.Onu2G_QualityOfServiceQosConfigurationFlexibility: 63,
+			me.Onu2G_Sysuptime:                                   0,
+			me.Onu2G_TotalGemPortIdNumber:                        8,
+			me.Onu2G_TotalPriorityQueueNumber:                    64,
+			me.Onu2G_TotalTrafficSchedulerNumber:                 8,
 		},
 	})
 
@@ -149,13 +150,13 @@
 		want mibExpected
 	}{
 		{"mibUploadNext-0", createTestMibUploadNextArgs(t, 1, 0),
-			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 1, entityID: onuDataEntityId.ToUint16(), entityClass: me.OnuDataClassID, attributes: map[string]interface{}{"MibDataSync": MDS}}},
+			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 1, entityID: onuDataEntityId.ToUint16(), entityClass: me.OnuDataClassID, attributes: map[string]interface{}{me.OnuData_MibDataSync: MDS}}},
 		{"mibUploadNext-1", createTestMibUploadNextArgs(t, 2, 1),
-			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 2, entityID: circuitPackEntityID.ToUint16(), entityClass: me.CircuitPackClassID, attributes: map[string]interface{}{"Type": uint8(47), "NumberOfPorts": uint8(4)}}},
+			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 2, entityID: circuitPackEntityID.ToUint16(), entityClass: me.CircuitPackClassID, attributes: map[string]interface{}{me.CircuitPack_Type: uint8(47), me.CircuitPack_NumberOfPorts: uint8(4)}}},
 		{"mibUploadNext-2", createTestMibUploadNextArgs(t, 3, 2),
-			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 3, entityID: anigEntityId.ToUint16(), entityClass: me.AniGClassID, attributes: map[string]interface{}{"GemBlockLength": uint16(48)}}},
+			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 3, entityID: anigEntityId.ToUint16(), entityClass: me.AniGClassID, attributes: map[string]interface{}{me.AniG_GemBlockLength: uint16(48)}}},
 		{"mibUploadNext-3", createTestMibUploadNextArgs(t, 4, 3),
-			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 4, entityID: onuDataEntityId.ToUint16(), entityClass: me.Onu2GClassID, attributes: map[string]interface{}{"TotalPriorityQueueNumber": uint16(64)}}},
+			mibExpected{messageType: omci.MibUploadNextResponseType, transactionId: 4, entityID: onuDataEntityId.ToUint16(), entityClass: me.Onu2GClassID, attributes: map[string]interface{}{me.Onu2G_TotalPriorityQueueNumber: uint16(64)}}},
 	}
 
 	for _, tt := range tests {
diff --git a/internal/common/omci/onu_mib_db.go b/internal/common/omci/onu_mib_db.go
index 79ba3a5..e9fabed 100644
--- a/internal/common/omci/onu_mib_db.go
+++ b/internal/common/omci/onu_mib_db.go
@@ -102,7 +102,7 @@
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.OnuDataClassID,
 		EntityID{0x00, 0x00},
-		me.AttributeValueMap{"MibDataSync": 0}, // FIXME this needs to be parametrized before sending the response
+		me.AttributeValueMap{me.OnuData_MibDataSync: 0}, // FIXME this needs to be parametrized before sending the response
 	})
 
 	// then we report the CardHolder
@@ -121,38 +121,38 @@
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"Type":          xgsPonUnitType,
-			"NumberOfPorts": 1, // NOTE is this the ANI port? must be
-			"SerialNumber":  ToOctets("BBSM-Circuit-Pack-ani", 20),
-			"Version":       ToOctets("v0.0.1", 20),
+			me.CircuitPack_Type:          xgsPonUnitType,
+			me.CircuitPack_NumberOfPorts: 1, // NOTE is this the ANI port? must be
+			me.CircuitPack_SerialNumber:  ToOctets("BBSM-Circuit-Pack-ani", 20),
+			me.CircuitPack_Version:       ToOctets("v0.0.1", 20),
 		},
 	})
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"VendorId":            ToOctets("ONF", 4),
-			"AdministrativeState": 0,
-			"OperationalState":    0,
-			"BridgedOrIpInd":      0,
+			me.CircuitPack_VendorId:            ToOctets("ONF", 4),
+			me.CircuitPack_AdministrativeState: 0,
+			me.CircuitPack_OperationalState:    0,
+			me.CircuitPack_BridgedOrIpInd:      0,
 		},
 	})
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"EquipmentId":                 ToOctets("BBSM-Circuit-Pack", 20),
-			"CardConfiguration":           0,
-			"TotalTContBufferNumber":      8,
-			"TotalPriorityQueueNumber":    8,
-			"TotalTrafficSchedulerNumber": 0,
+			me.CircuitPack_EquipmentId:                 ToOctets("BBSM-Circuit-Pack", 20),
+			me.CircuitPack_CardConfiguration:           0,
+			me.CircuitPack_TotalTContBufferNumber:      8,
+			me.CircuitPack_TotalPriorityQueueNumber:    8,
+			me.CircuitPack_TotalTrafficSchedulerNumber: 0,
 		},
 	})
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"PowerShedOverride": uint32(0),
+			me.CircuitPack_PowerShedOverride: uint32(0),
 		},
 	})
 
@@ -161,22 +161,22 @@
 		me.AniGClassID,
 		EntityID{tcontSlotId, aniGId},
 		me.AttributeValueMap{
-			"Arc":                         0,
-			"ArcInterval":                 0,
-			"Deprecated":                  0,
-			"GemBlockLength":              48,
-			"LowerOpticalThreshold":       255,
-			"LowerTransmitPowerThreshold": 129,
-			"OnuResponseTime":             0,
-			"OpticalSignalLevel":          57428,
-			"PiggybackDbaReporting":       0,
-			"SignalDegradeThreshold":      9,
-			"SignalFailThreshold":         5,
-			"SrIndication":                1,
-			"TotalTcontNumber":            8,
-			"TransmitOpticalLevel":        3171,
-			"UpperOpticalThreshold":       255,
-			"UpperTransmitPowerThreshold": 129,
+			me.AniG_Arc:                         0,
+			me.AniG_ArcInterval:                 0,
+			me.AniG_Deprecated:                  0,
+			me.AniG_GemBlockLength:              48,
+			me.AniG_LowerOpticalThreshold:       255,
+			me.AniG_LowerTransmitPowerThreshold: 129,
+			me.AniG_OnuResponseTime:             0,
+			me.AniG_OpticalSignalLevel:          57428,
+			me.AniG_PiggybackDbaReporting:       0,
+			me.AniG_SignalDegradeThreshold:      9,
+			me.AniG_SignalFailThreshold:         5,
+			me.AniG_SrIndication:                1,
+			me.AniG_TotalTcontNumber:            8,
+			me.AniG_TransmitOpticalLevel:        3171,
+			me.AniG_UpperOpticalThreshold:       255,
+			me.AniG_UpperTransmitPowerThreshold: 129,
 		},
 	})
 
@@ -186,38 +186,38 @@
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"Type":          ethernetUnitType,
-			"NumberOfPorts": ethUniPortCount,
-			"SerialNumber":  ToOctets("BBSM-Circuit-Pack", 20),
-			"Version":       ToOctets("v0.0.1", 20),
+			me.CircuitPack_Type:          ethernetUnitType,
+			me.CircuitPack_NumberOfPorts: ethUniPortCount,
+			me.CircuitPack_SerialNumber:  ToOctets("BBSM-Circuit-Pack", 20),
+			me.CircuitPack_Version:       ToOctets("v0.0.1", 20),
 		},
 	})
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"VendorId":            ToOctets("ONF", 4),
-			"AdministrativeState": 0,
-			"OperationalState":    0,
-			"BridgedOrIpInd":      0,
+			me.CircuitPack_VendorId:            ToOctets("ONF", 4),
+			me.CircuitPack_AdministrativeState: 0,
+			me.CircuitPack_OperationalState:    0,
+			me.CircuitPack_BridgedOrIpInd:      0,
 		},
 	})
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"EquipmentId":                 ToOctets("BBSM-Circuit-Pack", 20),
-			"CardConfiguration":           0,
-			"TotalTContBufferNumber":      8,
-			"TotalPriorityQueueNumber":    8,
-			"TotalTrafficSchedulerNumber": 16,
+			me.CircuitPack_EquipmentId:                 ToOctets("BBSM-Circuit-Pack", 20),
+			me.CircuitPack_CardConfiguration:           0,
+			me.CircuitPack_TotalTContBufferNumber:      8,
+			me.CircuitPack_TotalPriorityQueueNumber:    8,
+			me.CircuitPack_TotalTrafficSchedulerNumber: 16,
 		},
 	})
 	mibDb.items = append(mibDb.items, MibDbEntry{
 		me.CircuitPackClassID,
 		circuitPackEntityID,
 		me.AttributeValueMap{
-			"PowerShedOverride": uint32(0),
+			me.CircuitPack_PowerShedOverride: uint32(0),
 		},
 	})
 
@@ -228,38 +228,38 @@
 			me.CircuitPackClassID,
 			circuitPackEntityID,
 			me.AttributeValueMap{
-				"Type":          potsUnitType,
-				"NumberOfPorts": potsUniPortCount,
-				"SerialNumber":  ToOctets("BBSM-Circuit-Pack", 20),
-				"Version":       ToOctets("v0.0.1", 20),
+				me.CircuitPack_Type:          potsUnitType,
+				me.CircuitPack_NumberOfPorts: potsUniPortCount,
+				me.CircuitPack_SerialNumber:  ToOctets("BBSM-Circuit-Pack", 20),
+				me.CircuitPack_Version:       ToOctets("v0.0.1", 20),
 			},
 		})
 		mibDb.items = append(mibDb.items, MibDbEntry{
 			me.CircuitPackClassID,
 			circuitPackEntityID,
 			me.AttributeValueMap{
-				"VendorId":            ToOctets("ONF", 4),
-				"AdministrativeState": 0,
-				"OperationalState":    0,
-				"BridgedOrIpInd":      0,
+				me.CircuitPack_VendorId:            ToOctets("ONF", 4),
+				me.CircuitPack_AdministrativeState: 0,
+				me.CircuitPack_OperationalState:    0,
+				me.CircuitPack_BridgedOrIpInd:      0,
 			},
 		})
 		mibDb.items = append(mibDb.items, MibDbEntry{
 			me.CircuitPackClassID,
 			circuitPackEntityID,
 			me.AttributeValueMap{
-				"EquipmentId":                 ToOctets("BBSM-Circuit-Pack", 20),
-				"CardConfiguration":           0,
-				"TotalTContBufferNumber":      8,
-				"TotalPriorityQueueNumber":    8,
-				"TotalTrafficSchedulerNumber": 16,
+				me.CircuitPack_EquipmentId:                 ToOctets("BBSM-Circuit-Pack", 20),
+				me.CircuitPack_CardConfiguration:           0,
+				me.CircuitPack_TotalTContBufferNumber:      8,
+				me.CircuitPack_TotalPriorityQueueNumber:    8,
+				me.CircuitPack_TotalTrafficSchedulerNumber: 16,
 			},
 		})
 		mibDb.items = append(mibDb.items, MibDbEntry{
 			me.CircuitPackClassID,
 			circuitPackEntityID,
 			me.AttributeValueMap{
-				"PowerShedOverride": uint32(0),
+				me.CircuitPack_PowerShedOverride: uint32(0),
 			},
 		})
 	}
@@ -277,21 +277,21 @@
 				me.PhysicalPathTerminationPointEthernetUniClassID,
 				uniEntityId,
 				me.AttributeValueMap{
-					"ExpectedType":                  0,
-					"SensedType":                    ethernetUnitType,
-					"AutoDetectionConfiguration":    0,
-					"EthernetLoopbackConfiguration": 0,
-					"AdministrativeState":           0,
-					"OperationalState":              0,
-					"ConfigurationInd":              3,
-					"MaxFrameSize":                  1518,
-					"DteOrDceInd":                   0,
-					"PauseTime":                     0,
-					"BridgedOrIpInd":                2,
-					"Arc":                           0,
-					"ArcInterval":                   0,
-					"PppoeFilter":                   0,
-					"PowerControl":                  0,
+					me.PhysicalPathTerminationPointEthernetUni_ExpectedType:                  0,
+					me.PhysicalPathTerminationPointEthernetUni_SensedType:                    ethernetUnitType,
+					me.PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration:    0,
+					me.PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration: 0,
+					me.PhysicalPathTerminationPointEthernetUni_AdministrativeState:           0,
+					me.PhysicalPathTerminationPointEthernetUni_OperationalState:              0,
+					me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd:              3,
+					me.PhysicalPathTerminationPointEthernetUni_MaxFrameSize:                  1518,
+					me.PhysicalPathTerminationPointEthernetUni_DteOrDceInd:                   0,
+					me.PhysicalPathTerminationPointEthernetUni_PauseTime:                     0,
+					me.PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd:                2,
+					me.PhysicalPathTerminationPointEthernetUni_Arc:                           0,
+					me.PhysicalPathTerminationPointEthernetUni_ArcInterval:                   0,
+					me.PhysicalPathTerminationPointEthernetUni_PppoeFilter:                   0,
+					me.PhysicalPathTerminationPointEthernetUni_PowerControl:                  0,
 				},
 			})
 		} else {
@@ -300,19 +300,19 @@
 				me.PhysicalPathTerminationPointPotsUniClassID,
 				uniEntityId,
 				me.AttributeValueMap{
-					"AdministrativeState": 0,
-					"Deprecated":          0,
-					"Arc":                 0,
-					"ArcInterval":         0,
-					"Impedance":           0,
-					"TransmissionPath":    0,
-					"RxGain":              0,
-					"TxGain":              0,
-					"OperationalState":    0,
-					"HookState":           0,
-					"PotsHoldoverTime":    0,
-					"NominalFeedVoltage":  0,
-					"LossOfSoftswitch":    0,
+					me.PhysicalPathTerminationPointPotsUni_AdministrativeState: 0,
+					me.PhysicalPathTerminationPointPotsUni_Deprecated:          0,
+					me.PhysicalPathTerminationPointPotsUni_Arc:                 0,
+					me.PhysicalPathTerminationPointPotsUni_ArcInterval:         0,
+					me.PhysicalPathTerminationPointPotsUni_Impedance:           0,
+					me.PhysicalPathTerminationPointPotsUni_TransmissionPath:    0,
+					me.PhysicalPathTerminationPointPotsUni_RxGain:              0,
+					me.PhysicalPathTerminationPointPotsUni_TxGain:              0,
+					me.PhysicalPathTerminationPointPotsUni_OperationalState:    0,
+					me.PhysicalPathTerminationPointPotsUni_HookState:           0,
+					me.PhysicalPathTerminationPointPotsUni_PotsHoldoverTime:    0,
+					me.PhysicalPathTerminationPointPotsUni_NominalFeedVoltage:  0,
+					me.PhysicalPathTerminationPointPotsUni_LossOfSoftswitch:    0,
 				},
 			})
 		}
@@ -321,11 +321,11 @@
 			me.UniGClassID,
 			uniEntityId,
 			me.AttributeValueMap{
-				"AdministrativeState":         0,
-				"Deprecated":                  0,
-				"ManagementCapability":        0,
-				"NonOmciManagementIdentifier": 0,
-				"RelayAgentOptions":           0,
+				me.UniG_AdministrativeState:         0,
+				me.UniG_Deprecated:                  0,
+				me.UniG_ManagementCapability:        0,
+				me.UniG_NonOmciManagementIdentifier: 0,
+				me.UniG_RelayAgentOptions:           0,
 			},
 		})
 
@@ -349,18 +349,18 @@
 				me.PriorityQueueClassID,
 				queueEntityId, //was not reported in the original implementation
 				me.AttributeValueMap{
-					"QueueConfigurationOption":                            0,
-					"MaximumQueueSize":                                    100,
-					"AllocatedQueueSize":                                  100,
-					"DiscardBlockCounterResetInterval":                    0,
-					"ThresholdValueForDiscardedBlocksDueToBufferOverflow": 0,
-					"RelatedPort":                                         relatedPort.ToUint32(),
-					"TrafficSchedulerPointer":                             0, //it was hardcoded to 0x0108 in the current implementation
-					"Weight":                                              1,
-					"BackPressureOperation":                               1,
-					"BackPressureTime":                                    0,
-					"BackPressureOccurQueueThreshold":                     0,
-					"BackPressureClearQueueThreshold":                     0,
+					me.PriorityQueue_QueueConfigurationOption:                            0,
+					me.PriorityQueue_MaximumQueueSize:                                    100,
+					me.PriorityQueue_AllocatedQueueSize:                                  100,
+					me.PriorityQueue_DiscardBlockCounterResetInterval:                    0,
+					me.PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow: 0,
+					me.PriorityQueue_RelatedPort:                                         relatedPort.ToUint32(),
+					me.PriorityQueue_TrafficSchedulerPointer:                             0, //it was hardcoded to 0x0108 in the current implementation
+					me.PriorityQueue_Weight:                                              1,
+					me.PriorityQueue_BackPressureOperation:                               1,
+					me.PriorityQueue_BackPressureTime:                                    0,
+					me.PriorityQueue_BackPressureOccurQueueThreshold:                     0,
+					me.PriorityQueue_BackPressureClearQueueThreshold:                     0,
 				},
 			})
 		}
@@ -374,7 +374,7 @@
 			me.TContClassID,
 			tcontEntityId,
 			me.AttributeValueMap{
-				"AllocId": 65535,
+				me.TCont_AllocId: 65535,
 			},
 		})
 
@@ -383,10 +383,10 @@
 			me.TrafficSchedulerClassID,
 			tsEntityId, //was not reported in the original implementation
 			me.AttributeValueMap{
-				"TContPointer":            tcontEntityId.ToUint16(), // was hardcoded to a non-existing t-cont
-				"TrafficSchedulerPointer": 0,
-				"Policy":                  02,
-				"PriorityWeight":          0,
+				me.TrafficScheduler_TContPointer:            tcontEntityId.ToUint16(), // was hardcoded to a non-existing t-cont
+				me.TrafficScheduler_TrafficSchedulerPointer: 0,
+				me.TrafficScheduler_Policy:                  02,
+				me.TrafficScheduler_PriorityWeight:          0,
 			},
 		})
 
@@ -410,18 +410,18 @@
 				me.PriorityQueueClassID,
 				queueEntityId, //was not reported in the original implementation
 				me.AttributeValueMap{
-					"QueueConfigurationOption":                            0,
-					"MaximumQueueSize":                                    100,
-					"AllocatedQueueSize":                                  100,
-					"DiscardBlockCounterResetInterval":                    0,
-					"ThresholdValueForDiscardedBlocksDueToBufferOverflow": 0,
-					"RelatedPort":                                         relatedPort.ToUint32(),
-					"TrafficSchedulerPointer":                             tsEntityId.ToUint16(), //it was hardcoded to 0x0108 in the current implementation
-					"Weight":                                              1,
-					"BackPressureOperation":                               1,
-					"BackPressureTime":                                    0,
-					"BackPressureOccurQueueThreshold":                     0,
-					"BackPressureClearQueueThreshold":                     0,
+					me.PriorityQueue_QueueConfigurationOption:                            0,
+					me.PriorityQueue_MaximumQueueSize:                                    100,
+					me.PriorityQueue_AllocatedQueueSize:                                  100,
+					me.PriorityQueue_DiscardBlockCounterResetInterval:                    0,
+					me.PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow: 0,
+					me.PriorityQueue_RelatedPort:                                         relatedPort.ToUint32(),
+					me.PriorityQueue_TrafficSchedulerPointer:                             tsEntityId.ToUint16(), //it was hardcoded to 0x0108 in the current implementation
+					me.PriorityQueue_Weight:                                              1,
+					me.PriorityQueue_BackPressureOperation:                               1,
+					me.PriorityQueue_BackPressureTime:                                    0,
+					me.PriorityQueue_BackPressureOccurQueueThreshold:                     0,
+					me.PriorityQueue_BackPressureClearQueueThreshold:                     0,
 				},
 			})
 		}
@@ -432,15 +432,15 @@
 		me.Onu2GClassID,
 		EntityID{0x00, 0x00},
 		me.AttributeValueMap{
-			"ConnectivityCapability":                      127,
-			"CurrentConnectivityMode":                     0,
-			"Deprecated":                                  1,
-			"PriorityQueueScaleFactor":                    1,
-			"QualityOfServiceQosConfigurationFlexibility": 63,
-			"Sysuptime":                                   0,
-			"TotalGemPortIdNumber":                        8,
-			"TotalPriorityQueueNumber":                    64,
-			"TotalTrafficSchedulerNumber":                 8,
+			me.Onu2G_ConnectivityCapability:                      127,
+			me.Onu2G_CurrentConnectivityMode:                     0,
+			me.Onu2G_Deprecated:                                  1,
+			me.Onu2G_PriorityQueueScaleFactor:                    1,
+			me.Onu2G_QualityOfServiceQosConfigurationFlexibility: 63,
+			me.Onu2G_Sysuptime:                                   0,
+			me.Onu2G_TotalGemPortIdNumber:                        8,
+			me.Onu2G_TotalPriorityQueueNumber:                    64,
+			me.Onu2G_TotalTrafficSchedulerNumber:                 8,
 		},
 	})
 
diff --git a/internal/common/omci/set.go b/internal/common/omci/set.go
index 3313767..5713bf5 100644
--- a/internal/common/omci/set.go
+++ b/internal/common/omci/set.go
@@ -18,6 +18,7 @@
 
 import (
 	"errors"
+
 	"github.com/google/gopacket"
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
diff --git a/internal/common/omci/set_test.go b/internal/common/omci/set_test.go
index d896e53..ac0b85d 100644
--- a/internal/common/omci/set_test.go
+++ b/internal/common/omci/set_test.go
@@ -17,10 +17,11 @@
 package omci
 
 import (
+	"testing"
+
 	"github.com/opencord/omci-lib-go/v2"
 	me "github.com/opencord/omci-lib-go/v2/generated"
 	"github.com/stretchr/testify/assert"
-	"testing"
 )
 
 func TestSetRequest(t *testing.T) {
@@ -30,7 +31,7 @@
 	meParams := me.ParamData{
 		EntityID: meId.ToUint16(),
 		Attributes: me.AttributeValueMap{
-			"AdministrativeState": 1,
+			me.UniG_AdministrativeState: 1,
 		},
 	}
 	meInstance, omciError := me.NewPhysicalPathTerminationPointEthernetUni(meParams)
@@ -48,6 +49,6 @@
 	msgObj, _ := ParseSetRequest(omciPkt)
 
 	assert.Equal(t, meId.ToUint16(), msgObj.EntityInstance)
-	assert.Equal(t, uint8(1), msgObj.Attributes["AdministrativeState"])
+	assert.Equal(t, uint8(1), msgObj.Attributes[me.UniG_AdministrativeState])
 
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/VERSION b/vendor/github.com/opencord/omci-lib-go/v2/VERSION
index eca07e4..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.2
+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 de20130..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
 
@@ -377,7 +380,8 @@
 	// either Read and/or Write, never Set-by-Create
 	switch msgType {
 	default:
-		return nil, fmt.Errorf("unsupported Message Type '%v' for table serialization", msgType)
+		return nil, fmt.Errorf("unsupported Message Type '%v/0x%02x' for table decode",
+			MsgType(msgType&MsgTypeMask), msgType)
 
 	case byte(Get) | AK: // Get Response
 		// Size
@@ -434,7 +438,8 @@
 	// either Read and/or Write, never Set-by-Create
 	switch msgType {
 	default:
-		return 0, fmt.Errorf("unsupported Message Type '%v' for table serialization", msgType)
+		return 0, fmt.Errorf("unsupported Message Type '%v/0x%02x' for table serialization",
+			MsgType(msgType&MsgTypeMask), msgType)
 
 	case byte(Get) | AK: // Get Response
 		// Size
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 6d2c2dd..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.
@@ -117,7 +117,8 @@
 			if attrDef.IsTableAttribute() {
 				switch msgType {
 				default:
-					return nil, fmt.Errorf("unsupported Message Type '%v' for table serialization", msgType)
+					return nil, fmt.Errorf("unsupported Message Type '%v/0x%02x' for table decode",
+						MsgType(msgType&MsgTypeMask), msgType)
 
 				case byte(Get) | AK: // Get Response
 					attrMap[name] = value
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 5e845ff..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,
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 98b7010..c1c6ed5 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -76,7 +76,7 @@
 github.com/opencord/cordctl/pkg/format
 # github.com/opencord/device-management-interface v1.2.1
 github.com/opencord/device-management-interface/go/dmi
-# github.com/opencord/omci-lib-go/v2 v2.1.2
+# github.com/opencord/omci-lib-go/v2 v2.2.0
 github.com/opencord/omci-lib-go/v2
 github.com/opencord/omci-lib-go/v2/generated
 # github.com/opencord/voltha-protos/v5 v5.1.2
