diff --git a/VERSION b/VERSION
index 549faf4..ccbccc3 100755
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.0-dev268
+2.2.0
diff --git a/go.mod b/go.mod
index 8abcf13..a6368cd 100644
--- a/go.mod
+++ b/go.mod
@@ -15,7 +15,7 @@
 	github.com/golang/protobuf v1.5.2
 	github.com/google/gopacket v1.1.17
 	github.com/looplab/fsm v0.2.0
-	github.com/opencord/omci-lib-go/v2 v2.1.3
+	github.com/opencord/omci-lib-go/v2 v2.2.0
 	github.com/opencord/voltha-lib-go/v7 v7.1.3
 	github.com/opencord/voltha-protos/v5 v5.1.2
 	github.com/stretchr/testify v1.7.0
diff --git a/go.sum b/go.sum
index 649befb..b76d4a7 100644
--- a/go.sum
+++ b/go.sum
@@ -190,8 +190,8 @@
 github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/onsi/gomega v1.14.0 h1:ep6kpPVwmr/nTbklSx2nrLNSIO62DoYAhnPNIMhK8gI=
 github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
-github.com/opencord/omci-lib-go/v2 v2.1.3 h1:tUCzQXOJFQtPCVy8n71jpUAP4qFPYcu6XiHFuikJbdE=
-github.com/opencord/omci-lib-go/v2 v2.1.3/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-lib-go/v7 v7.1.3 h1:K6bnHg9N/Eg+P+qLqtuZ4GhOOVxZJ14qj9RZYujjEBw=
 github.com/opencord/voltha-lib-go/v7 v7.1.3/go.mod h1:tdAFZ7N/rRg3ScnVM/15KkUZN60kTYPGU+uiRMpjTfY=
 github.com/opencord/voltha-protos/v5 v5.1.2 h1:biyhoK+5JBcpT3HvUBb1xzN5cAKA0xXU/hLbtzuR9xI=
diff --git a/internal/pkg/avcfg/omci_ani_config.go b/internal/pkg/avcfg/omci_ani_config.go
index cc023ba..92fe84f 100755
--- a/internal/pkg/avcfg/omci_ani_config.go
+++ b/internal/pkg/avcfg/omci_ani_config.go
@@ -377,7 +377,7 @@
 				dsQueueFound := false
 				for _, mgmtEntityID := range queueInstKeys {
 					if meAttributes := oFsm.pOnuDB.GetMe(me.PriorityQueueClassID, mgmtEntityID); meAttributes != nil {
-						returnVal := meAttributes["RelatedPort"]
+						returnVal := meAttributes[me.PriorityQueue_RelatedPort]
 						if returnVal != nil {
 							if relatedPort, err := oFsm.pOnuDB.GetUint32Attrib(returnVal); err == nil {
 								if relatedPort == usQrelPortMask {
@@ -398,7 +398,7 @@
 								logger.Warnw(ctx, "Could not convert attribute value", log.Fields{"device-id": oFsm.deviceID})
 							}
 						} else {
-							logger.Warnw(ctx, "'RelatedPort' not found in meAttributes:", log.Fields{"device-id": oFsm.deviceID})
+							logger.Warnw(ctx, "PrioQueue.RelatedPort not found in meAttributes:", log.Fields{"device-id": oFsm.deviceID})
 						}
 					} else {
 						logger.Warnw(ctx, "No attributes available in DB:", log.Fields{"meClassID": me.PriorityQueueClassID,
@@ -525,10 +525,10 @@
 	meParams := me.ParamData{
 		EntityID: oFsm.macBPCD0ID,
 		Attributes: me.AttributeValueMap{
-			"BridgeIdPointer": bridgePtr,
-			"PortNum":         0xFF, //fixed unique ANI side indication
-			"TpType":          3,    //for .1PMapper
-			"TpPointer":       oFsm.mapperSP0ID,
+			me.MacBridgePortConfigurationData_BridgeIdPointer: bridgePtr,
+			me.MacBridgePortConfigurationData_PortNum:         0xFF, //fixed unique ANI side indication
+			me.MacBridgePortConfigurationData_TpType:          3,    //for .1PMapper
+			me.MacBridgePortConfigurationData_TpPointer:       oFsm.mapperSP0ID,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -574,7 +574,7 @@
 	meParams := me.ParamData{
 		EntityID: oFsm.tcont0ID,
 		Attributes: me.AttributeValueMap{
-			"AllocId": oFsm.alloc0ID,
+			me.TCont_AllocId: oFsm.alloc0ID,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -691,7 +691,7 @@
 	// The TP type value 0 also indicates bridging mapping, and the TP pointer should be set to 0xFFFF
 	// setting this parameter is not strictly needed anymore with the ensured .1pMapper create default setting
 	// but except for processing effort does not really harm - left to keep changes low
-	meParams.Attributes["TpPointer"] = 0xffff
+	meParams.Attributes[me.Ieee8021PMapperServiceProfile_TpPointer] = 0xffff
 
 	if !foundIwPtr {
 		logger.Debugw(ctx, "UniPonAniConfigFsm no GemIwPtr found for .1pMapper - abort", log.Fields{
@@ -983,7 +983,7 @@
 	meParams := me.ParamData{
 		EntityID: oFsm.tcont0ID,
 		Attributes: me.AttributeValueMap{
-			"AllocId": cmn.UnusedTcontAllocID,
+			me.TCont_AllocId: cmn.UnusedTcontAllocID,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -1454,13 +1454,13 @@
 		meParams := me.ParamData{
 			EntityID: gemPortAttribs.gemPortID, //unique, same as PortId
 			Attributes: me.AttributeValueMap{
-				"PortId":       gemPortAttribs.gemPortID,
-				"TContPointer": oFsm.tcont0ID,
-				"Direction":    gemPortAttribs.direction,
+				me.GemPortNetworkCtp_PortId:       gemPortAttribs.gemPortID,
+				me.GemPortNetworkCtp_TContPointer: oFsm.tcont0ID,
+				me.GemPortNetworkCtp_Direction:    gemPortAttribs.direction,
 				//ONU-G.TrafficManagementOption dependency ->PrioQueue or TCont
 				//  TODO!! verify dependency and QueueId in case of Multi-GemPort setup!
-				"TrafficManagementPointerForUpstream": gemPortAttribs.upQueueID, //might be different in wrr-only Setup - tcont0ID
-				"PriorityQueuePointerForDownStream":   gemPortAttribs.downQueueID,
+				me.GemPortNetworkCtp_TrafficManagementPointerForUpstream: gemPortAttribs.upQueueID, //might be different in wrr-only Setup - tcont0ID
+				me.GemPortNetworkCtp_PriorityQueuePointerForDownStream:   gemPortAttribs.downQueueID,
 			},
 		}
 		oFsm.mutexPLastTxMeInstance.Lock()
@@ -1520,10 +1520,10 @@
 			meParams := me.ParamData{
 				EntityID: gemPortAttribs.multicastGemID,
 				Attributes: me.AttributeValueMap{
-					"GemPortNetworkCtpConnectivityPointer": gemPortAttribs.multicastGemID,
-					"InterworkingOption":                   0, // Don't Care
-					"ServiceProfilePointer":                0, // Don't Care
-					"GalProfilePointer":                    cmn.GalEthernetEID,
+					me.MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer: gemPortAttribs.multicastGemID,
+					me.MulticastGemInterworkingTerminationPoint_InterworkingOption:                   0, // Don't Care
+					me.MulticastGemInterworkingTerminationPoint_ServiceProfilePointer:                0, // Don't Care
+					me.MulticastGemInterworkingTerminationPoint_GalProfilePointer:                    cmn.GalEthernetEID,
 				},
 			}
 			if oFsm.pUniTechProf.multicastConfiguredForOtherUniTps(ctx, oFsm.uniTpKey) {
@@ -1564,7 +1564,7 @@
 			meIPV4MCTableParams := me.ParamData{
 				EntityID: gemPortAttribs.multicastGemID,
 				Attributes: me.AttributeValueMap{
-					"Ipv4MulticastAddressTable": ipv4MulticastTable,
+					me.MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable: ipv4MulticastTable,
 				},
 			}
 			oFsm.mutexPLastTxMeInstance.Lock()
@@ -1584,11 +1584,11 @@
 			meParams := me.ParamData{
 				EntityID: gemPortAttribs.gemPortID,
 				Attributes: me.AttributeValueMap{
-					"GemPortNetworkCtpConnectivityPointer": gemPortAttribs.gemPortID, //same as EntityID, see above
-					"InterworkingOption":                   5,                        //fixed model:: G.998 .1pMapper
-					"ServiceProfilePointer":                oFsm.mapperSP0ID,
-					"InterworkingTerminationPointPointer":  0, //not used with .1PMapper Mac bridge
-					"GalProfilePointer":                    cmn.GalEthernetEID,
+					me.GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer: gemPortAttribs.gemPortID, //same as EntityID, see above
+					me.GemInterworkingTerminationPoint_InterworkingOption:                   5,                        //fixed model:: G.998 .1pMapper
+					me.GemInterworkingTerminationPoint_ServiceProfilePointer:                oFsm.mapperSP0ID,
+					me.GemInterworkingTerminationPoint_InterworkingTerminationPointPointer:  0, //not used with .1PMapper Mac bridge
+					me.GemInterworkingTerminationPoint_GalProfilePointer:                    cmn.GalEthernetEID,
 				},
 			}
 			oFsm.mutexPLastTxMeInstance.Lock()
@@ -1705,15 +1705,15 @@
 				logger.Debugw(ctx, "uniPonAniConfigFsm Tx Set::PrioQueue to StrictPrio", log.Fields{
 					"EntitytId": strconv.FormatInt(int64(queueIndex), 16),
 					"device-id": oFsm.deviceID})
-				meParams.Attributes["TrafficSchedulerPointer"] = 0 //ensure T-Cont defined StrictPrio scheduling
+				meParams.Attributes[me.PriorityQueue_TrafficSchedulerPointer] = 0 //ensure T-Cont defined StrictPrio scheduling
 			} else {
 				//WRR indication
 				logger.Debugw(ctx, "uniPonAniConfigFsm Tx Set::PrioQueue to WRR", log.Fields{
 					"EntitytId": strconv.FormatInt(int64(queueIndex), 16),
 					"Weight":    kv.Value,
 					"device-id": oFsm.deviceID})
-				meParams.Attributes["TrafficSchedulerPointer"] = loTrafficSchedulerEID //ensure assignment of the relevant trafficScheduler
-				meParams.Attributes["Weight"] = uint8(kv.Value.(uint16))
+				meParams.Attributes[me.PriorityQueue_TrafficSchedulerPointer] = loTrafficSchedulerEID //ensure assignment of the relevant trafficScheduler
+				meParams.Attributes[me.PriorityQueue_Weight] = uint8(kv.Value.(uint16))
 			}
 		} else {
 			// setting Traffic Scheduler (TS) pointer is not supported unless we point to another TS that points to the same TCONT.
@@ -1730,7 +1730,7 @@
 				"EntitytId": strconv.FormatInt(int64(queueIndex), 16),
 				"Weight":    kv.Value,
 				"device-id": oFsm.deviceID})
-			meParams.Attributes["Weight"] = uint8(kv.Value.(uint16))
+			meParams.Attributes[me.PriorityQueue_Weight] = uint8(kv.Value.(uint16))
 		}
 		oFsm.mutexPLastTxMeInstance.Lock()
 		meInstance, err := oFsm.pOmciCC.SendSetPrioQueueVar(log.WithSpanFromContext(context.TODO(), ctx), oFsm.pDeviceHandler.GetOmciTimeout(), true,
diff --git a/internal/pkg/avcfg/omci_vlan_config.go b/internal/pkg/avcfg/omci_vlan_config.go
index e97b0be..dd066b7 100755
--- a/internal/pkg/avcfg/omci_vlan_config.go
+++ b/internal/pkg/avcfg/omci_vlan_config.go
@@ -1215,9 +1215,9 @@
 		meParams := me.ParamData{
 			EntityID: vtfdID,
 			Attributes: me.AttributeValueMap{
-				"VlanFilterList":   vtfdFilterList, //omci lib wants a slice for serialization
-				"ForwardOperation": uint8(0x10),    //VID investigation
-				"NumberOfEntries":  oFsm.numVlanFilterEntries,
+				me.VlanTaggingFilterData_VlanFilterList:   vtfdFilterList, //omci lib wants a slice for serialization
+				me.VlanTaggingFilterData_ForwardOperation: uint8(0x10),    //VID investigation
+				me.VlanTaggingFilterData_NumberOfEntries:  oFsm.numVlanFilterEntries,
 			},
 		}
 		logger.Debugw(ctx, "UniVlanConfigFsm sendcreate VTFD", log.Fields{
@@ -1448,9 +1448,9 @@
 			meParams := me.ParamData{
 				EntityID: vtfdID,
 				Attributes: me.AttributeValueMap{
-					"VlanFilterList":   vtfdFilterList,
-					"ForwardOperation": uint8(0x10), //VID investigation
-					"NumberOfEntries":  oFsm.numVlanFilterEntries,
+					me.VlanTaggingFilterData_VlanFilterList:   vtfdFilterList,
+					me.VlanTaggingFilterData_ForwardOperation: uint8(0x10), //VID investigation
+					me.VlanTaggingFilterData_NumberOfEntries:  oFsm.numVlanFilterEntries,
 				},
 			}
 			oFsm.mutexPLastTxMeInstance.Lock()
@@ -1499,9 +1499,9 @@
 			meParams := me.ParamData{
 				EntityID: vtfdID,
 				Attributes: me.AttributeValueMap{
-					"VlanFilterList":   vtfdFilterList,
-					"ForwardOperation": uint8(0x10), //VID investigation
-					"NumberOfEntries":  oFsm.numVlanFilterEntries,
+					me.VlanTaggingFilterData_VlanFilterList:   vtfdFilterList,
+					me.VlanTaggingFilterData_ForwardOperation: uint8(0x10), //VID investigation
+					me.VlanTaggingFilterData_NumberOfEntries:  oFsm.numVlanFilterEntries,
 				},
 			}
 			oFsm.mutexPLastTxMeInstance.Lock()
@@ -2166,8 +2166,8 @@
 		meParams := me.ParamData{
 			EntityID: evtocdID,
 			Attributes: me.AttributeValueMap{
-				"AssociationType":     uint8(associationType),
-				"AssociatedMePointer": oFsm.pOnuUniPort.EntityID,
+				me.ExtendedVlanTaggingOperationConfigurationData_AssociationType:     uint8(associationType),
+				me.ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer: oFsm.pOnuUniPort.EntityID,
 			},
 		}
 		oFsm.mutexPLastTxMeInstance.Lock()
@@ -2198,9 +2198,9 @@
 		meParams = me.ParamData{
 			EntityID: evtocdID,
 			Attributes: me.AttributeValueMap{
-				"InputTpid":      uint16(cDefaultTpid), //could be possibly retrieved from flow config one day, by now just like py-code base
-				"OutputTpid":     uint16(cDefaultTpid), //could be possibly retrieved from flow config one day, by now just like py-code base
-				"DownstreamMode": uint8(cDefaultDownstreamMode),
+				me.ExtendedVlanTaggingOperationConfigurationData_InputTpid:      uint16(cDefaultTpid), //could be possibly retrieved from flow config one day, by now just like py-code base
+				me.ExtendedVlanTaggingOperationConfigurationData_OutputTpid:     uint16(cDefaultTpid), //could be possibly retrieved from flow config one day, by now just like py-code base
+				me.ExtendedVlanTaggingOperationConfigurationData_DownstreamMode: uint8(cDefaultDownstreamMode),
 			},
 		}
 		oFsm.mutexPLastTxMeInstance.Lock()
@@ -2262,7 +2262,7 @@
 		meParams := me.ParamData{
 			EntityID: evtocdID,
 			Attributes: me.AttributeValueMap{
-				"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+				me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 			},
 		}
 		oFsm.mutexPLastTxMeInstance.Lock()
@@ -2328,7 +2328,7 @@
 			meParams := me.ParamData{
 				EntityID: evtocdID,
 				Attributes: me.AttributeValueMap{
-					"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+					me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 				},
 			}
 			oFsm.mutexPLastTxMeInstance.Lock()
@@ -2390,7 +2390,7 @@
 				meParams := me.ParamData{
 					EntityID: evtocdID,
 					Attributes: me.AttributeValueMap{
-						"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+						me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 					},
 				}
 				oFsm.mutexPLastTxMeInstance.Lock()
@@ -2453,7 +2453,7 @@
 				meParams := me.ParamData{
 					EntityID: evtocdID,
 					Attributes: me.AttributeValueMap{
-						"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+						me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 					},
 				}
 				oFsm.mutexPLastTxMeInstance.Lock()
@@ -2532,7 +2532,7 @@
 		meParams := me.ParamData{
 			EntityID: evtocdID,
 			Attributes: me.AttributeValueMap{
-				"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+				me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 			},
 		}
 		oFsm.mutexPLastTxMeInstance.Lock()
@@ -2587,7 +2587,7 @@
 			meParams := me.ParamData{
 				EntityID: evtocdID,
 				Attributes: me.AttributeValueMap{
-					"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+					me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 				},
 			}
 			oFsm.mutexPLastTxMeInstance.Lock()
@@ -2699,7 +2699,7 @@
 					meParams := me.ParamData{
 						EntityID: evtocdID,
 						Attributes: me.AttributeValueMap{
-							"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+							me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 						},
 					}
 					oFsm.mutexPLastTxMeInstance.Lock()
@@ -2751,7 +2751,7 @@
 					meParams := me.ParamData{
 						EntityID: evtocdID,
 						Attributes: me.AttributeValueMap{
-							"ReceivedFrameVlanTaggingOperationTable": sliceEvtocdRule,
+							me.ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable: sliceEvtocdRule,
 						},
 					}
 					oFsm.mutexPLastTxMeInstance.Lock()
@@ -2864,10 +2864,10 @@
 	meParams := me.ParamData{
 		EntityID: macBpCdEID,
 		Attributes: me.AttributeValueMap{
-			"BridgeIdPointer": cmn.MacBridgeServiceProfileEID + uint16(oFsm.pOnuUniPort.MacBpNo),
-			"PortNum":         0xf0, //fixed unique ANI side indication
-			"TpType":          6,    //MCGemIWTP
-			"TpPointer":       multicastGemPortID,
+			me.MacBridgePortConfigurationData_BridgeIdPointer: cmn.MacBridgeServiceProfileEID + uint16(oFsm.pOnuUniPort.MacBpNo),
+			me.MacBridgePortConfigurationData_PortNum:         0xf0, //fixed unique ANI side indication
+			me.MacBridgePortConfigurationData_TpType:          6,    //MCGemIWTP
+			me.MacBridgePortConfigurationData_TpPointer:       multicastGemPortID,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -2911,9 +2911,9 @@
 	meParams = me.ParamData{
 		EntityID: mcastVtfdID,
 		Attributes: me.AttributeValueMap{
-			"VlanFilterList":   vtfdFilterList,
-			"ForwardOperation": uint8(0x10), //VID investigation
-			"NumberOfEntries":  oFsm.numVlanFilterEntries,
+			me.VlanTaggingFilterData_VlanFilterList:   vtfdFilterList,
+			me.VlanTaggingFilterData_ForwardOperation: uint8(0x10), //VID investigation
+			me.VlanTaggingFilterData_NumberOfEntries:  oFsm.numVlanFilterEntries,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -2951,7 +2951,7 @@
 	meParams := me.ParamData{
 		EntityID: instID,
 		Attributes: me.AttributeValueMap{
-			"MeType": 0,
+			me.MulticastSubscriberConfigInfo_MeType: 0,
 			//Direct reference to the Operation profile
 			//TODO ANI side used on UNI side, not the clearest option.
 			"MulticastOperationsProfilePointer": instID,
@@ -2995,17 +2995,17 @@
 	meParams := me.ParamData{
 		EntityID: instID,
 		Attributes: me.AttributeValueMap{
-			"IgmpVersion":  2,
-			"IgmpFunction": 0,
+			me.MulticastOperationsProfile_IgmpVersion:  2,
+			me.MulticastOperationsProfile_IgmpFunction: 0,
 			//0 means false
-			"ImmediateLeave":          0,
-			"Robustness":              2,
-			"QuerierIpAddress":        0,
-			"QueryInterval":           125,
-			"QueryMaxResponseTime":    100,
-			"LastMemberQueryInterval": 10,
+			me.MulticastOperationsProfile_ImmediateLeave:          0,
+			me.MulticastOperationsProfile_Robustness:              2,
+			me.MulticastOperationsProfile_QuerierIpAddress:        0,
+			me.MulticastOperationsProfile_QueryInterval:           125,
+			me.MulticastOperationsProfile_QueryMaxResponseTime:    100,
+			me.MulticastOperationsProfile_LastMemberQueryInterval: 10,
 			//0 means false
-			"UnauthorizedJoinRequestBehaviour": 0,
+			me.MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour: 0,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -3070,7 +3070,7 @@
 	meParams := me.ParamData{
 		EntityID: instID,
 		Attributes: me.AttributeValueMap{
-			"DynamicAccessControlListTable": dynamicAccessCL,
+			me.MulticastOperationsProfile_DynamicAccessControlListTable: dynamicAccessCL,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -3122,14 +3122,14 @@
 	meParams := me.ParamData{
 		EntityID: trafficDescriptorID,
 		Attributes: me.AttributeValueMap{
-			"Cir":                  cir,
-			"Pir":                  pir,
-			"Cbs":                  cbs,
-			"Pbs":                  pbs,
-			"ColourMode":           1,
-			"IngressColourMarking": 3,
-			"EgressColourMarking":  3,
-			"MeterType":            1,
+			me.TrafficDescriptor_Cir:                  cir,
+			me.TrafficDescriptor_Pir:                  pir,
+			me.TrafficDescriptor_Cbs:                  cbs,
+			me.TrafficDescriptor_Pbs:                  pbs,
+			me.TrafficDescriptor_ColourMode:           1,
+			me.TrafficDescriptor_IngressColourMarking: 3,
+			me.TrafficDescriptor_EgressColourMarking:  3,
+			me.TrafficDescriptor_MeterType:            1,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
@@ -3165,7 +3165,7 @@
 	meParams := me.ParamData{
 		EntityID: gemPortEntityID,
 		Attributes: me.AttributeValueMap{
-			"TrafficDescriptorProfilePointerForUpstream": trafficDescriptorEntityID,
+			me.GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream: trafficDescriptorEntityID,
 		},
 	}
 	oFsm.mutexPLastTxMeInstance.Lock()
diff --git a/internal/pkg/common/omci_cc.go b/internal/pkg/common/omci_cc.go
index 57bc0ce..45c536d 100755
--- a/internal/pkg/common/omci_cc.go
+++ b/internal/pkg/common/omci_cc.go
@@ -891,7 +891,7 @@
 
 	meParams := me.ParamData{
 		EntityID:   GalEthernetEID,
-		Attributes: me.AttributeValueMap{"MaximumGemPayloadSize": maxGemPayloadSize},
+		Attributes: me.AttributeValueMap{me.GalEthernetProfile_MaximumGemPayloadSize: maxGemPayloadSize},
 	}
 	meInstance, omciErr := me.NewGalEthernetProfile(meParams)
 	if omciErr.GetError() == nil {
@@ -941,7 +941,7 @@
 	// read ONU-2G from DB ???? //TODO!!!
 	meParams := me.ParamData{
 		EntityID:   0,
-		Attributes: me.AttributeValueMap{"CurrentConnectivityMode": connectivityModeValue},
+		Attributes: me.AttributeValueMap{me.Onu2G_CurrentConnectivityMode: connectivityModeValue},
 	}
 	meInstance, omciErr := me.NewOnu2G(meParams)
 	if omciErr.GetError() == nil {
@@ -988,11 +988,11 @@
 	meParams := me.ParamData{
 		EntityID: instID,
 		Attributes: me.AttributeValueMap{
-			"Priority":                   0x8000,
-			"MaxAge":                     20 * 256, //20s
-			"HelloTime":                  2 * 256,  //2s
-			"ForwardDelay":               15 * 256, //15s
-			"DynamicFilteringAgeingTime": 0,
+			me.MacBridgeServiceProfile_Priority:                   0x8000,
+			me.MacBridgeServiceProfile_MaxAge:                     20 * 256, //20s
+			me.MacBridgeServiceProfile_HelloTime:                  2 * 256,  //2s
+			me.MacBridgeServiceProfile_ForwardDelay:               15 * 256, //15s
+			me.MacBridgeServiceProfile_DynamicFilteringAgeingTime: 0,
 		},
 	}
 
@@ -1048,10 +1048,10 @@
 	meParams := me.ParamData{
 		EntityID: instID,
 		Attributes: me.AttributeValueMap{
-			"BridgeIdPointer": MacBridgeServiceProfileEID + uint16(aPUniPort.MacBpNo),
-			"PortNum":         aPUniPort.MacBpNo,
-			"TpType":          uint8(aPUniPort.PortType),
-			"TpPointer":       aPUniPort.EntityID,
+			me.MacBridgePortConfigurationData_BridgeIdPointer: MacBridgeServiceProfileEID + uint16(aPUniPort.MacBpNo),
+			me.MacBridgePortConfigurationData_PortNum:         aPUniPort.MacBpNo,
+			me.MacBridgePortConfigurationData_TpType:          uint8(aPUniPort.PortType),
+			me.MacBridgePortConfigurationData_TpPointer:       aPUniPort.EntityID,
 		},
 	}
 	meInstance, omciErr := me.NewMacBridgePortConfigurationData(meParams)
@@ -1109,8 +1109,8 @@
 	meParams := me.ParamData{
 		EntityID: instID,
 		Attributes: me.AttributeValueMap{
-			"AssociationType":     assType,
-			"AssociatedMePointer": aPUniPort.EntityID,
+			me.ExtendedVlanTaggingOperationConfigurationData_AssociationType:     assType,
+			me.ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer: aPUniPort.EntityID,
 			//EnhancedMode not yet supported, used with default options
 		},
 	}
@@ -1422,15 +1422,15 @@
 		EntityID: aInstID,
 		Attributes: me.AttributeValueMap{
 			//workaround for unsuitable omci-lib default values, cmp VOL-3729
-			"TpPointer":                          0xFFFF,
-			"InterworkTpPointerForPBitPriority0": 0xFFFF,
-			"InterworkTpPointerForPBitPriority1": 0xFFFF,
-			"InterworkTpPointerForPBitPriority2": 0xFFFF,
-			"InterworkTpPointerForPBitPriority3": 0xFFFF,
-			"InterworkTpPointerForPBitPriority4": 0xFFFF,
-			"InterworkTpPointerForPBitPriority5": 0xFFFF,
-			"InterworkTpPointerForPBitPriority6": 0xFFFF,
-			"InterworkTpPointerForPBitPriority7": 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_TpPointer:                          0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6: 0xFFFF,
+			me.Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7: 0xFFFF,
 		},
 	}
 	meInstance, omciErr := me.NewIeee8021PMapperServiceProfile(meParams)
@@ -4552,7 +4552,7 @@
 		"SequNo": strconv.FormatInt(int64(tid), 16), "InstId": strconv.FormatInt(int64(entityID), 16), "create": create, "upstream": upstream})
 
 	meParam := me.ParamData{EntityID: entityID,
-		Attributes: me.AttributeValueMap{"ControlBlock": controlBlock},
+		Attributes: me.AttributeValueMap{me.EthernetFrameExtendedPm_ControlBlock: controlBlock},
 	}
 	var meInstance *me.ManagedEntity
 	var omciErr me.OmciErrors
@@ -4633,7 +4633,7 @@
 		"SequNo": strconv.FormatInt(int64(tid), 16), "InstId": strconv.FormatInt(int64(entityID), 16)})
 
 	meParams := me.ParamData{EntityID: entityID,
-		Attributes: me.AttributeValueMap{"ControlBlock": controlBlock},
+		Attributes: me.AttributeValueMap{me.EthernetFrameExtendedPm_ControlBlock: controlBlock},
 	}
 	var meInstance *me.ManagedEntity
 	var omciErr me.OmciErrors
diff --git a/internal/pkg/mib/mib_sync.go b/internal/pkg/mib/mib_sync.go
index 5222b8b..9b8196b 100755
--- a/internal/pkg/mib/mib_sync.go
+++ b/internal/pkg/mib/mib_sync.go
@@ -97,7 +97,7 @@
 
 func (oo *OnuDeviceEntry) enterGettingVendorAndSerialState(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "MibSync FSM", log.Fields{"Start getting VendorId and SerialNumber in State": e.FSM.Current(), "device-id": oo.deviceID})
-	requestedAttributes := me.AttributeValueMap{"VendorId": "", "SerialNumber": 0}
+	requestedAttributes := me.AttributeValueMap{me.OnuG_VendorId: "", me.OnuG_SerialNumber: 0}
 	oo.mutexLastTxParamStruct.Lock()
 	meInstance, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx), me.OnuGClassID, cmn.OnugMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 	//accept also nil as (error) return value for writing to LastTx
@@ -120,7 +120,7 @@
 
 func (oo *OnuDeviceEntry) enterGettingEquipmentIDState(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "MibSync FSM", log.Fields{"Start getting EquipmentId in State": e.FSM.Current(), "device-id": oo.deviceID})
-	requestedAttributes := me.AttributeValueMap{"EquipmentId": ""}
+	requestedAttributes := me.AttributeValueMap{me.Onu2G_EquipmentId: ""}
 	oo.mutexLastTxParamStruct.Lock()
 	meInstance, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx), me.Onu2GClassID, cmn.Onu2gMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 	//accept also nil as (error) return value for writing to LastTx
@@ -143,7 +143,7 @@
 
 func (oo *OnuDeviceEntry) enterGettingFirstSwVersionState(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "MibSync FSM", log.Fields{"Start getting IsActive and Version of first SW-image in State": e.FSM.Current(), "device-id": oo.deviceID})
-	requestedAttributes := me.AttributeValueMap{"IsCommitted": 0, "IsActive": 0, "Version": ""}
+	requestedAttributes := me.AttributeValueMap{me.SoftwareImage_IsCommitted: 0, me.SoftwareImage_IsActive: 0, me.SoftwareImage_Version: ""}
 	oo.mutexLastTxParamStruct.Lock()
 	meInstance, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx), me.SoftwareImageClassID, cmn.FirstSwImageMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 	//accept also nil as (error) return value for writing to LastTx
@@ -166,7 +166,7 @@
 
 func (oo *OnuDeviceEntry) enterGettingSecondSwVersionState(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "MibSync FSM", log.Fields{"Start getting IsActive and Version of second SW-image in State": e.FSM.Current(), "device-id": oo.deviceID})
-	requestedAttributes := me.AttributeValueMap{"IsCommitted": 0, "IsActive": 0, "Version": ""}
+	requestedAttributes := me.AttributeValueMap{me.SoftwareImage_IsCommitted: 0, me.SoftwareImage_IsActive: 0, me.SoftwareImage_Version: ""}
 	oo.mutexLastTxParamStruct.Lock()
 	meInstance, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx), me.SoftwareImageClassID, cmn.SecondSwImageMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 	//accept also nil as (error) return value for writing to LastTx
@@ -189,7 +189,7 @@
 
 func (oo *OnuDeviceEntry) enterGettingMacAddressState(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "MibSync FSM", log.Fields{"Start getting MacAddress in State": e.FSM.Current(), "device-id": oo.deviceID})
-	requestedAttributes := me.AttributeValueMap{"MacAddress": ""}
+	requestedAttributes := me.AttributeValueMap{me.IpHostConfigData_MacAddress: ""}
 	oo.mutexLastTxParamStruct.Lock()
 	meInstance, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx), me.IpHostConfigDataClassID, cmn.IPHostConfigDataMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 	//accept also nil as (error) return value for writing to LastTx
@@ -550,7 +550,7 @@
 		oo.mutexLastTxParamStruct.Lock()
 		if oo.lastTxParamStruct.lastTxMessageType == omci.GetRequestType && oo.lastTxParamStruct.repeatCount == 0 {
 			logger.Debugw(ctx, "MibSync FSM - repeat MdsGetRequest (updated SequenceNumber)", log.Fields{"device-id": oo.deviceID})
-			requestedAttributes := me.AttributeValueMap{"MibDataSync": ""}
+			requestedAttributes := me.AttributeValueMap{me.OnuData_MibDataSync: ""}
 			_, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx),
 				me.OnuDataClassID, cmn.OnuDataMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 			if err != nil {
@@ -721,8 +721,8 @@
 			case "OnuG":
 				oo.mutexLastTxParamStruct.RUnlock()
 				oo.MutexPersOnuConfig.Lock()
-				oo.SOnuPersistentData.PersVendorID = cmn.TrimStringFromMeOctet(meAttributes["VendorId"])
-				snBytes, _ := me.InterfaceToOctets(meAttributes["SerialNumber"])
+				oo.SOnuPersistentData.PersVendorID = cmn.TrimStringFromMeOctet(meAttributes[me.OnuG_VendorId])
+				snBytes, _ := me.InterfaceToOctets(meAttributes[me.OnuG_SerialNumber])
 				if cmn.OnugSerialNumberLen == len(snBytes) {
 					snVendorPart := fmt.Sprintf("%s", snBytes[:4])
 					snNumberPart := hex.EncodeToString(snBytes[4:])
@@ -740,7 +740,7 @@
 			case "Onu2G":
 				oo.mutexLastTxParamStruct.RUnlock()
 				oo.MutexPersOnuConfig.Lock()
-				oo.SOnuPersistentData.PersEquipmentID = cmn.TrimStringFromMeOctet(meAttributes["EquipmentId"])
+				oo.SOnuPersistentData.PersEquipmentID = cmn.TrimStringFromMeOctet(meAttributes[me.Onu2G_EquipmentId])
 				logger.Debugw(ctx, "MibSync FSM - GetResponse Data for Onu2-G - EquipmentId", log.Fields{"device-id": oo.deviceID,
 					"onuDeviceEntry.equipmentID": oo.SOnuPersistentData.PersEquipmentID})
 				oo.MutexPersOnuConfig.Unlock()
@@ -760,7 +760,7 @@
 				return nil
 			case "IpHostConfigData":
 				oo.mutexLastTxParamStruct.RUnlock()
-				macBytes, _ := me.InterfaceToOctets(meAttributes["MacAddress"])
+				macBytes, _ := me.InterfaceToOctets(meAttributes[me.IpHostConfigData_MacAddress])
 				oo.MutexPersOnuConfig.Lock()
 				if cmn.OmciMacAddressLen == len(macBytes) {
 					oo.SOnuPersistentData.PersMacAddress = hex.EncodeToString(macBytes[:])
@@ -776,7 +776,7 @@
 				return nil
 			case "OnuData":
 				oo.mutexLastTxParamStruct.RUnlock()
-				oo.checkMdsValue(ctx, meAttributes["MibDataSync"].(uint8))
+				oo.checkMdsValue(ctx, meAttributes[me.OnuData_MibDataSync].(uint8))
 				return nil
 			default:
 				oo.mutexLastTxParamStruct.RUnlock()
@@ -801,9 +801,9 @@
 
 //HandleSwImageIndications updates onuSwImageIndications with the ONU data just received
 func (oo *OnuDeviceEntry) HandleSwImageIndications(ctx context.Context, entityID uint16, meAttributes me.AttributeValueMap) {
-	imageIsCommitted := meAttributes["IsCommitted"].(uint8)
-	imageIsActive := meAttributes["IsActive"].(uint8)
-	imageVersion := cmn.TrimStringFromMeOctet(meAttributes["Version"])
+	imageIsCommitted := meAttributes[me.SoftwareImage_IsCommitted].(uint8)
+	imageIsActive := meAttributes[me.SoftwareImage_IsActive].(uint8)
+	imageVersion := cmn.TrimStringFromMeOctet(meAttributes[me.SoftwareImage_Version])
 	oo.MutexPersOnuConfig.RLock()
 	logger.Infow(ctx, "MibSync FSM - GetResponse Data for SoftwareImage",
 		log.Fields{"device-id": oo.deviceID, "entityID": entityID,
@@ -1042,7 +1042,7 @@
 
 func (oo *OnuDeviceEntry) requestMdsValue(ctx context.Context) {
 	logger.Debugw(ctx, "Request MDS value", log.Fields{"device-id": oo.deviceID})
-	requestedAttributes := me.AttributeValueMap{"MibDataSync": ""}
+	requestedAttributes := me.AttributeValueMap{me.OnuData_MibDataSync: ""}
 	meInstance, err := oo.PDevOmciCC.SendGetMe(log.WithSpanFromContext(context.TODO(), ctx),
 		me.OnuDataClassID, cmn.OnuDataMeID, requestedAttributes, oo.baseDeviceHandler.GetOmciTimeout(), true, oo.PMibUploadFsm.CommChan)
 	//accept also nil as (error) return value for writing to LastTx
diff --git a/internal/pkg/pmmgr/onu_metrics_manager.go b/internal/pkg/pmmgr/onu_metrics_manager.go
index 2ce6174..b67f455 100755
--- a/internal/pkg/pmmgr/onu_metrics_manager.go
+++ b/internal/pkg/pmmgr/onu_metrics_manager.go
@@ -74,20 +74,6 @@
 	ExtendedPmCreateAttempts            = 3
 	UnsupportedCounterValue32bit uint64 = 4294967294
 	UnsupportedCounterValue64bit uint64 = 18446744073709551614
-	dropEvents                          = "DropEvents"
-	octets                              = "Octets"
-	frames                              = "Frames"
-	broadcastFrames                     = "BroadcastFrames"
-	multicastFrames                     = "MulticastFrames"
-	crcErroredFrames                    = "CrcErroredFrames"
-	undersizeFrames                     = "UndersizeFrames"
-	oversizeFrames                      = "OversizeFrames"
-	frames64Octets                      = "Frames64Octets"
-	frames65To127Octets                 = "Frames65To127Octets"
-	frames128To255Octets                = "Frames128To255Octets"
-	frames256To511Octets                = "Frames256To511Octets"
-	frames512To1023Octets               = "Frames512To1023Octets"
-	frames1024To1518Octets              = "Frames1024To1518Octets"
 )
 
 // OpticalPowerGroupMetrics are supported optical pm names
@@ -760,7 +746,7 @@
 		var meAttributes me.AttributeValueMap
 		opticalMetrics := make(map[string]float32)
 		// Get the ANI-G instance optical power attributes
-		requestedAttributes := me.AttributeValueMap{"OpticalSignalLevel": 0, "TransmitOpticalLevel": 0}
+		requestedAttributes := me.AttributeValueMap{me.AniG_OpticalSignalLevel: 0, me.AniG_TransmitOpticalLevel: 0}
 		meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, me.AniGClassID, anigInstID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 		if err != nil {
 			logger.Errorw(ctx, "GetMe failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
@@ -781,15 +767,15 @@
 			for k := range OpticalPowerGroupMetrics {
 				switch k {
 				case "ani_g_instance_id":
-					if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+					if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 						opticalMetrics[k] = float32(val.(uint16))
 					}
 				case "transmit_power_dBm":
-					if val, ok := meAttributes["TransmitOpticalLevel"]; ok && val != nil {
+					if val, ok := meAttributes[me.AniG_TransmitOpticalLevel]; ok && val != nil {
 						opticalMetrics[k] = float32(math.Round((float64(cmn.TwosComplementToSignedInt16(val.(uint16)))/500.0)*10) / 10) // convert to dBm rounded of to single decimal place
 					}
 				case "receive_power_dBm":
-					if val, ok := meAttributes["OpticalSignalLevel"]; ok && val != nil {
+					if val, ok := meAttributes[me.AniG_OpticalSignalLevel]; ok && val != nil {
 						opticalMetrics[k] = float32(math.Round((float64(cmn.TwosComplementToSignedInt16(val.(uint16)))/500.0)*10) / 10) // convert to dBm rounded of to single decimal place
 					}
 				default:
@@ -843,7 +829,7 @@
 		unigMetrics := make(map[string]float32)
 		var meAttributes me.AttributeValueMap
 		// Get the UNI-G instance optical power attributes
-		requestedAttributes := me.AttributeValueMap{"AdministrativeState": 0}
+		requestedAttributes := me.AttributeValueMap{me.UniG_AdministrativeState: 0}
 		meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, me.UniGClassID, unigInstID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 		if err != nil {
 			logger.Errorw(ctx, "UNI-G failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
@@ -864,14 +850,14 @@
 			for k := range UniStatusGroupMetrics {
 				switch k {
 				case "uni_admin_state":
-					if val, ok := meAttributes["AdministrativeState"]; ok && val != nil {
+					if val, ok := meAttributes[me.UniG_AdministrativeState]; ok && val != nil {
 						unigMetrics[k] = float32(val.(byte))
 					}
 				default:
 					// do nothing
 				}
 			}
-			if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+			if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 				entityID := val.(uint16)
 				unigMetrics["entity_id"] = float32(entityID)
 				// TODO: Rlock needed for reading uniEntityMap? May not be needed given uniEntityMap is populated setup at initial ONU bring up
@@ -899,8 +885,12 @@
 		var meAttributes me.AttributeValueMap
 		pptpMetrics := make(map[string]float32)
 
-		requestedAttributes := me.AttributeValueMap{"ConfigurationInd": 0, "OperationalState": 0, "AdministrativeState": 0}
-		meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, me.PhysicalPathTerminationPointEthernetUniClassID, pptpInstID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
+		requestedAttributes := me.AttributeValueMap{
+			me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd:    0,
+			me.PhysicalPathTerminationPointEthernetUni_OperationalState:    0,
+			me.PhysicalPathTerminationPointEthernetUni_AdministrativeState: 0}
+		meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, me.PhysicalPathTerminationPointEthernetUniClassID,
+			pptpInstID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 		if err != nil {
 			logger.Errorw(ctx, "GetMe failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
 			_ = mm.PAdaptFsm.PFsm.Event(L2PmEventFailure)
@@ -921,15 +911,15 @@
 			for k := range UniStatusGroupMetrics {
 				switch k {
 				case "configuration_ind":
-					if val, ok := meAttributes["ConfigurationInd"]; ok && val != nil {
+					if val, ok := meAttributes[me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd]; ok && val != nil {
 						pptpMetrics[k] = float32(val.(byte))
 					}
 				case "oper_status":
-					if val, ok := meAttributes["OperationalState"]; ok && val != nil {
+					if val, ok := meAttributes[me.PhysicalPathTerminationPointEthernetUni_OperationalState]; ok && val != nil {
 						pptpMetrics[k] = float32(val.(byte))
 					}
 				case "uni_admin_state":
-					if val, ok := meAttributes["AdministrativeState"]; ok && val != nil {
+					if val, ok := meAttributes[me.PhysicalPathTerminationPointEthernetUni_AdministrativeState]; ok && val != nil {
 						pptpMetrics[k] = float32(val.(byte))
 					}
 				default:
@@ -937,7 +927,7 @@
 				}
 			}
 		}
-		if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+		if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 			entityID := val.(uint16)
 			pptpMetrics["entity_id"] = float32(entityID)
 			// TODO: Rlock needed for reading uniEntityMap? May not be needed given uniEntityMap is populated setup at initial ONU bring up
@@ -964,7 +954,7 @@
 		var meAttributes me.AttributeValueMap
 		veipMetrics := make(map[string]float32)
 
-		requestedAttributes := me.AttributeValueMap{"OperationalState": 0, "AdministrativeState": 0}
+		requestedAttributes := me.AttributeValueMap{me.VirtualEthernetInterfacePoint_OperationalState: 0, me.VirtualEthernetInterfacePoint_AdministrativeState: 0}
 		meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, me.VirtualEthernetInterfacePointClassID, veipInstID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 		if err != nil {
 			logger.Errorw(ctx, "GetMe failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
@@ -986,11 +976,11 @@
 			for k := range UniStatusGroupMetrics {
 				switch k {
 				case "oper_status":
-					if val, ok := meAttributes["OperationalState"]; ok && val != nil {
+					if val, ok := meAttributes[me.VirtualEthernetInterfacePoint_OperationalState]; ok && val != nil {
 						veipMetrics[k] = float32(val.(byte))
 					}
 				case "uni_admin_state":
-					if val, ok := meAttributes["AdministrativeState"]; ok && val != nil {
+					if val, ok := meAttributes[me.VirtualEthernetInterfacePoint_AdministrativeState]; ok && val != nil {
 						veipMetrics[k] = float32(val.(byte))
 					}
 				default:
@@ -999,7 +989,7 @@
 			}
 		}
 
-		if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+		if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 			entityID := val.(uint16)
 			veipMetrics["entity_id"] = float32(entityID)
 			// TODO: Rlock needed for reading uniEntityMap? May not be needed given uniEntityMap is populated setup at initial ONU bring up
@@ -1999,7 +1989,7 @@
 		upstream = true
 	}
 	// Insert "IntervalEndTime" as part of the requested attributes as we need this to compare the get responses when get request is multipart
-	requestedAttributes["IntervalEndTime"] = 0
+	requestedAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime] = 0
 	meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, classID, entityID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 	if err != nil {
 		logger.Errorw(ctx, "GetME failed, failure PM FSM!", log.Fields{"device-id": mm.deviceID})
@@ -2034,63 +2024,63 @@
 		if _, ok := ethPMHistData[k]; !ok {
 			switch k {
 			case "entity_id":
-				if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+				if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint16))
 				}
 			case "drop_events":
-				if val, ok := meAttributes["DropEvents"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "octets":
-				if val, ok := meAttributes["Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "packets":
-				if val, ok := meAttributes["Packets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "broadcast_packets":
-				if val, ok := meAttributes["BroadcastPackets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "multicast_packets":
-				if val, ok := meAttributes["MulticastPackets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "crc_errored_packets":
-				if val, ok := meAttributes["CrcErroredPackets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "undersize_packets":
-				if val, ok := meAttributes["UndersizePackets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "oversize_packets":
-				if val, ok := meAttributes["OversizePackets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "64_octets":
-				if val, ok := meAttributes["Packets64Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "65_to_127_octets":
-				if val, ok := meAttributes["Packets65To127Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "128_to_255_octets":
-				if val, ok := meAttributes["Packets128To255Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "256_to_511_octets":
-				if val, ok := meAttributes["Packets256To511Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "512_to_1023_octets":
-				if val, ok := meAttributes["Packets512To1023Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			case "1024_to_1518_octets":
-				if val, ok := meAttributes["Packets1024To1518Octets"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets]; ok && val != nil {
 					ethPMHistData[k] = float32(val.(uint32))
 				}
 			default:
@@ -2136,63 +2126,63 @@
 		if _, ok := ethPMUniHistData[k]; !ok {
 			switch k {
 			case "entity_id":
-				if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+				if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint16))
 				}
 			case "fcs_errors":
-				if val, ok := meAttributes["FcsErrors"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_FcsErrors]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "excessive_collision_counter":
-				if val, ok := meAttributes["ExcessiveCollisionCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "late_collision_counter":
-				if val, ok := meAttributes["LateCollisionCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_LateCollisionCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "frames_too_long":
-				if val, ok := meAttributes["FramesTooLong"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_FramesTooLong]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "buffer_overflows_on_rx":
-				if val, ok := meAttributes["BufferOverflowsOnReceive"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "buffer_overflows_on_tx":
-				if val, ok := meAttributes["BufferOverflowsOnTransmit"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "single_collision_frame_counter":
-				if val, ok := meAttributes["SingleCollisionFrameCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "multiple_collisions_frame_counter":
-				if val, ok := meAttributes["MultipleCollisionsFrameCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "sqe_counter":
-				if val, ok := meAttributes["SqeCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_SqeCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "deferred_tx_counter":
-				if val, ok := meAttributes["DeferredTransmissionCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "internal_mac_tx_error_counter":
-				if val, ok := meAttributes["InternalMacTransmitErrorCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "carrier_sense_error_counter":
-				if val, ok := meAttributes["CarrierSenseErrorCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "alignment_error_counter":
-				if val, ok := meAttributes["AlignmentErrorCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			case "internal_mac_rx_error_counter":
-				if val, ok := meAttributes["InternalMacReceiveErrorCounter"]; ok && val != nil {
+				if val, ok := meAttributes[me.EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter]; ok && val != nil {
 					ethPMUniHistData[k] = float32(val.(uint32))
 				}
 			default:
@@ -2207,8 +2197,8 @@
 func (mm *OnuMetricsManager) populateFecHistoryMetrics(ctx context.Context, classID me.ClassID, entityID uint16,
 	meAttributes me.AttributeValueMap, requestedAttributes me.AttributeValueMap, fecHistData map[string]float32, intervalEndTime *int) error {
 	// Insert "IntervalEndTime" as part of the requested attributes as we need this to compare the get responses when get request is multipart
-	if _, ok := requestedAttributes["IntervalEndTime"]; !ok {
-		requestedAttributes["IntervalEndTime"] = 0
+	if _, ok := requestedAttributes[me.FecPerformanceMonitoringHistoryData_IntervalEndTime]; !ok {
+		requestedAttributes[me.FecPerformanceMonitoringHistoryData_IntervalEndTime] = 0
 	}
 	meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, classID, entityID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 	if err != nil {
@@ -2238,27 +2228,27 @@
 		if _, ok := fecHistData[k]; !ok {
 			switch k {
 			case "entity_id":
-				if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+				if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 					fecHistData[k] = float32(val.(uint16))
 				}
 			case "corrected_bytes":
-				if val, ok := meAttributes["CorrectedBytes"]; ok && val != nil {
+				if val, ok := meAttributes[me.FecPerformanceMonitoringHistoryData_CorrectedBytes]; ok && val != nil {
 					fecHistData[k] = float32(val.(uint32))
 				}
 			case "corrected_code_words":
-				if val, ok := meAttributes["CorrectedCodeWords"]; ok && val != nil {
+				if val, ok := meAttributes[me.FecPerformanceMonitoringHistoryData_CorrectedCodeWords]; ok && val != nil {
 					fecHistData[k] = float32(val.(uint32))
 				}
 			case "uncorrectable_code_words":
-				if val, ok := meAttributes["UncorrectableCodeWords"]; ok && val != nil {
+				if val, ok := meAttributes[me.FecPerformanceMonitoringHistoryData_UncorrectableCodeWords]; ok && val != nil {
 					fecHistData[k] = float32(val.(uint32))
 				}
 			case "total_code_words":
-				if val, ok := meAttributes["TotalCodeWords"]; ok && val != nil {
+				if val, ok := meAttributes[me.FecPerformanceMonitoringHistoryData_TotalCodeWords]; ok && val != nil {
 					fecHistData[k] = float32(val.(uint32))
 				}
 			case "fec_seconds":
-				if val, ok := meAttributes["FecSeconds"]; ok && val != nil {
+				if val, ok := meAttributes[me.FecPerformanceMonitoringHistoryData_FecSeconds]; ok && val != nil {
 					fecHistData[k] = float32(val.(uint16))
 				}
 			default:
@@ -2273,8 +2263,8 @@
 func (mm *OnuMetricsManager) populateGemPortMetrics(ctx context.Context, classID me.ClassID, entityID uint16,
 	meAttributes me.AttributeValueMap, requestedAttributes me.AttributeValueMap, gemPortHistData map[string]float32, intervalEndTime *int) error {
 	// Insert "IntervalEndTime" is part of the requested attributes as we need this to compare the get responses when get request is multipart
-	if _, ok := requestedAttributes["IntervalEndTime"]; !ok {
-		requestedAttributes["IntervalEndTime"] = 0
+	if _, ok := requestedAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime]; !ok {
+		requestedAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime] = 0
 	}
 	meInstance, err := mm.pOnuDeviceEntry.GetDevOmciCC().SendGetMe(ctx, classID, entityID, requestedAttributes, mm.pDeviceHandler.GetOmciTimeout(), true, mm.PAdaptFsm.CommChan)
 	if err != nil {
@@ -2304,27 +2294,27 @@
 		if _, ok := gemPortHistData[k]; !ok {
 			switch k {
 			case "entity_id":
-				if val, ok := meAttributes["ManagedEntityId"]; ok && val != nil {
+				if val, ok := meAttributes[me.ManagedEntityID]; ok && val != nil {
 					gemPortHistData[k] = float32(val.(uint16))
 				}
 			case "transmitted_gem_frames":
-				if val, ok := meAttributes["TransmittedGemFrames"]; ok && val != nil {
+				if val, ok := meAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames]; ok && val != nil {
 					gemPortHistData[k] = float32(val.(uint32))
 				}
 			case "received_gem_frames":
-				if val, ok := meAttributes["ReceivedGemFrames"]; ok && val != nil {
+				if val, ok := meAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames]; ok && val != nil {
 					gemPortHistData[k] = float32(val.(uint32))
 				}
 			case "received_payload_bytes":
-				if val, ok := meAttributes["ReceivedPayloadBytes"]; ok && val != nil {
+				if val, ok := meAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes]; ok && val != nil {
 					gemPortHistData[k] = float32(val.(uint64))
 				}
 			case "transmitted_payload_bytes":
-				if val, ok := meAttributes["TransmittedPayloadBytes"]; ok && val != nil {
+				if val, ok := meAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes]; ok && val != nil {
 					gemPortHistData[k] = float32(val.(uint64))
 				}
 			case "encryption_key_errors":
-				if val, ok := meAttributes["EncryptionKeyErrors"]; ok && val != nil {
+				if val, ok := meAttributes[me.GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors]; ok && val != nil {
 					gemPortHistData[k] = float32(val.(uint32))
 				}
 			default:
@@ -3476,42 +3466,42 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "drop_events":
-					if val, ok := meAttributes[dropEvents]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_DropEvents]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x2000
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "octets":
-					if val, ok := meAttributes[octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x1000
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "frames":
-					if val, ok := meAttributes[frames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x800
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "broadcast_frames":
-					if val, ok := meAttributes[broadcastFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_BroadcastFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x400
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "multicast_frames":
-					if val, ok := meAttributes[multicastFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_MulticastFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x200
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "crc_errored_frames":
-					if val, ok := meAttributes[crcErroredFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_CrcErroredFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x100
 					} else if !ok {
@@ -3527,42 +3517,42 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "undersize_frames":
-					if val, ok := meAttributes[undersizeFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_UndersizeFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x80
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "oversize_frames":
-					if val, ok := meAttributes[oversizeFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_OversizeFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x40
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "64_octets":
-					if val, ok := meAttributes[frames64Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames64Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x20
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "65_to_127_octets":
-					if val, ok := meAttributes[frames65To127Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames65To127Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x10
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "128_to_255_octets":
-					if val, ok := meAttributes[frames128To255Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames128To255Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x8
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "256_to_511_octets":
-					if val, ok := meAttributes[frames256To511Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames256To511Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x4
 					} else if !ok {
@@ -3578,14 +3568,14 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "512_to_1023_octets":
-					if val, ok := meAttributes[frames512To1023Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames512To1023Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x2
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue32bit
 					}
 				case "1024_to_1518_octets":
-					if val, ok := meAttributes[frames1024To1518Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm_Frames1024To1518Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = uint64(val.(uint32))
 						receivedMask |= 0x1
 					} else if !ok {
@@ -3611,21 +3601,21 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "drop_events":
-					if val, ok := meAttributes[dropEvents]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_DropEvents]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x2000
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "octets":
-					if val, ok := meAttributes[octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x1000
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "frames":
-					if val, ok := meAttributes[frames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x800
 					} else if !ok {
@@ -3639,21 +3629,21 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "broadcast_frames":
-					if val, ok := meAttributes[broadcastFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_BroadcastFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x400
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "multicast_frames":
-					if val, ok := meAttributes[multicastFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_MulticastFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x200
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "crc_errored_frames":
-					if val, ok := meAttributes[crcErroredFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_CrcErroredFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x100
 					} else if !ok {
@@ -3667,21 +3657,21 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "undersize_frames":
-					if val, ok := meAttributes[undersizeFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_UndersizeFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x80
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "oversize_frames":
-					if val, ok := meAttributes[oversizeFrames]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_OversizeFrames]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x40
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "64_octets":
-					if val, ok := meAttributes[frames64Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames64Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x20
 					} else if !ok {
@@ -3695,21 +3685,21 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "65_to_127_octets":
-					if val, ok := meAttributes[frames65To127Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames65To127Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x10
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "128_to_255_octets":
-					if val, ok := meAttributes[frames128To255Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames128To255Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x8
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "256_to_511_octets":
-					if val, ok := meAttributes[frames256To511Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames256To511Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x4
 					} else if !ok {
@@ -3725,14 +3715,14 @@
 			if _, ok := ethFrameExtPMData[k]; !ok {
 				switch k {
 				case "512_to_1023_octets":
-					if val, ok := meAttributes[frames512To1023Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames512To1023Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x2
 					} else if !ok {
 						ethFrameExtPMData[k] = UnsupportedCounterValue64bit
 					}
 				case "1024_to_1518_octets":
-					if val, ok := meAttributes[frames1024To1518Octets]; ok && val != nil {
+					if val, ok := meAttributes[me.EthernetFrameExtendedPm64Bit_Frames1024To1518Octets]; ok && val != nil {
 						ethFrameExtPMData[k] = val.(uint64)
 						receivedMask |= 0x1
 					} else if !ok {
diff --git a/internal/pkg/swupg/omci_onu_upgrade.go b/internal/pkg/swupg/omci_onu_upgrade.go
index f9b393e..7809ef8 100755
--- a/internal/pkg/swupg/omci_onu_upgrade.go
+++ b/internal/pkg/swupg/omci_onu_upgrade.go
@@ -960,7 +960,7 @@
 func (oFsm *OnuUpgradeFsm) enterCheckImageName(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "OnuUpgradeFsm checking downloaded image name", log.Fields{
 		"device-id": oFsm.deviceID, "me-id": oFsm.InactiveImageMeID})
-	requestedAttributes := me.AttributeValueMap{"IsCommitted": 0, "IsActive": 0, "Version": ""}
+	requestedAttributes := me.AttributeValueMap{me.SoftwareImage_IsCommitted: 0, me.SoftwareImage_IsActive: 0, me.SoftwareImage_Version: ""}
 	meInstance, err := oFsm.pOmciCC.SendGetMe(log.WithSpanFromContext(context.Background(), ctx),
 		me.SoftwareImageClassID, oFsm.InactiveImageMeID, requestedAttributes, oFsm.pDeviceHandler.GetOmciTimeout(),
 		false, oFsm.PAdaptFsm.CommChan)
@@ -1038,7 +1038,7 @@
 func (oFsm *OnuUpgradeFsm) enterCheckCommitted(ctx context.Context, e *fsm.Event) {
 	logger.Debugw(ctx, "OnuUpgradeFsm checking committed SW", log.Fields{
 		"device-id": oFsm.deviceID, "me-id": oFsm.InactiveImageMeID})
-	requestedAttributes := me.AttributeValueMap{"IsCommitted": 0, "IsActive": 0, "Version": ""}
+	requestedAttributes := me.AttributeValueMap{me.SoftwareImage_IsCommitted: 0, me.SoftwareImage_IsActive: 0, me.SoftwareImage_Version: ""}
 	meInstance, err := oFsm.pOmciCC.SendGetMe(log.WithSpanFromContext(context.Background(), ctx),
 		me.SoftwareImageClassID, oFsm.InactiveImageMeID, requestedAttributes, oFsm.pDeviceHandler.GetOmciTimeout(), false, oFsm.PAdaptFsm.CommChan)
 	if err != nil {
@@ -1612,9 +1612,9 @@
 	}
 
 	meAttributes := msgObj.Attributes
-	imageIsCommitted := meAttributes["IsCommitted"].(uint8)
-	imageIsActive := meAttributes["IsActive"].(uint8)
-	imageVersion := cmn.TrimStringFromMeOctet(meAttributes["Version"])
+	imageIsCommitted := meAttributes[me.SoftwareImage_IsCommitted].(uint8)
+	imageIsActive := meAttributes[me.SoftwareImage_IsActive].(uint8)
+	imageVersion := cmn.TrimStringFromMeOctet(meAttributes[me.SoftwareImage_Version])
 	logger.Debugw(ctx, "OnuUpgradeFsm - GetResponse Data for SoftwareImage",
 		log.Fields{"device-id": oFsm.deviceID, "entityID": msgObj.EntityInstance,
 			"version": imageVersion, "isActive": imageIsActive, "isCommitted": imageIsCommitted})
diff --git a/internal/pkg/swupg/onu_image_status.go b/internal/pkg/swupg/onu_image_status.go
index eb4021f..02d92bc 100755
--- a/internal/pkg/swupg/onu_image_status.go
+++ b/internal/pkg/swupg/onu_image_status.go
@@ -45,14 +45,6 @@
 	pLastTxMeInstance      *me.ManagedEntity
 }
 
-const (
-	cImgVersion     = "Version"
-	cImgIsCommitted = "IsCommitted"
-	cImgIsActive    = "IsActive"
-	cImgIsValid     = "IsValid"
-	cImgProductCode = "ProductCode"
-	cImgImageHash   = "ImageHash"
-)
 const cResponse = "response: "
 
 //NewOnuImageStatus creates a new instance of OnuImageStatus
@@ -91,17 +83,17 @@
 		// a global mechanism should be implemented that automates this distribution - which would entail quite some
 		// changes on the respective receiver sides.
 
-		oo.requestedAttributes = me.AttributeValueMap{cImgVersion: "", cImgIsCommitted: 0, cImgIsActive: 0, cImgIsValid: 0}
+		oo.requestedAttributes = me.AttributeValueMap{me.SoftwareImage_Version: "", me.SoftwareImage_IsCommitted: 0, me.SoftwareImage_IsActive: 0, me.SoftwareImage_IsValid: 0}
 		if err := oo.requestOnuImageAttributes(ctx, uint16(i), &image); err != nil {
 			logger.Errorw(ctx, err.Error(), log.Fields{"requestedAttributes": oo.requestedAttributes, "device-id": oo.deviceID})
 			return nil, err
 		}
-		oo.requestedAttributes = me.AttributeValueMap{cImgProductCode: ""}
+		oo.requestedAttributes = me.AttributeValueMap{me.SoftwareImage_ProductCode: ""}
 		if err := oo.requestOnuImageAttributes(ctx, uint16(i), &image); err != nil {
 			logger.Errorw(ctx, err.Error(), log.Fields{"requestedAttributes": oo.requestedAttributes, "device-id": oo.deviceID})
 			return nil, err
 		}
-		oo.requestedAttributes = me.AttributeValueMap{cImgImageHash: 0}
+		oo.requestedAttributes = me.AttributeValueMap{me.SoftwareImage_ImageHash: 0}
 		if err := oo.requestOnuImageAttributes(ctx, uint16(i), &image); err != nil {
 			logger.Errorw(ctx, err.Error(), log.Fields{"requestedAttributes": oo.requestedAttributes, "device-id": oo.deviceID})
 			return nil, err
@@ -213,7 +205,7 @@
 	meAttributes := msgObj.Attributes
 	logger.Debugw(ctx, "processAttributesReceived", log.Fields{"attributes": meAttributes, "device-id": oo.deviceID})
 
-	if _, ok := oo.requestedAttributes[cImgVersion]; ok {
+	if _, ok := oo.requestedAttributes[me.SoftwareImage_Version]; ok {
 		if msgObj.Result != me.Success {
 			logger.Errorw(ctx, "processAttributesReceived retrieval of mandatory attributes failed",
 				log.Fields{"device-id": oo.deviceID})
@@ -224,40 +216,40 @@
 	for k := range oo.requestedAttributes {
 		switch k {
 		// mandatory attributes
-		case cImgIsCommitted:
-			if meAttributes[cImgIsCommitted].(uint8) == cmn.SwIsCommitted {
+		case me.SoftwareImage_IsCommitted:
+			if meAttributes[me.SoftwareImage_IsCommitted].(uint8) == cmn.SwIsCommitted {
 				image.IsCommited = true
 			} else {
 				image.IsCommited = false
 			}
-		case cImgIsActive:
-			if meAttributes[cImgIsActive].(uint8) == cmn.SwIsActive {
+		case me.SoftwareImage_IsActive:
+			if meAttributes[me.SoftwareImage_IsActive].(uint8) == cmn.SwIsActive {
 				image.IsActive = true
 			} else {
 				image.IsActive = false
 			}
-		case cImgIsValid:
-			if meAttributes[cImgIsValid].(uint8) == cmn.SwIsValid {
+		case me.SoftwareImage_IsValid:
+			if meAttributes[me.SoftwareImage_IsValid].(uint8) == cmn.SwIsValid {
 				image.IsValid = true
 			} else {
 				image.IsValid = false
 			}
-		case cImgVersion:
-			image.Version = cmn.TrimStringFromMeOctet(meAttributes[cImgVersion])
+		case me.SoftwareImage_Version:
+			image.Version = cmn.TrimStringFromMeOctet(meAttributes[me.SoftwareImage_Version])
 
 		// optional attributes
-		case cImgProductCode:
+		case me.SoftwareImage_ProductCode:
 			if msgObj.Result == me.Success {
-				image.ProductCode = cmn.TrimStringFromMeOctet(meAttributes[cImgProductCode])
+				image.ProductCode = cmn.TrimStringFromMeOctet(meAttributes[me.SoftwareImage_ProductCode])
 			} else {
 				sResult := msgObj.Result.String()
 				logger.Infow(ctx, "processAttributesReceived - ProductCode",
 					log.Fields{"result": sResult, "unsupported attribute mask": msgObj.UnsupportedAttributeMask, "device-id": oo.deviceID})
 				image.ProductCode = cResponse + sResult
 			}
-		case cImgImageHash:
+		case me.SoftwareImage_ImageHash:
 			if msgObj.Result == me.Success {
-				bytes, _ := me.InterfaceToOctets(meAttributes[cImgImageHash])
+				bytes, _ := me.InterfaceToOctets(meAttributes[me.SoftwareImage_ImageHash])
 				image.Hash = hex.EncodeToString(bytes)
 			} else {
 				sResult := msgObj.Result.String()
diff --git a/internal/pkg/uniprt/uniportadmin.go b/internal/pkg/uniprt/uniportadmin.go
index 4ddf154..2a0a2c9 100755
--- a/internal/pkg/uniprt/uniportadmin.go
+++ b/internal/pkg/uniprt/uniportadmin.go
@@ -213,7 +213,7 @@
 	oFsm.mutexAdminState.RUnlock()
 	logger.Debugw(ctx, "LockStateFSM Tx Set::ONU-G:admin", log.Fields{
 		"omciAdmin": omciAdminState, "in state": e.FSM.Current(), "device-id": oFsm.deviceID})
-	requestedAttributes := me.AttributeValueMap{"AdministrativeState": omciAdminState}
+	requestedAttributes := me.AttributeValueMap{me.OnuG_AdministrativeState: omciAdminState}
 	oFsm.mutexPLastTxMeInstance.Lock()
 	meInstance, err := oFsm.pOmciCC.SendSetOnuGLS(log.WithSpanFromContext(context.TODO(), ctx), oFsm.pDeviceHandler.GetOmciTimeout(), true,
 		requestedAttributes, oFsm.PAdaptFsm.CommChan)
@@ -430,7 +430,7 @@
 	}
 	oFsm.mutexAdminState.RUnlock()
 	//set PPTPEthUni or VEIP AdminState
-	requestedAttributes := me.AttributeValueMap{"AdministrativeState": omciAdminState}
+	requestedAttributes := me.AttributeValueMap{me.PhysicalPathTerminationPointEthernetUni_AdministrativeState: omciAdminState}
 
 	for uniNo, uniPort := range *oFsm.pDeviceHandler.GetUniEntityMap() {
 		// only unlock the UniPort in case it is defined for usage (R2.6 limit only one port),
diff --git a/internal/pkg/uniprt/uniportstatus.go b/internal/pkg/uniprt/uniportstatus.go
index b088d41..4c294ce 100755
--- a/internal/pkg/uniprt/uniportstatus.go
+++ b/internal/pkg/uniprt/uniportstatus.go
@@ -28,12 +28,7 @@
 	"github.com/opencord/voltha-protos/v5/go/extension"
 )
 
-const (
-	uniStatusTimeout = 3
-	adminState       = "AdministrativeState"
-	operationalState = "OperationalState"
-	configInd        = "ConfigurationInd"
-)
+const uniStatusTimeout = 3
 
 //UniPortStatus implements methods to get uni port status info
 type UniPortStatus struct {
@@ -59,7 +54,10 @@
 
 		if uniPort.UniID == uint8(uniIdx) && uniPort.PortType == cmn.UniPPTP {
 
-			requestedAttributes := me.AttributeValueMap{adminState: 0, operationalState: 0, configInd: 0}
+			requestedAttributes := me.AttributeValueMap{
+				me.PhysicalPathTerminationPointEthernetUni_AdministrativeState: 0,
+				me.PhysicalPathTerminationPointEthernetUni_OperationalState:    0,
+				me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd:    0}
 			// Note: No reference to fetch the OMCI timeout configuration value, so hard code it to 10s
 			meInstance, err := portStatus.pOmiCC.SendGetMe(ctx, me.PhysicalPathTerminationPointEthernetUniClassID, uniPort.EntityID, requestedAttributes, 10, true, portStatus.omciRespChn)
 			if err != nil {
@@ -134,17 +132,17 @@
 			},
 		},
 	}
-	if meAttributes[operationalState].(uint8) == 0 {
+	if meAttributes[me.PhysicalPathTerminationPointEthernetUni_OperationalState].(uint8) == 0 {
 		singleValResp.Response.GetUniInfo().OperState = extension.GetOnuUniInfoResponse_ENABLED
-	} else if meAttributes[operationalState].(uint8) == 1 {
+	} else if meAttributes[me.PhysicalPathTerminationPointEthernetUni_OperationalState].(uint8) == 1 {
 		singleValResp.Response.GetUniInfo().OperState = extension.GetOnuUniInfoResponse_DISABLED
 	} else {
 		singleValResp.Response.GetUniInfo().OperState = extension.GetOnuUniInfoResponse_OPERSTATE_UNDEFINED
 	}
 
-	if meAttributes[adminState].(uint8) == 0 {
+	if meAttributes[me.PhysicalPathTerminationPointEthernetUni_AdministrativeState].(uint8) == 0 {
 		singleValResp.Response.GetUniInfo().AdmState = extension.GetOnuUniInfoResponse_UNLOCKED
-	} else if meAttributes[adminState].(uint8) == 1 {
+	} else if meAttributes[me.PhysicalPathTerminationPointEthernetUni_AdministrativeState].(uint8) == 1 {
 		singleValResp.Response.GetUniInfo().AdmState = extension.GetOnuUniInfoResponse_LOCKED
 	} else {
 		singleValResp.Response.GetUniInfo().AdmState = extension.GetOnuUniInfoResponse_ADMSTATE_UNDEFINED
@@ -159,7 +157,7 @@
 		18: extension.GetOnuUniInfoResponse_HUNDRED_BASE_T_HDX,
 		19: extension.GetOnuUniInfoResponse_GIGABIT_ETHERNET_HDX,
 	}
-	configInd := meAttributes[configInd].(uint8)
+	configInd := meAttributes[me.PhysicalPathTerminationPointEthernetUni_ConfigurationInd].(uint8)
 	singleValResp.Response.GetUniInfo().ConfigInd = configIndMap[configInd]
 	return &singleValResp
 }
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/VERSION b/vendor/github.com/opencord/omci-lib-go/v2/VERSION
index ac2cdeb..ccbccc3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/VERSION
+++ b/vendor/github.com/opencord/omci-lib-go/v2/VERSION
@@ -1 +1 @@
-2.1.3
+2.2.0
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go
index 50dd54a..2ddf76e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5performancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,10 +81,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Aal5PerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const Aal5PerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const Aal5PerformanceMonitoringHistoryData_SumOfInvalidCsFieldErrors = "SumOfInvalidCsFieldErrors"
+const Aal5PerformanceMonitoringHistoryData_CrcViolations = "CrcViolations"
+const Aal5PerformanceMonitoringHistoryData_ReassemblyTimerExpirations = "ReassemblyTimerExpirations"
+const Aal5PerformanceMonitoringHistoryData_BufferOverflows = "BufferOverflows"
+const Aal5PerformanceMonitoringHistoryData_EncapProtocolErrors = "EncapProtocolErrors"
+
 func init() {
 	aal5performancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "Aal5PerformanceMonitoringHistoryData",
-		ClassID: 18,
+		ClassID: Aal5PerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,14 +104,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SumOfInvalidCsFieldErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CrcViolations", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("ReassemblyTimerExpirations", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("BufferOverflows", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("EncapProtocolErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(Aal5PerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(Aal5PerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(Aal5PerformanceMonitoringHistoryData_SumOfInvalidCsFieldErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(Aal5PerformanceMonitoringHistoryData_CrcViolations, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(Aal5PerformanceMonitoringHistoryData_ReassemblyTimerExpirations, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(Aal5PerformanceMonitoringHistoryData_BufferOverflows, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(Aal5PerformanceMonitoringHistoryData_EncapProtocolErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go
index bbade42..423bce7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/aal5profile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,10 +80,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Aal5Profile_MaxCpcsPduSize = "MaxCpcsPduSize"
+const Aal5Profile_AalMode = "AalMode"
+const Aal5Profile_SscsType = "SscsType"
+
 func init() {
 	aal5profileBME = &ManagedEntityDefinition{
 		Name:    "Aal5Profile",
-		ClassID: 16,
+		ClassID: Aal5ProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,10 +98,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MaxCpcsPduSize", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("AalMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("SscsType", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(Aal5Profile_MaxCpcsPduSize, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Aal5Profile_AalMode, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(Aal5Profile_SscsType, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go
index 0e13c5c..bec4bb4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ani-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -155,10 +155,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const AniG_SrIndication = "SrIndication"
+const AniG_TotalTcontNumber = "TotalTcontNumber"
+const AniG_GemBlockLength = "GemBlockLength"
+const AniG_PiggybackDbaReporting = "PiggybackDbaReporting"
+const AniG_Deprecated = "Deprecated"
+const AniG_SignalFailThreshold = "SignalFailThreshold"
+const AniG_SignalDegradeThreshold = "SignalDegradeThreshold"
+const AniG_Arc = "Arc"
+const AniG_ArcInterval = "ArcInterval"
+const AniG_OpticalSignalLevel = "OpticalSignalLevel"
+const AniG_LowerOpticalThreshold = "LowerOpticalThreshold"
+const AniG_UpperOpticalThreshold = "UpperOpticalThreshold"
+const AniG_OnuResponseTime = "OnuResponseTime"
+const AniG_TransmitOpticalLevel = "TransmitOpticalLevel"
+const AniG_LowerTransmitPowerThreshold = "LowerTransmitPowerThreshold"
+const AniG_UpperTransmitPowerThreshold = "UpperTransmitPowerThreshold"
+
 func init() {
 	anigBME = &ManagedEntityDefinition{
 		Name:    "AniG",
-		ClassID: 263,
+		ClassID: AniGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -166,23 +185,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("SrIndication", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("TotalTcontNumber", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("GemBlockLength", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("PiggybackDbaReporting", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, true, 5),
-			6:  ByteField("SignalFailThreshold", UnsignedIntegerAttributeType, 0x0400, 5, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("SignalDegradeThreshold", UnsignedIntegerAttributeType, 0x0200, 9, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("Arc", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
-			9:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("OpticalSignalLevel", SignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("LowerOpticalThreshold", SignedIntegerAttributeType, 0x0020, 255, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("UpperOpticalThreshold", SignedIntegerAttributeType, 0x0010, 255, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("OnuResponseTime", UnsignedIntegerAttributeType, 0x0008, 35000, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint16Field("TransmitOpticalLevel", SignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: ByteField("LowerTransmitPowerThreshold", SignedIntegerAttributeType, 0x0002, 129, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("UpperTransmitPowerThreshold", SignedIntegerAttributeType, 0x0001, 129, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(AniG_SrIndication, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(AniG_TotalTcontNumber, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(AniG_GemBlockLength, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(AniG_PiggybackDbaReporting, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(AniG_Deprecated, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, true, 5),
+			6:  ByteField(AniG_SignalFailThreshold, UnsignedIntegerAttributeType, 0x0400, 5, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(AniG_SignalDegradeThreshold, UnsignedIntegerAttributeType, 0x0200, 9, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(AniG_Arc, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9:  ByteField(AniG_ArcInterval, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(AniG_OpticalSignalLevel, SignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(AniG_LowerOpticalThreshold, SignedIntegerAttributeType, 0x0020, 255, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(AniG_UpperOpticalThreshold, SignedIntegerAttributeType, 0x0010, 255, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(AniG_OnuResponseTime, UnsignedIntegerAttributeType, 0x0008, 35000, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field(AniG_TransmitOpticalLevel, SignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: ByteField(AniG_LowerTransmitPowerThreshold, SignedIntegerAttributeType, 0x0002, 129, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(AniG_UpperTransmitPowerThreshold, SignedIntegerAttributeType, 0x0001, 129, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/attrNames_test.json b/vendor/github.com/opencord/omci-lib-go/v2/generated/attrNames_test.json
new file mode 100644
index 0000000..a25d51a
--- /dev/null
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/attrNames_test.json
@@ -0,0 +1,13276 @@
+{
+  "2": {
+    "Name": "ONU data",
+    "Filename": "onudata.go",
+    "CamelCase": "OnuData",
+    "ClassID": 2,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mib Data Sync",
+        "CamelCase": "MibDataSync",
+        "Final": "OnuData_MibDataSync",
+        "Index": 1
+      }
+    }
+  },
+  "5": {
+    "Name": "Cardholder",
+    "Filename": "cardholder.go",
+    "CamelCase": "Cardholder",
+    "ClassID": 5,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Actual Plug In Unit Type",
+        "CamelCase": "ActualPlugInUnitType",
+        "Final": "Cardholder_ActualPlugInUnitType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Expected Plug_In Unit Type",
+        "CamelCase": "ExpectedPlugInUnitType",
+        "Final": "Cardholder_ExpectedPlugInUnitType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Expected Port Count",
+        "CamelCase": "ExpectedPortCount",
+        "Final": "Cardholder_ExpectedPortCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Expected Equipment Id",
+        "CamelCase": "ExpectedEquipmentId",
+        "Final": "Cardholder_ExpectedEquipmentId",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Actual Equipment Id",
+        "CamelCase": "ActualEquipmentId",
+        "Final": "Cardholder_ActualEquipmentId",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Protection Profile Pointer",
+        "CamelCase": "ProtectionProfilePointer",
+        "Final": "Cardholder_ProtectionProfilePointer",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Invoke Protection Switch",
+        "CamelCase": "InvokeProtectionSwitch",
+        "Final": "Cardholder_InvokeProtectionSwitch",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Alarm _ Reporting Control",
+        "CamelCase": "AlarmReportingControl",
+        "Final": "Cardholder_AlarmReportingControl",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "Cardholder_ArcInterval",
+        "Index": 9
+      }
+    }
+  },
+  "6": {
+    "Name": "Circuit pack",
+    "Filename": "circuitpack.go",
+    "CamelCase": "CircuitPack",
+    "ClassID": 6,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Type",
+        "CamelCase": "Type",
+        "Final": "CircuitPack_Type",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Number Of Ports",
+        "CamelCase": "NumberOfPorts",
+        "Final": "CircuitPack_NumberOfPorts",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Serial Number",
+        "CamelCase": "SerialNumber",
+        "Final": "CircuitPack_SerialNumber",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "CircuitPack_Version",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Vendor Id",
+        "CamelCase": "VendorId",
+        "Final": "CircuitPack_VendorId",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "CircuitPack_AdministrativeState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "CircuitPack_OperationalState",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Bridged Or Ip Ind",
+        "CamelCase": "BridgedOrIpInd",
+        "Final": "CircuitPack_BridgedOrIpInd",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Equipment Id",
+        "CamelCase": "EquipmentId",
+        "Final": "CircuitPack_EquipmentId",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Card Configuration",
+        "CamelCase": "CardConfiguration",
+        "Final": "CircuitPack_CardConfiguration",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Total T_Cont Buffer Number",
+        "CamelCase": "TotalTContBufferNumber",
+        "Final": "CircuitPack_TotalTContBufferNumber",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Total Priority Queue Number",
+        "CamelCase": "TotalPriorityQueueNumber",
+        "Final": "CircuitPack_TotalPriorityQueueNumber",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Total Traffic Scheduler Number",
+        "CamelCase": "TotalTrafficSchedulerNumber",
+        "Final": "CircuitPack_TotalTrafficSchedulerNumber",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Power Shed Override",
+        "CamelCase": "PowerShedOverride",
+        "Final": "CircuitPack_PowerShedOverride",
+        "Index": 14
+      }
+    }
+  },
+  "7": {
+    "Name": "Software image",
+    "Filename": "softwareimage.go",
+    "CamelCase": "SoftwareImage",
+    "ClassID": 7,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "SoftwareImage_Version",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Is Committed",
+        "CamelCase": "IsCommitted",
+        "Final": "SoftwareImage_IsCommitted",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Is Active",
+        "CamelCase": "IsActive",
+        "Final": "SoftwareImage_IsActive",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Is Valid",
+        "CamelCase": "IsValid",
+        "Final": "SoftwareImage_IsValid",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Product Code",
+        "CamelCase": "ProductCode",
+        "Final": "SoftwareImage_ProductCode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Image Hash",
+        "CamelCase": "ImageHash",
+        "Final": "SoftwareImage_ImageHash",
+        "Index": 6
+      }
+    }
+  },
+  "11": {
+    "Name": "Physical path termination point Ethernet UNI",
+    "Filename": "physicalpathterminationpointethernetuni.go",
+    "CamelCase": "PhysicalPathTerminationPointEthernetUni",
+    "ClassID": 11,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Expected Type",
+        "CamelCase": "ExpectedType",
+        "Final": "PhysicalPathTerminationPointEthernetUni_ExpectedType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Sensed Type",
+        "CamelCase": "SensedType",
+        "Final": "PhysicalPathTerminationPointEthernetUni_SensedType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Auto Detection Configuration",
+        "CamelCase": "AutoDetectionConfiguration",
+        "Final": "PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ethernet Loopback Configuration",
+        "CamelCase": "EthernetLoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointEthernetUni_AdministrativeState",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointEthernetUni_OperationalState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Configuration Ind",
+        "CamelCase": "ConfigurationInd",
+        "Final": "PhysicalPathTerminationPointEthernetUni_ConfigurationInd",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Max Frame Size",
+        "CamelCase": "MaxFrameSize",
+        "Final": "PhysicalPathTerminationPointEthernetUni_MaxFrameSize",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Dte Or Dce Ind",
+        "CamelCase": "DteOrDceInd",
+        "Final": "PhysicalPathTerminationPointEthernetUni_DteOrDceInd",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Pause Time",
+        "CamelCase": "PauseTime",
+        "Final": "PhysicalPathTerminationPointEthernetUni_PauseTime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Bridged Or Ip Ind",
+        "CamelCase": "BridgedOrIpInd",
+        "Final": "PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointEthernetUni_Arc",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointEthernetUni_ArcInterval",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Pppoe Filter",
+        "CamelCase": "PppoeFilter",
+        "Final": "PhysicalPathTerminationPointEthernetUni_PppoeFilter",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Power Control",
+        "CamelCase": "PowerControl",
+        "Final": "PhysicalPathTerminationPointEthernetUni_PowerControl",
+        "Index": 15
+      }
+    }
+  },
+  "12": {
+    "Name": "Physical path termination point CES UNI",
+    "Filename": "physicalpathterminationpointcesuni.go",
+    "CamelCase": "PhysicalPathTerminationPointCesUni",
+    "ClassID": 12,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Expected Type",
+        "CamelCase": "ExpectedType",
+        "Final": "PhysicalPathTerminationPointCesUni_ExpectedType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Sensed Type",
+        "CamelCase": "SensedType",
+        "Final": "PhysicalPathTerminationPointCesUni_SensedType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ces Loopback Configuration",
+        "CamelCase": "CesLoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointCesUni_CesLoopbackConfiguration",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointCesUni_AdministrativeState",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointCesUni_OperationalState",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Framing",
+        "CamelCase": "Framing",
+        "Final": "PhysicalPathTerminationPointCesUni_Framing",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Encoding",
+        "CamelCase": "Encoding",
+        "Final": "PhysicalPathTerminationPointCesUni_Encoding",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Line Length",
+        "CamelCase": "LineLength",
+        "Final": "PhysicalPathTerminationPointCesUni_LineLength",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Ds1 Mode",
+        "CamelCase": "Ds1Mode",
+        "Final": "PhysicalPathTerminationPointCesUni_Ds1Mode",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointCesUni_Arc",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointCesUni_ArcInterval",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Line Type",
+        "CamelCase": "LineType",
+        "Final": "PhysicalPathTerminationPointCesUni_LineType",
+        "Index": 12
+      }
+    }
+  },
+  "14": {
+    "Name": "Interworking VCC termination point",
+    "Filename": "interworkingvccterminationpoint.go",
+    "CamelCase": "InterworkingVccTerminationPoint",
+    "ClassID": 14,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vci Value",
+        "CamelCase": "VciValue",
+        "Final": "InterworkingVccTerminationPoint_VciValue",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vp Network Ctp Connectivity Pointer",
+        "CamelCase": "VpNetworkCtpConnectivityPointer",
+        "Final": "InterworkingVccTerminationPoint_VpNetworkCtpConnectivityPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Deprecated 1",
+        "CamelCase": "Deprecated1",
+        "Final": "InterworkingVccTerminationPoint_Deprecated1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Deprecated 2",
+        "CamelCase": "Deprecated2",
+        "Final": "InterworkingVccTerminationPoint_Deprecated2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Aal5 Profile Pointer",
+        "CamelCase": "Aal5ProfilePointer",
+        "Final": "InterworkingVccTerminationPoint_Aal5ProfilePointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Deprecated 3",
+        "CamelCase": "Deprecated3",
+        "Final": "InterworkingVccTerminationPoint_Deprecated3",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Aal Loopback Configuration",
+        "CamelCase": "AalLoopbackConfiguration",
+        "Final": "InterworkingVccTerminationPoint_AalLoopbackConfiguration",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Pptp Counter",
+        "CamelCase": "PptpCounter",
+        "Final": "InterworkingVccTerminationPoint_PptpCounter",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "InterworkingVccTerminationPoint_OperationalState",
+        "Index": 9
+      }
+    }
+  },
+  "16": {
+    "Name": "AAL5 profile",
+    "Filename": "aal5profile.go",
+    "CamelCase": "Aal5Profile",
+    "ClassID": 16,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Max Cpcs Pdu Size",
+        "CamelCase": "MaxCpcsPduSize",
+        "Final": "Aal5Profile_MaxCpcsPduSize",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Aal Mode",
+        "CamelCase": "AalMode",
+        "Final": "Aal5Profile_AalMode",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sscs Type",
+        "CamelCase": "SscsType",
+        "Final": "Aal5Profile_SscsType",
+        "Index": 3
+      }
+    }
+  },
+  "18": {
+    "Name": "AAL5 performance monitoring history data",
+    "Filename": "aal5performancemonitoringhistorydata.go",
+    "CamelCase": "Aal5PerformanceMonitoringHistoryData",
+    "ClassID": 18,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "Aal5PerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "Aal5PerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sum Of Invalid Cs Field Errors",
+        "CamelCase": "SumOfInvalidCsFieldErrors",
+        "Final": "Aal5PerformanceMonitoringHistoryData_SumOfInvalidCsFieldErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Crc Violations",
+        "CamelCase": "CrcViolations",
+        "Final": "Aal5PerformanceMonitoringHistoryData_CrcViolations",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Reassembly Timer Expirations",
+        "CamelCase": "ReassemblyTimerExpirations",
+        "Final": "Aal5PerformanceMonitoringHistoryData_ReassemblyTimerExpirations",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Buffer Overflows",
+        "CamelCase": "BufferOverflows",
+        "Final": "Aal5PerformanceMonitoringHistoryData_BufferOverflows",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Encap Protocol Errors",
+        "CamelCase": "EncapProtocolErrors",
+        "Final": "Aal5PerformanceMonitoringHistoryData_EncapProtocolErrors",
+        "Index": 7
+      }
+    }
+  },
+  "21": {
+    "Name": "CES service profile",
+    "Filename": "cesserviceprofile.go",
+    "CamelCase": "CesServiceProfile",
+    "ClassID": 21,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ces Buffered Cdv Tolerance",
+        "CamelCase": "CesBufferedCdvTolerance",
+        "Final": "CesServiceProfile_CesBufferedCdvTolerance",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Channel Associated Signalling Cas",
+        "CamelCase": "ChannelAssociatedSignallingCas",
+        "Final": "CesServiceProfile_ChannelAssociatedSignallingCas",
+        "Index": 2
+      }
+    }
+  },
+  "24": {
+    "Name": "Ethernet performance monitoring history data",
+    "Filename": "ethernetperformancemonitoringhistorydata.go",
+    "CamelCase": "EthernetPerformanceMonitoringHistoryData",
+    "ClassID": 24,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fcs Errors",
+        "CamelCase": "FcsErrors",
+        "Final": "EthernetPerformanceMonitoringHistoryData_FcsErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Excessive Collision Counter",
+        "CamelCase": "ExcessiveCollisionCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Late Collision Counter",
+        "CamelCase": "LateCollisionCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_LateCollisionCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Frames Too Long",
+        "CamelCase": "FramesTooLong",
+        "Final": "EthernetPerformanceMonitoringHistoryData_FramesTooLong",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Buffer Overflows On Receive",
+        "CamelCase": "BufferOverflowsOnReceive",
+        "Final": "EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Buffer Overflows On Transmit",
+        "CamelCase": "BufferOverflowsOnTransmit",
+        "Final": "EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Single Collision Frame Counter",
+        "CamelCase": "SingleCollisionFrameCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Multiple Collisions Frame Counter",
+        "CamelCase": "MultipleCollisionsFrameCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Sqe Counter",
+        "CamelCase": "SqeCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_SqeCounter",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Deferred Transmission Counter",
+        "CamelCase": "DeferredTransmissionCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Internal Mac Transmit Error Counter",
+        "CamelCase": "InternalMacTransmitErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Carrier Sense Error Counter",
+        "CamelCase": "CarrierSenseErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Alignment Error Counter",
+        "CamelCase": "AlignmentErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Internal Mac Receive Error Counter",
+        "CamelCase": "InternalMacReceiveErrorCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter",
+        "Index": 16
+      }
+    }
+  },
+  "45": {
+    "Name": "MAC bridge service profile",
+    "Filename": "macbridgeserviceprofile.go",
+    "CamelCase": "MacBridgeServiceProfile",
+    "ClassID": 45,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Spanning Tree Ind",
+        "CamelCase": "SpanningTreeInd",
+        "Final": "MacBridgeServiceProfile_SpanningTreeInd",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Learning Ind",
+        "CamelCase": "LearningInd",
+        "Final": "MacBridgeServiceProfile_LearningInd",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Port Bridging Ind",
+        "CamelCase": "PortBridgingInd",
+        "Final": "MacBridgeServiceProfile_PortBridgingInd",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Priority",
+        "CamelCase": "Priority",
+        "Final": "MacBridgeServiceProfile_Priority",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Max Age",
+        "CamelCase": "MaxAge",
+        "Final": "MacBridgeServiceProfile_MaxAge",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Hello Time",
+        "CamelCase": "HelloTime",
+        "Final": "MacBridgeServiceProfile_HelloTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Forward Delay",
+        "CamelCase": "ForwardDelay",
+        "Final": "MacBridgeServiceProfile_ForwardDelay",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Unknown Mac Address Discard",
+        "CamelCase": "UnknownMacAddressDiscard",
+        "Final": "MacBridgeServiceProfile_UnknownMacAddressDiscard",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Mac Learning Depth",
+        "CamelCase": "MacLearningDepth",
+        "Final": "MacBridgeServiceProfile_MacLearningDepth",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Dynamic Filtering Ageing Time",
+        "CamelCase": "DynamicFilteringAgeingTime",
+        "Final": "MacBridgeServiceProfile_DynamicFilteringAgeingTime",
+        "Index": 10
+      }
+    }
+  },
+  "46": {
+    "Name": "MAC bridge configuration data",
+    "Filename": "macbridgeconfigurationdata.go",
+    "CamelCase": "MacBridgeConfigurationData",
+    "ClassID": 46,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Bridge Mac Address",
+        "CamelCase": "BridgeMacAddress",
+        "Final": "MacBridgeConfigurationData_BridgeMacAddress",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Bridge Priority",
+        "CamelCase": "BridgePriority",
+        "Final": "MacBridgeConfigurationData_BridgePriority",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Designated Root",
+        "CamelCase": "DesignatedRoot",
+        "Final": "MacBridgeConfigurationData_DesignatedRoot",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Root Path Cost",
+        "CamelCase": "RootPathCost",
+        "Final": "MacBridgeConfigurationData_RootPathCost",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Bridge Port Count",
+        "CamelCase": "BridgePortCount",
+        "Final": "MacBridgeConfigurationData_BridgePortCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Root Port Num",
+        "CamelCase": "RootPortNum",
+        "Final": "MacBridgeConfigurationData_RootPortNum",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Hello Time",
+        "CamelCase": "HelloTime",
+        "Final": "MacBridgeConfigurationData_HelloTime",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Forward Delay",
+        "CamelCase": "ForwardDelay",
+        "Final": "MacBridgeConfigurationData_ForwardDelay",
+        "Index": 8
+      }
+    }
+  },
+  "47": {
+    "Name": "MAC bridge port configuration data",
+    "Filename": "macbridgeportconfigurationdata.go",
+    "CamelCase": "MacBridgePortConfigurationData",
+    "ClassID": 47,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Bridge Id Pointer",
+        "CamelCase": "BridgeIdPointer",
+        "Final": "MacBridgePortConfigurationData_BridgeIdPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Port Num",
+        "CamelCase": "PortNum",
+        "Final": "MacBridgePortConfigurationData_PortNum",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "MacBridgePortConfigurationData_TpType",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tp Pointer",
+        "CamelCase": "TpPointer",
+        "Final": "MacBridgePortConfigurationData_TpPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Port Priority",
+        "CamelCase": "PortPriority",
+        "Final": "MacBridgePortConfigurationData_PortPriority",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Port Path Cost",
+        "CamelCase": "PortPathCost",
+        "Final": "MacBridgePortConfigurationData_PortPathCost",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Port Spanning Tree Ind",
+        "CamelCase": "PortSpanningTreeInd",
+        "Final": "MacBridgePortConfigurationData_PortSpanningTreeInd",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Deprecated 1",
+        "CamelCase": "Deprecated1",
+        "Final": "MacBridgePortConfigurationData_Deprecated1",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Deprecated 2",
+        "CamelCase": "Deprecated2",
+        "Final": "MacBridgePortConfigurationData_Deprecated2",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Port Mac Address",
+        "CamelCase": "PortMacAddress",
+        "Final": "MacBridgePortConfigurationData_PortMacAddress",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Outbound Td Pointer",
+        "CamelCase": "OutboundTdPointer",
+        "Final": "MacBridgePortConfigurationData_OutboundTdPointer",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Inbound Td Pointer",
+        "CamelCase": "InboundTdPointer",
+        "Final": "MacBridgePortConfigurationData_InboundTdPointer",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Mac Learning Depth",
+        "CamelCase": "MacLearningDepth",
+        "Final": "MacBridgePortConfigurationData_MacLearningDepth",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lasp Id Pointer",
+        "CamelCase": "LaspIdPointer",
+        "Final": "MacBridgePortConfigurationData_LaspIdPointer",
+        "Index": 14
+      }
+    }
+  },
+  "48": {
+    "Name": "MAC bridge port designation data",
+    "Filename": "macbridgeportdesignationdata.go",
+    "CamelCase": "MacBridgePortDesignationData",
+    "ClassID": 48,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Designated Bridge Root Cost Port",
+        "CamelCase": "DesignatedBridgeRootCostPort",
+        "Final": "MacBridgePortDesignationData_DesignatedBridgeRootCostPort",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Port State",
+        "CamelCase": "PortState",
+        "Final": "MacBridgePortDesignationData_PortState",
+        "Index": 2
+      }
+    }
+  },
+  "49": {
+    "Name": "MAC bridge port filter table data",
+    "Filename": "macbridgeportfiltertabledata.go",
+    "CamelCase": "MacBridgePortFilterTableData",
+    "ClassID": 49,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mac Filter Table",
+        "CamelCase": "MacFilterTable",
+        "Final": "MacBridgePortFilterTableData_MacFilterTable",
+        "Index": 1
+      }
+    }
+  },
+  "50": {
+    "Name": "MAC bridge port bridge table data",
+    "Filename": "macbridgeportbridgetabledata.go",
+    "CamelCase": "MacBridgePortBridgeTableData",
+    "ClassID": 50,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Bridge Table",
+        "CamelCase": "BridgeTable",
+        "Final": "MacBridgePortBridgeTableData_BridgeTable",
+        "Index": 1
+      }
+    }
+  },
+  "51": {
+    "Name": "MAC bridge performance monitoring history data",
+    "Filename": "macbridgeperformancemonitoringhistorydata.go",
+    "CamelCase": "MacBridgePerformanceMonitoringHistoryData",
+    "ClassID": 51,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MacBridgePerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MacBridgePerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Bridge Learning Entry Discard Count",
+        "CamelCase": "BridgeLearningEntryDiscardCount",
+        "Final": "MacBridgePerformanceMonitoringHistoryData_BridgeLearningEntryDiscardCount",
+        "Index": 3
+      }
+    }
+  },
+  "52": {
+    "Name": "MAC bridge port performance monitoring history data",
+    "Filename": "macbridgeportperformancemonitoringhistorydata.go",
+    "CamelCase": "MacBridgePortPerformanceMonitoringHistoryData",
+    "ClassID": 52,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Forwarded Frame Counter",
+        "CamelCase": "ForwardedFrameCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ForwardedFrameCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Delay Exceeded Discard Counter",
+        "CamelCase": "DelayExceededDiscardCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_DelayExceededDiscardCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Transmission Unit Mtu Exceeded Discard Counter",
+        "CamelCase": "MaximumTransmissionUnitMtuExceededDiscardCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_MaximumTransmissionUnitMtuExceededDiscardCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Frame Counter",
+        "CamelCase": "ReceivedFrameCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ReceivedFrameCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Received And Discarded Counter",
+        "CamelCase": "ReceivedAndDiscardedCounter",
+        "Final": "MacBridgePortPerformanceMonitoringHistoryData_ReceivedAndDiscardedCounter",
+        "Index": 7
+      }
+    }
+  },
+  "53": {
+    "Name": "Physical path termination point POTS UNI",
+    "Filename": "physicalpathterminationpointpotsuni.go",
+    "CamelCase": "PhysicalPathTerminationPointPotsUni",
+    "ClassID": 53,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointPotsUni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "PhysicalPathTerminationPointPotsUni_Deprecated",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointPotsUni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointPotsUni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Impedance",
+        "CamelCase": "Impedance",
+        "Final": "PhysicalPathTerminationPointPotsUni_Impedance",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmission Path",
+        "CamelCase": "TransmissionPath",
+        "Final": "PhysicalPathTerminationPointPotsUni_TransmissionPath",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Gain",
+        "CamelCase": "RxGain",
+        "Final": "PhysicalPathTerminationPointPotsUni_RxGain",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Gain",
+        "CamelCase": "TxGain",
+        "Final": "PhysicalPathTerminationPointPotsUni_TxGain",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointPotsUni_OperationalState",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Hook State",
+        "CamelCase": "HookState",
+        "Final": "PhysicalPathTerminationPointPotsUni_HookState",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Pots Holdover Time",
+        "CamelCase": "PotsHoldoverTime",
+        "Final": "PhysicalPathTerminationPointPotsUni_PotsHoldoverTime",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Nominal Feed Voltage",
+        "CamelCase": "NominalFeedVoltage",
+        "Final": "PhysicalPathTerminationPointPotsUni_NominalFeedVoltage",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Loss Of Softswitch",
+        "CamelCase": "LossOfSoftswitch",
+        "Final": "PhysicalPathTerminationPointPotsUni_LossOfSoftswitch",
+        "Index": 13
+      }
+    }
+  },
+  "58": {
+    "Name": "Voice service profile",
+    "Filename": "voiceserviceprofile.go",
+    "CamelCase": "VoiceServiceProfile",
+    "ClassID": 58,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Announcement Type",
+        "CamelCase": "AnnouncementType",
+        "Final": "VoiceServiceProfile_AnnouncementType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Jitter Target",
+        "CamelCase": "JitterTarget",
+        "Final": "VoiceServiceProfile_JitterTarget",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Jitter Buffer Max",
+        "CamelCase": "JitterBufferMax",
+        "Final": "VoiceServiceProfile_JitterBufferMax",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Echo Cancel Ind",
+        "CamelCase": "EchoCancelInd",
+        "Final": "VoiceServiceProfile_EchoCancelInd",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Pstn Protocol Variant",
+        "CamelCase": "PstnProtocolVariant",
+        "Final": "VoiceServiceProfile_PstnProtocolVariant",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Dtmf Digit Levels",
+        "CamelCase": "DtmfDigitLevels",
+        "Final": "VoiceServiceProfile_DtmfDigitLevels",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Dtmf Digit Duration",
+        "CamelCase": "DtmfDigitDuration",
+        "Final": "VoiceServiceProfile_DtmfDigitDuration",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Hook Flash Minimum Time",
+        "CamelCase": "HookFlashMinimumTime",
+        "Final": "VoiceServiceProfile_HookFlashMinimumTime",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Hook Flash Maximum Time",
+        "CamelCase": "HookFlashMaximumTime",
+        "Final": "VoiceServiceProfile_HookFlashMaximumTime",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tone Pattern Table",
+        "CamelCase": "TonePatternTable",
+        "Final": "VoiceServiceProfile_TonePatternTable",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tone Event Table",
+        "CamelCase": "ToneEventTable",
+        "Final": "VoiceServiceProfile_ToneEventTable",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Ringing Pattern Table",
+        "CamelCase": "RingingPatternTable",
+        "Final": "VoiceServiceProfile_RingingPatternTable",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Ringing Event Table",
+        "CamelCase": "RingingEventTable",
+        "Final": "VoiceServiceProfile_RingingEventTable",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Network Specific Extensions Pointer",
+        "CamelCase": "NetworkSpecificExtensionsPointer",
+        "Final": "VoiceServiceProfile_NetworkSpecificExtensionsPointer",
+        "Index": 14
+      }
+    }
+  },
+  "62": {
+    "Name": "VP performance monitoring history data",
+    "Filename": "vpperformancemonitoringhistorydata.go",
+    "CamelCase": "VpPerformanceMonitoringHistoryData",
+    "ClassID": 62,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "VpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "VpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Lost C 0 1 Cells",
+        "CamelCase": "LostC01Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_LostC01Cells",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Lost C0 Cells",
+        "CamelCase": "LostC0Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_LostC0Cells",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Misinserted Cells",
+        "CamelCase": "MisinsertedCells",
+        "Final": "VpPerformanceMonitoringHistoryData_MisinsertedCells",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted C0 _ 1 Cells",
+        "CamelCase": "TransmittedC01Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_TransmittedC01Cells",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Transmitted C0 Cells",
+        "CamelCase": "TransmittedC0Cells",
+        "Final": "VpPerformanceMonitoringHistoryData_TransmittedC0Cells",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Impaired Block",
+        "CamelCase": "ImpairedBlock",
+        "Final": "VpPerformanceMonitoringHistoryData_ImpairedBlock",
+        "Index": 8
+      }
+    }
+  },
+  "78": {
+    "Name": "VLAN tagging operation configuration data",
+    "Filename": "vlantaggingoperationconfigurationdata.go",
+    "CamelCase": "VlanTaggingOperationConfigurationData",
+    "ClassID": 78,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Upstream Vlan Tagging Operation Mode",
+        "CamelCase": "UpstreamVlanTaggingOperationMode",
+        "Final": "VlanTaggingOperationConfigurationData_UpstreamVlanTaggingOperationMode",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Upstream Vlan Tag Tci Value",
+        "CamelCase": "UpstreamVlanTagTciValue",
+        "Final": "VlanTaggingOperationConfigurationData_UpstreamVlanTagTciValue",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Vlan Tagging Operation Mode",
+        "CamelCase": "DownstreamVlanTaggingOperationMode",
+        "Final": "VlanTaggingOperationConfigurationData_DownstreamVlanTaggingOperationMode",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Association Type",
+        "CamelCase": "AssociationType",
+        "Final": "VlanTaggingOperationConfigurationData_AssociationType",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Associated Me Pointer",
+        "CamelCase": "AssociatedMePointer",
+        "Final": "VlanTaggingOperationConfigurationData_AssociatedMePointer",
+        "Index": 5
+      }
+    }
+  },
+  "79": {
+    "Name": "MAC bridge port filter pre-assign table",
+    "Filename": "macbridgeportfilterpre-assigntable.go",
+    "CamelCase": "MacBridgePortFilterPreAssignTable",
+    "ClassID": 79,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ipv4 Multicast Filtering",
+        "CamelCase": "Ipv4MulticastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_Ipv4MulticastFiltering",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Ipv6 Multicast Filtering",
+        "CamelCase": "Ipv6MulticastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_Ipv6MulticastFiltering",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ipv4 Broadcast Filtering",
+        "CamelCase": "Ipv4BroadcastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_Ipv4BroadcastFiltering",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rarp Filtering",
+        "CamelCase": "RarpFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_RarpFiltering",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Ipx Filtering",
+        "CamelCase": "IpxFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_IpxFiltering",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Netbeui Filtering",
+        "CamelCase": "NetbeuiFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_NetbeuiFiltering",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Appletalk Filtering",
+        "CamelCase": "AppletalkFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_AppletalkFiltering",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Bridge Management Information Filtering",
+        "CamelCase": "BridgeManagementInformationFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_BridgeManagementInformationFiltering",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arp Filtering",
+        "CamelCase": "ArpFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_ArpFiltering",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Point_To_Point Protocol Over Ethernet Pppoe Broadcast Filtering",
+        "CamelCase": "PointToPointProtocolOverEthernetPppoeBroadcastFiltering",
+        "Final": "MacBridgePortFilterPreAssignTable_PointToPointProtocolOverEthernetPppoeBroadcastFiltering",
+        "Index": 10
+      }
+    }
+  },
+  "82": {
+    "Name": "Physical path termination point video UNI",
+    "Filename": "physicalpathterminationpointvideouni.go",
+    "CamelCase": "PhysicalPathTerminationPointVideoUni",
+    "ClassID": 82,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointVideoUni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointVideoUni_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointVideoUni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointVideoUni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Power Control",
+        "CamelCase": "PowerControl",
+        "Final": "PhysicalPathTerminationPointVideoUni_PowerControl",
+        "Index": 5
+      }
+    }
+  },
+  "83": {
+    "Name": "Physical path termination point LCT UNI",
+    "Filename": "physicalpathterminationpointlctuni.go",
+    "CamelCase": "PhysicalPathTerminationPointLctUni",
+    "ClassID": 83,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointLctUni_AdministrativeState",
+        "Index": 1
+      }
+    }
+  },
+  "84": {
+    "Name": "VLAN tagging filter data",
+    "Filename": "vlantaggingfilterdata.go",
+    "CamelCase": "VlanTaggingFilterData",
+    "ClassID": 84,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vlan Filter List",
+        "CamelCase": "VlanFilterList",
+        "Final": "VlanTaggingFilterData_VlanFilterList",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Forward Operation",
+        "CamelCase": "ForwardOperation",
+        "Final": "VlanTaggingFilterData_ForwardOperation",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Number Of Entries",
+        "CamelCase": "NumberOfEntries",
+        "Final": "VlanTaggingFilterData_NumberOfEntries",
+        "Index": 3
+      }
+    }
+  },
+  "89": {
+    "Name": "Ethernet performance monitoring history data 2",
+    "Filename": "ethernetperformancemonitoringhistorydata2.go",
+    "CamelCase": "EthernetPerformanceMonitoringHistoryData2",
+    "ClassID": 89,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetPerformanceMonitoringHistoryData2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetPerformanceMonitoringHistoryData2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Pppoe Filtered Frame Counter",
+        "CamelCase": "PppoeFilteredFrameCounter",
+        "Final": "EthernetPerformanceMonitoringHistoryData2_PppoeFilteredFrameCounter",
+        "Index": 3
+      }
+    }
+  },
+  "90": {
+    "Name": "Physical path termination point video ANI",
+    "Filename": "physicalpathterminationpointvideoani.go",
+    "CamelCase": "PhysicalPathTerminationPointVideoAni",
+    "ClassID": 90,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointVideoAni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointVideoAni_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointVideoAni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointVideoAni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Frequency Range Low",
+        "CamelCase": "FrequencyRangeLow",
+        "Final": "PhysicalPathTerminationPointVideoAni_FrequencyRangeLow",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Frequency Range High",
+        "CamelCase": "FrequencyRangeHigh",
+        "Final": "PhysicalPathTerminationPointVideoAni_FrequencyRangeHigh",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Signal Capability",
+        "CamelCase": "SignalCapability",
+        "Final": "PhysicalPathTerminationPointVideoAni_SignalCapability",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Optical Signal Level",
+        "CamelCase": "OpticalSignalLevel",
+        "Final": "PhysicalPathTerminationPointVideoAni_OpticalSignalLevel",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Pilot Signal Level",
+        "CamelCase": "PilotSignalLevel",
+        "Final": "PhysicalPathTerminationPointVideoAni_PilotSignalLevel",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Signal Level Min",
+        "CamelCase": "SignalLevelMin",
+        "Final": "PhysicalPathTerminationPointVideoAni_SignalLevelMin",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Signal Level Max",
+        "CamelCase": "SignalLevelMax",
+        "Final": "PhysicalPathTerminationPointVideoAni_SignalLevelMax",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Pilot Frequency",
+        "CamelCase": "PilotFrequency",
+        "Final": "PhysicalPathTerminationPointVideoAni_PilotFrequency",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Agc Mode",
+        "CamelCase": "AgcMode",
+        "Final": "PhysicalPathTerminationPointVideoAni_AgcMode",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Agc Setting",
+        "CamelCase": "AgcSetting",
+        "Final": "PhysicalPathTerminationPointVideoAni_AgcSetting",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Video Lower Optical Threshold",
+        "CamelCase": "VideoLowerOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointVideoAni_VideoLowerOpticalThreshold",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Video Upper Optical Threshold",
+        "CamelCase": "VideoUpperOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointVideoAni_VideoUpperOpticalThreshold",
+        "Index": 16
+      }
+    }
+  },
+  "98": {
+    "Name": "Physical path termination point xDSL UNI part 1",
+    "Filename": "physicalpathterminationpointxdslunipart1.go",
+    "CamelCase": "PhysicalPathTerminationPointXdslUniPart1",
+    "ClassID": 98,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Loopback Configuration",
+        "CamelCase": "LoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_LoopbackConfiguration",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_AdministrativeState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_OperationalState",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xdsl Line Configuration Profile",
+        "CamelCase": "XdslLineConfigurationProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslLineConfigurationProfile",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Xdsl Subcarrier Masking Downstream Profile",
+        "CamelCase": "XdslSubcarrierMaskingDownstreamProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingDownstreamProfile",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Xdsl Subcarrier Masking Upstream Profile",
+        "CamelCase": "XdslSubcarrierMaskingUpstreamProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingUpstreamProfile",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xdsl Downstream Power Spectral Density Psd Mask Profile",
+        "CamelCase": "XdslDownstreamPowerSpectralDensityPsdMaskProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamPowerSpectralDensityPsdMaskProfile",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xdsl Downstream Rfi Bands Profile",
+        "CamelCase": "XdslDownstreamRfiBandsProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamRfiBandsProfile",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_Arc",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_ArcInterval",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Modem Type",
+        "CamelCase": "ModemType",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_ModemType",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upstream Psd Mask Profile",
+        "CamelCase": "UpstreamPsdMaskProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_UpstreamPsdMaskProfile",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Network Specific Extensions Pointer",
+        "CamelCase": "NetworkSpecificExtensionsPointer",
+        "Final": "PhysicalPathTerminationPointXdslUniPart1_NetworkSpecificExtensionsPointer",
+        "Index": 13
+      }
+    }
+  },
+  "99": {
+    "Name": "Physical path termination point xDSL UNI part 2",
+    "Filename": "physicalpathterminationpointxdslunipart2.go",
+    "CamelCase": "PhysicalPathTerminationPointXdslUniPart2",
+    "ClassID": 99,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 0 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel0Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Downstream",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 1 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel1Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Downstream",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 2 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel2Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Downstream",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 3 Downstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel3Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Downstream",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 0 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 1 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel1Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Upstream",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 2 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel2Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Upstream",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xdsl Channel Configuration Profile For Bearer Channel 3 Upstream",
+        "CamelCase": "XdslChannelConfigurationProfileForBearerChannel3Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Upstream",
+        "Index": 8
+      }
+    }
+  },
+  "100": {
+    "Name": "xDSL line inventory and status data part 1",
+    "Filename": "xdsllineinventoryandstatusdatapart1.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart1",
+    "ClassID": 100,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Xtu_C G.994.1 Vendor Id",
+        "CamelCase": "XtuCG9941VendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCG9941VendorId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Xtu_R G.994.1 Vendor Id",
+        "CamelCase": "XtuRG9941VendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRG9941VendorId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Xtu_C System Vendor Id",
+        "CamelCase": "XtuCSystemVendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSystemVendorId",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xtu_R System Vendor Id",
+        "CamelCase": "XtuRSystemVendorId",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSystemVendorId",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Xtu_C Version Number",
+        "CamelCase": "XtuCVersionNumber",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCVersionNumber",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Xtu_R Version Number",
+        "CamelCase": "XtuRVersionNumber",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRVersionNumber",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xtu_C Serial Number Part 1",
+        "CamelCase": "XtuCSerialNumberPart1",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart1",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xtu_C Serial Number Part 2",
+        "CamelCase": "XtuCSerialNumberPart2",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart2",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Xtu_R Serial Number Part 1",
+        "CamelCase": "XtuRSerialNumberPart1",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart1",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Xtu_R Serial Number Part 2",
+        "CamelCase": "XtuRSerialNumberPart2",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart2",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Xtu_C Self Test Results",
+        "CamelCase": "XtuCSelfTestResults",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCSelfTestResults",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Xtu_R Self Test Results",
+        "CamelCase": "XtuRSelfTestResults",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRSelfTestResults",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Xtu_C Transmission System Capability",
+        "CamelCase": "XtuCTransmissionSystemCapability",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuCTransmissionSystemCapability",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Xtu_R Transmission System Capability",
+        "CamelCase": "XtuRTransmissionSystemCapability",
+        "Final": "XdslLineInventoryAndStatusDataPart1_XtuRTransmissionSystemCapability",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Initialization Success_Failure Cause",
+        "CamelCase": "InitializationSuccessFailureCause",
+        "Final": "XdslLineInventoryAndStatusDataPart1_InitializationSuccessFailureCause",
+        "Index": 15
+      }
+    }
+  },
+  "101": {
+    "Name": "xDSL line inventory and status data part 2",
+    "Filename": "xdsllineinventoryandstatusdatapart2.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart2",
+    "ClassID": 101,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Xdsl Transmission System",
+        "CamelCase": "XdslTransmissionSystem",
+        "Final": "XdslLineInventoryAndStatusDataPart2_XdslTransmissionSystem",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Line Power Management State",
+        "CamelCase": "LinePowerManagementState",
+        "Final": "XdslLineInventoryAndStatusDataPart2_LinePowerManagementState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Line Attenuation",
+        "CamelCase": "DownstreamLineAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamLineAttenuation",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Line Attenuation",
+        "CamelCase": "UpstreamLineAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamLineAttenuation",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Signal Attenuation",
+        "CamelCase": "DownstreamSignalAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamSignalAttenuation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Signal Attenuation",
+        "CamelCase": "UpstreamSignalAttenuation",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamSignalAttenuation",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Downstream Snr Ratio Margin",
+        "CamelCase": "DownstreamSnrRatioMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamSnrRatioMargin",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upstream Snr Margin",
+        "CamelCase": "UpstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamSnrMargin",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Downstream Maximum Attainable Data Rate",
+        "CamelCase": "DownstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamMaximumAttainableDataRate",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upstream Maximum Attainable Data Rate",
+        "CamelCase": "UpstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamMaximumAttainableDataRate",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Downstream Actual Power Spectrum Density",
+        "CamelCase": "DownstreamActualPowerSpectrumDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamActualPowerSpectrumDensity",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upstream Actual Power Spectrum Density",
+        "CamelCase": "UpstreamActualPowerSpectrumDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamActualPowerSpectrumDensity",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Downstream Actual Aggregate Transmit Power",
+        "CamelCase": "DownstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart2_DownstreamActualAggregateTransmitPower",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Actual Aggregate Transmit Power",
+        "CamelCase": "UpstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart2_UpstreamActualAggregateTransmitPower",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Initialization _ Last State Transmitted Downstream",
+        "CamelCase": "InitializationLastStateTransmittedDownstream",
+        "Final": "XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedDownstream",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Initialization _ Last State Transmitted Upstream",
+        "CamelCase": "InitializationLastStateTransmittedUpstream",
+        "Final": "XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedUpstream",
+        "Index": 16
+      }
+    }
+  },
+  "102": {
+    "Name": "xDSL channel downstream status data",
+    "Filename": "xdslchanneldownstreamstatusdata.go",
+    "CamelCase": "XdslChannelDownstreamStatusData",
+    "ClassID": 102,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Actual Interleaving Delay",
+        "CamelCase": "ActualInterleavingDelay",
+        "Final": "XdslChannelDownstreamStatusData_ActualInterleavingDelay",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Actual Data Rate",
+        "CamelCase": "ActualDataRate",
+        "Final": "XdslChannelDownstreamStatusData_ActualDataRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Previous Data Rate",
+        "CamelCase": "PreviousDataRate",
+        "Final": "XdslChannelDownstreamStatusData_PreviousDataRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Actual Impulse Noise Protection",
+        "CamelCase": "ActualImpulseNoiseProtection",
+        "Final": "XdslChannelDownstreamStatusData_ActualImpulseNoiseProtection",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Actual Size Of Reed_Solomon Codeword",
+        "CamelCase": "ActualSizeOfReedSolomonCodeword",
+        "Final": "XdslChannelDownstreamStatusData_ActualSizeOfReedSolomonCodeword",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actual Number Of Reed_Solomon Redundancy Bytes",
+        "CamelCase": "ActualNumberOfReedSolomonRedundancyBytes",
+        "Final": "XdslChannelDownstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Actual Number Of Bits Per Symbol",
+        "CamelCase": "ActualNumberOfBitsPerSymbol",
+        "Final": "XdslChannelDownstreamStatusData_ActualNumberOfBitsPerSymbol",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Actual Interleaving Depth",
+        "CamelCase": "ActualInterleavingDepth",
+        "Final": "XdslChannelDownstreamStatusData_ActualInterleavingDepth",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Actual Interleaving Block Length",
+        "CamelCase": "ActualInterleavingBlockLength",
+        "Final": "XdslChannelDownstreamStatusData_ActualInterleavingBlockLength",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Actual Latency Path",
+        "CamelCase": "ActualLatencyPath",
+        "Final": "XdslChannelDownstreamStatusData_ActualLatencyPath",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Actual Impulse Noise Protection Against Repetitive Electrical Impulse Noise Actinp_Rein",
+        "CamelCase": "ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein",
+        "Final": "XdslChannelDownstreamStatusData_ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein",
+        "Index": 11
+      }
+    }
+  },
+  "103": {
+    "Name": "xDSL channel upstream status data",
+    "Filename": "xdslchannelupstreamstatusdata.go",
+    "CamelCase": "XdslChannelUpstreamStatusData",
+    "ClassID": 103,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Actual Interleaving Delay",
+        "CamelCase": "ActualInterleavingDelay",
+        "Final": "XdslChannelUpstreamStatusData_ActualInterleavingDelay",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Actual Data Rate",
+        "CamelCase": "ActualDataRate",
+        "Final": "XdslChannelUpstreamStatusData_ActualDataRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Previous Data Rate",
+        "CamelCase": "PreviousDataRate",
+        "Final": "XdslChannelUpstreamStatusData_PreviousDataRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Actual Impulse Noise Protection",
+        "CamelCase": "ActualImpulseNoiseProtection",
+        "Final": "XdslChannelUpstreamStatusData_ActualImpulseNoiseProtection",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Impulse Noise Protection Reporting Mode",
+        "CamelCase": "ImpulseNoiseProtectionReportingMode",
+        "Final": "XdslChannelUpstreamStatusData_ImpulseNoiseProtectionReportingMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actual Size Of Reed_Solomon Codeword",
+        "CamelCase": "ActualSizeOfReedSolomonCodeword",
+        "Final": "XdslChannelUpstreamStatusData_ActualSizeOfReedSolomonCodeword",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Actual Number Of Reed_Solomon Redundancy Bytes",
+        "CamelCase": "ActualNumberOfReedSolomonRedundancyBytes",
+        "Final": "XdslChannelUpstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Actual Number Of Bits Per Symbol",
+        "CamelCase": "ActualNumberOfBitsPerSymbol",
+        "Final": "XdslChannelUpstreamStatusData_ActualNumberOfBitsPerSymbol",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Actual Interleaving Depth",
+        "CamelCase": "ActualInterleavingDepth",
+        "Final": "XdslChannelUpstreamStatusData_ActualInterleavingDepth",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Actual Interleaving Block Length",
+        "CamelCase": "ActualInterleavingBlockLength",
+        "Final": "XdslChannelUpstreamStatusData_ActualInterleavingBlockLength",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Actual Latency Path",
+        "CamelCase": "ActualLatencyPath",
+        "Final": "XdslChannelUpstreamStatusData_ActualLatencyPath",
+        "Index": 11
+      }
+    }
+  },
+  "105": {
+    "Name": "xDSL line configuration profile part 2",
+    "Filename": "xdsllineconfigurationprofilepart2.go",
+    "CamelCase": "XdslLineConfigurationProfilePart2",
+    "ClassID": 105,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Downstream Minimum Time Interval For Upshift Rate Adaptation",
+        "CamelCase": "DownstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Upstream Minimum Time Interval For Upshift Rate Adaptation",
+        "CamelCase": "UpstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForUpshiftRateAdaptation",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Downshift Noise Margin",
+        "CamelCase": "DownstreamDownshiftNoiseMargin",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamDownshiftNoiseMargin",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Downshift Noise Margin",
+        "CamelCase": "UpstreamDownshiftNoiseMargin",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamDownshiftNoiseMargin",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Minimum Time Interval For Downshift Rate Adaptation",
+        "CamelCase": "DownstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Minimum Time Interval For Downshift Rate Adaptation",
+        "CamelCase": "UpstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForDownshiftRateAdaptation",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Xtu Impedance State Forced",
+        "CamelCase": "XtuImpedanceStateForced",
+        "Final": "XdslLineConfigurationProfilePart2_XtuImpedanceStateForced",
+        "Index": 7
+      },
+      "8": {
+        "Name": "L0_Time",
+        "CamelCase": "L0Time",
+        "Final": "XdslLineConfigurationProfilePart2_L0Time",
+        "Index": 8
+      },
+      "9": {
+        "Name": "L2_Time",
+        "CamelCase": "L2Time",
+        "Final": "XdslLineConfigurationProfilePart2_L2Time",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Downstream Maximum Nominal Power Spectral Density",
+        "CamelCase": "DownstreamMaximumNominalPowerSpectralDensity",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMaximumNominalPowerSpectralDensity",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upstream Maximum Nominal Power Spectral Density",
+        "CamelCase": "UpstreamMaximumNominalPowerSpectralDensity",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMaximumNominalPowerSpectralDensity",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Downstream Maximum Nominal Aggregate Transmit Power",
+        "CamelCase": "DownstreamMaximumNominalAggregateTransmitPower",
+        "Final": "XdslLineConfigurationProfilePart2_DownstreamMaximumNominalAggregateTransmitPower",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Upstream Maximum Nominal Aggregate Transmit Power",
+        "CamelCase": "UpstreamMaximumNominalAggregateTransmitPower",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMaximumNominalAggregateTransmitPower",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Maximum Aggregate_Receive Power",
+        "CamelCase": "UpstreamMaximumAggregateReceivePower",
+        "Final": "XdslLineConfigurationProfilePart2_UpstreamMaximumAggregateReceivePower",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Vdsl2 Transmission System Enabling",
+        "CamelCase": "Vdsl2TransmissionSystemEnabling",
+        "Final": "XdslLineConfigurationProfilePart2_Vdsl2TransmissionSystemEnabling",
+        "Index": 15
+      }
+    }
+  },
+  "106": {
+    "Name": "xDSL line configuration profile part 3",
+    "Filename": "xdsllineconfigurationprofilepart3.go",
+    "CamelCase": "XdslLineConfigurationProfilePart3",
+    "ClassID": 106,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Loop Diagnostics Mode Forced Ldsf",
+        "CamelCase": "LoopDiagnosticsModeForcedLdsf",
+        "Final": "XdslLineConfigurationProfilePart3_LoopDiagnosticsModeForcedLdsf",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Automode Cold Start Forced",
+        "CamelCase": "AutomodeColdStartForced",
+        "Final": "XdslLineConfigurationProfilePart3_AutomodeColdStartForced",
+        "Index": 2
+      },
+      "3": {
+        "Name": "L2 Atpr",
+        "CamelCase": "L2Atpr",
+        "Final": "XdslLineConfigurationProfilePart3_L2Atpr",
+        "Index": 3
+      },
+      "4": {
+        "Name": "L2 Atprt",
+        "CamelCase": "L2Atprt",
+        "Final": "XdslLineConfigurationProfilePart3_L2Atprt",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Force Inp Downstream",
+        "CamelCase": "ForceInpDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_ForceInpDownstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Force Inp Upstream",
+        "CamelCase": "ForceInpUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_ForceInpUpstream",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Update Request Flag For Near_End Test Parameters",
+        "CamelCase": "UpdateRequestFlagForNearEndTestParameters",
+        "Final": "XdslLineConfigurationProfilePart3_UpdateRequestFlagForNearEndTestParameters",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Update Request Flag For Far_End Test Parameters",
+        "CamelCase": "UpdateRequestFlagForFarEndTestParameters",
+        "Final": "XdslLineConfigurationProfilePart3_UpdateRequestFlagForFarEndTestParameters",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Inm Inter Arrival Time Offset Upstream",
+        "CamelCase": "InmInterArrivalTimeOffsetUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetUpstream",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Inm Inter_Arrival Time Step Upstream",
+        "CamelCase": "InmInterArrivalTimeStepUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepUpstream",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Inm Cluster Continuation Value Upstream",
+        "CamelCase": "InmClusterContinuationValueUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmClusterContinuationValueUpstream",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Inm Equivalent Inp Mode Upstream",
+        "CamelCase": "InmEquivalentInpModeUpstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmEquivalentInpModeUpstream",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Inm Inter Arrival Time Offset Downstream",
+        "CamelCase": "InmInterArrivalTimeOffsetDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetDownstream",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Inm Inter_Arrival Time Step Downstream",
+        "CamelCase": "InmInterArrivalTimeStepDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepDownstream",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Inm Cluster Continuation Value Downstream",
+        "CamelCase": "InmClusterContinuationValueDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmClusterContinuationValueDownstream",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Inm Equivalent Inp Mode Downstream",
+        "CamelCase": "InmEquivalentInpModeDownstream",
+        "Final": "XdslLineConfigurationProfilePart3_InmEquivalentInpModeDownstream",
+        "Index": 16
+      }
+    }
+  },
+  "107": {
+    "Name": "xDSL channel configuration profile",
+    "Filename": "xdslchannelconfigurationprofile.go",
+    "CamelCase": "XdslChannelConfigurationProfile",
+    "ClassID": 107,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Minimum Data Rate",
+        "CamelCase": "MinimumDataRate",
+        "Final": "XdslChannelConfigurationProfile_MinimumDataRate",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Maximum Data Rate",
+        "CamelCase": "MaximumDataRate",
+        "Final": "XdslChannelConfigurationProfile_MaximumDataRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rate Adaptation Ratio",
+        "CamelCase": "RateAdaptationRatio",
+        "Final": "XdslChannelConfigurationProfile_RateAdaptationRatio",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Maximum Interleaving Delay",
+        "CamelCase": "MaximumInterleavingDelay",
+        "Final": "XdslChannelConfigurationProfile_MaximumInterleavingDelay",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Data Rate Threshold Upshift",
+        "CamelCase": "DataRateThresholdUpshift",
+        "Final": "XdslChannelConfigurationProfile_DataRateThresholdUpshift",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Data Rate Threshold Downshift",
+        "CamelCase": "DataRateThresholdDownshift",
+        "Final": "XdslChannelConfigurationProfile_DataRateThresholdDownshift",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Minimum Reserved Data Rate",
+        "CamelCase": "MinimumReservedDataRate",
+        "Final": "XdslChannelConfigurationProfile_MinimumReservedDataRate",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Minimum Data Rate In Low _ Power State",
+        "CamelCase": "MinimumDataRateInLowPowerState",
+        "Final": "XdslChannelConfigurationProfile_MinimumDataRateInLowPowerState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Minimum Impulse Noise Protection",
+        "CamelCase": "MinimumImpulseNoiseProtection",
+        "Final": "XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Maximum Bit Error Ratio",
+        "CamelCase": "MaximumBitErrorRatio",
+        "Final": "XdslChannelConfigurationProfile_MaximumBitErrorRatio",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Minimum Impulse Noise Protection 8_Khz",
+        "CamelCase": "MinimumImpulseNoiseProtection8Khz",
+        "Final": "XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection8Khz",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Maximum Delay Variation",
+        "CamelCase": "MaximumDelayVariation",
+        "Final": "XdslChannelConfigurationProfile_MaximumDelayVariation",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Channel Initialization Policy Selection",
+        "CamelCase": "ChannelInitializationPolicySelection",
+        "Final": "XdslChannelConfigurationProfile_ChannelInitializationPolicySelection",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Minimum Sos Bit Rate Downstream",
+        "CamelCase": "MinimumSosBitRateDownstream",
+        "Final": "XdslChannelConfigurationProfile_MinimumSosBitRateDownstream",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Minimum Sos Bit Rate Upstream",
+        "CamelCase": "MinimumSosBitRateUpstream",
+        "Final": "XdslChannelConfigurationProfile_MinimumSosBitRateUpstream",
+        "Index": 15
+      }
+    }
+  },
+  "108": {
+    "Name": "xDSL subcarrier masking downstream profile",
+    "Filename": "xdslsubcarriermaskingdownstreamprofile.go",
+    "CamelCase": "XdslSubcarrierMaskingDownstreamProfile",
+    "ClassID": 108,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Downstream Subcarrier Mask 1",
+        "CamelCase": "DownstreamSubcarrierMask1",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask1",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Downstream Subcarrier Mask 2",
+        "CamelCase": "DownstreamSubcarrierMask2",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask2",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Subcarrier Mask 3",
+        "CamelCase": "DownstreamSubcarrierMask3",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask3",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Subcarrier Mask 4",
+        "CamelCase": "DownstreamSubcarrierMask4",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask4",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mask Valid",
+        "CamelCase": "MaskValid",
+        "Final": "XdslSubcarrierMaskingDownstreamProfile_MaskValid",
+        "Index": 5
+      }
+    }
+  },
+  "109": {
+    "Name": "xDSL subcarrier masking upstream profile",
+    "Filename": "xdslsubcarriermaskingupstreamprofile.go",
+    "CamelCase": "XdslSubcarrierMaskingUpstreamProfile",
+    "ClassID": 109,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Upstream Subcarrier Mask",
+        "CamelCase": "UpstreamSubcarrierMask",
+        "Final": "XdslSubcarrierMaskingUpstreamProfile_UpstreamSubcarrierMask",
+        "Index": 1
+      }
+    }
+  },
+  "110": {
+    "Name": "xDSL PSD mask profile",
+    "Filename": "xdslpsdmaskprofile.go",
+    "CamelCase": "XdslPsdMaskProfile",
+    "ClassID": 110,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Psd Mask Table",
+        "CamelCase": "PsdMaskTable",
+        "Final": "XdslPsdMaskProfile_PsdMaskTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Mask Valid",
+        "CamelCase": "MaskValid",
+        "Final": "XdslPsdMaskProfile_MaskValid",
+        "Index": 2
+      }
+    }
+  },
+  "111": {
+    "Name": "xDSL downstream RFI bands profile",
+    "Filename": "xdsldownstreamrfibandsprofile.go",
+    "CamelCase": "XdslDownstreamRfiBandsProfile",
+    "ClassID": 111,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Downstream Rfi Bands Table",
+        "CamelCase": "DownstreamRfiBandsTable",
+        "Final": "XdslDownstreamRfiBandsProfile_DownstreamRfiBandsTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Bands Valid",
+        "CamelCase": "BandsValid",
+        "Final": "XdslDownstreamRfiBandsProfile_BandsValid",
+        "Index": 2
+      }
+    }
+  },
+  "112": {
+    "Name": "xDSL xTU-C performance monitoring history data",
+    "Filename": "xdslxtu-cperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuCPerformanceMonitoringHistoryData",
+    "ClassID": 112,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Loss Of Frame Seconds",
+        "CamelCase": "LossOfFrameSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfFrameSeconds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Loss Of Signal Seconds",
+        "CamelCase": "LossOfSignalSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfSignalSeconds",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Loss Of Link Seconds",
+        "CamelCase": "LossOfLinkSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfLinkSeconds",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Loss Of Power Seconds",
+        "CamelCase": "LossOfPowerSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LossOfPowerSeconds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Errored Seconds Es",
+        "CamelCase": "ErroredSecondsEs",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_ErroredSecondsEs",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Severely Errored Seconds",
+        "CamelCase": "SeverelyErroredSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_SeverelyErroredSeconds",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Line Initializations",
+        "CamelCase": "LineInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_LineInitializations",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Failed Line Initializations",
+        "CamelCase": "FailedLineInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_FailedLineInitializations",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Short Initializations",
+        "CamelCase": "ShortInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_ShortInitializations",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Failed Short Initializations",
+        "CamelCase": "FailedShortInitializations",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_FailedShortInitializations",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Unavailable Seconds",
+        "CamelCase": "UnavailableSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_UnavailableSeconds",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Sos Success Count Near End",
+        "CamelCase": "SosSuccessCountNearEnd",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountNearEnd",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Sos Success Count Far End",
+        "CamelCase": "SosSuccessCountFarEnd",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountFarEnd",
+        "Index": 16
+      }
+    }
+  },
+  "113": {
+    "Name": "xDSL xTU-R performance monitoring history data",
+    "Filename": "xdslxtu-rperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuRPerformanceMonitoringHistoryData",
+    "ClassID": 113,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Loss Of Frame Seconds",
+        "CamelCase": "LossOfFrameSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LossOfFrameSeconds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Loss Of Signal Seconds",
+        "CamelCase": "LossOfSignalSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LossOfSignalSeconds",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Loss Of Power Seconds",
+        "CamelCase": "LossOfPowerSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LossOfPowerSeconds",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Errored Seconds",
+        "CamelCase": "ErroredSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_ErroredSeconds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Severely Errored Seconds",
+        "CamelCase": "SeverelyErroredSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_SeverelyErroredSeconds",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Unavailable Seconds",
+        "CamelCase": "UnavailableSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_UnavailableSeconds",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Leftr Defect Seconds",
+        "CamelCase": "LeftrDefectSeconds",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_LeftrDefectSeconds",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Error_Free Bits Counter",
+        "CamelCase": "ErrorFreeBitsCounter",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_ErrorFreeBitsCounter",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Minimum Error_Free Throughput Mineftr",
+        "CamelCase": "MinimumErrorFreeThroughputMineftr",
+        "Final": "XdslXtuRPerformanceMonitoringHistoryData_MinimumErrorFreeThroughputMineftr",
+        "Index": 12
+      }
+    }
+  },
+  "114": {
+    "Name": "xDSL xTU-C channel performance monitoring history data",
+    "Filename": "xdslxtu-cchannelperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuCChannelPerformanceMonitoringHistoryData",
+    "ClassID": 114,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Blocks",
+        "CamelCase": "CorrectedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_CorrectedBlocks",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Uncorrected Blocks",
+        "CamelCase": "UncorrectedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_UncorrectedBlocks",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Transmitted Blocks",
+        "CamelCase": "TransmittedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_TransmittedBlocks",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Blocks",
+        "CamelCase": "ReceivedBlocks",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_ReceivedBlocks",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Code Violations",
+        "CamelCase": "CodeViolations",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_CodeViolations",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Forward Error Corrections",
+        "CamelCase": "ForwardErrorCorrections",
+        "Final": "XdslXtuCChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections",
+        "Index": 8
+      }
+    }
+  },
+  "115": {
+    "Name": "xDSL xTU-R channel performance monitoring history data",
+    "Filename": "xdslxtu-rchannelperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslXtuRChannelPerformanceMonitoringHistoryData",
+    "ClassID": 115,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Blocks",
+        "CamelCase": "CorrectedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_CorrectedBlocks",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Uncorrected Blocks",
+        "CamelCase": "UncorrectedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_UncorrectedBlocks",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Transmitted Blocks",
+        "CamelCase": "TransmittedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_TransmittedBlocks",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Blocks",
+        "CamelCase": "ReceivedBlocks",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_ReceivedBlocks",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Code Violations",
+        "CamelCase": "CodeViolations",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_CodeViolations",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Forward Error Corrections",
+        "CamelCase": "ForwardErrorCorrections",
+        "Final": "XdslXtuRChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections",
+        "Index": 8
+      }
+    }
+  },
+  "116": {
+    "Name": "TC adaptor performance monitoring history data xDSL",
+    "Filename": "tcadaptorperformancemonitoringhistorydataxdsl.go",
+    "CamelCase": "TcAdaptorPerformanceMonitoringHistoryDataXdsl",
+    "ClassID": 116,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Near_End Hec Violation Count",
+        "CamelCase": "NearEndHecViolationCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndHecViolationCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Near_End Delineated Total Cell Count Cd P",
+        "CamelCase": "NearEndDelineatedTotalCellCountCdP",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndDelineatedTotalCellCountCdP",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Near_End User Total Cell Count Cu_P",
+        "CamelCase": "NearEndUserTotalCellCountCuP",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndUserTotalCellCountCuP",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Near_End Idle Cell Bit Error Count",
+        "CamelCase": "NearEndIdleCellBitErrorCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndIdleCellBitErrorCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Far_End Hec Violation Count",
+        "CamelCase": "FarEndHecViolationCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndHecViolationCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Far_End Delineated Total Cell Count Cd_Pfe",
+        "CamelCase": "FarEndDelineatedTotalCellCountCdPfe",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndDelineatedTotalCellCountCdPfe",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Far_End User Total Cell Count Cu_Pfe",
+        "CamelCase": "FarEndUserTotalCellCountCuPfe",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndUserTotalCellCountCuPfe",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Far_End Idle Cell Bit Error Count",
+        "CamelCase": "FarEndIdleCellBitErrorCount",
+        "Final": "TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndIdleCellBitErrorCount",
+        "Index": 10
+      }
+    }
+  },
+  "130": {
+    "Name": "IEEE 802.1p mapper service profile",
+    "Filename": "ieee802.1pmapperserviceprofile.go",
+    "CamelCase": "Ieee8021PMapperServiceProfile",
+    "ClassID": 130,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tp Pointer",
+        "CamelCase": "TpPointer",
+        "Final": "Ieee8021PMapperServiceProfile_TpPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 0",
+        "CamelCase": "InterworkTpPointerForPBitPriority0",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 1",
+        "CamelCase": "InterworkTpPointerForPBitPriority1",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 2",
+        "CamelCase": "InterworkTpPointerForPBitPriority2",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 3",
+        "CamelCase": "InterworkTpPointerForPBitPriority3",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 4",
+        "CamelCase": "InterworkTpPointerForPBitPriority4",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 5",
+        "CamelCase": "InterworkTpPointerForPBitPriority5",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 6",
+        "CamelCase": "InterworkTpPointerForPBitPriority6",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Interwork Tp Pointer For P_Bit Priority 7",
+        "CamelCase": "InterworkTpPointerForPBitPriority7",
+        "Final": "Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Unmarked Frame Option",
+        "CamelCase": "UnmarkedFrameOption",
+        "Final": "Ieee8021PMapperServiceProfile_UnmarkedFrameOption",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Dscp To P Bit Mapping",
+        "CamelCase": "DscpToPBitMapping",
+        "Final": "Ieee8021PMapperServiceProfile_DscpToPBitMapping",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Default P Bit Assumption",
+        "CamelCase": "DefaultPBitAssumption",
+        "Final": "Ieee8021PMapperServiceProfile_DefaultPBitAssumption",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "Ieee8021PMapperServiceProfile_TpType",
+        "Index": 13
+      }
+    }
+  },
+  "131": {
+    "Name": "OLT-G",
+    "Filename": "olt-g.go",
+    "CamelCase": "OltG",
+    "ClassID": 131,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Olt Vendor Id",
+        "CamelCase": "OltVendorId",
+        "Final": "OltG_OltVendorId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Equipment Id",
+        "CamelCase": "EquipmentId",
+        "Final": "OltG_EquipmentId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "OltG_Version",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Time Of Day Information",
+        "CamelCase": "TimeOfDayInformation",
+        "Final": "OltG_TimeOfDayInformation",
+        "Index": 4
+      }
+    }
+  },
+  "133": {
+    "Name": "ONU power shedding",
+    "Filename": "onupowershedding.go",
+    "CamelCase": "OnuPowerShedding",
+    "ClassID": 133,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Restore Power Timer Reset Interval",
+        "CamelCase": "RestorePowerTimerResetInterval",
+        "Final": "OnuPowerShedding_RestorePowerTimerResetInterval",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Data Class Shedding Interval",
+        "CamelCase": "DataClassSheddingInterval",
+        "Final": "OnuPowerShedding_DataClassSheddingInterval",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Voice Class Shedding Interval",
+        "CamelCase": "VoiceClassSheddingInterval",
+        "Final": "OnuPowerShedding_VoiceClassSheddingInterval",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Video Overlay Class Shedding Interval",
+        "CamelCase": "VideoOverlayClassSheddingInterval",
+        "Final": "OnuPowerShedding_VideoOverlayClassSheddingInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Video Return Class Shedding Interval",
+        "CamelCase": "VideoReturnClassSheddingInterval",
+        "Final": "OnuPowerShedding_VideoReturnClassSheddingInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Digital Subscriber Line Class Shedding Interval",
+        "CamelCase": "DigitalSubscriberLineClassSheddingInterval",
+        "Final": "OnuPowerShedding_DigitalSubscriberLineClassSheddingInterval",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Atm Class Shedding Interval",
+        "CamelCase": "AtmClassSheddingInterval",
+        "Final": "OnuPowerShedding_AtmClassSheddingInterval",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Ces Class Shedding Interval",
+        "CamelCase": "CesClassSheddingInterval",
+        "Final": "OnuPowerShedding_CesClassSheddingInterval",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Frame Class Shedding Interval",
+        "CamelCase": "FrameClassSheddingInterval",
+        "Final": "OnuPowerShedding_FrameClassSheddingInterval",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Sdh_Sonet Class Shedding Interval",
+        "CamelCase": "SdhSonetClassSheddingInterval",
+        "Final": "OnuPowerShedding_SdhSonetClassSheddingInterval",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Shedding Status",
+        "CamelCase": "SheddingStatus",
+        "Final": "OnuPowerShedding_SheddingStatus",
+        "Index": 11
+      }
+    }
+  },
+  "134": {
+    "Name": "IP host config data",
+    "Filename": "iphostconfigdata.go",
+    "CamelCase": "IpHostConfigData",
+    "ClassID": 134,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ip Options",
+        "CamelCase": "IpOptions",
+        "Final": "IpHostConfigData_IpOptions",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Mac Address",
+        "CamelCase": "MacAddress",
+        "Final": "IpHostConfigData_MacAddress",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Onu Identifier",
+        "CamelCase": "OnuIdentifier",
+        "Final": "IpHostConfigData_OnuIdentifier",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ip Address",
+        "CamelCase": "IpAddress",
+        "Final": "IpHostConfigData_IpAddress",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mask",
+        "CamelCase": "Mask",
+        "Final": "IpHostConfigData_Mask",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Gateway",
+        "CamelCase": "Gateway",
+        "Final": "IpHostConfigData_Gateway",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Primary Dns",
+        "CamelCase": "PrimaryDns",
+        "Final": "IpHostConfigData_PrimaryDns",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Secondary Dns",
+        "CamelCase": "SecondaryDns",
+        "Final": "IpHostConfigData_SecondaryDns",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Current Address",
+        "CamelCase": "CurrentAddress",
+        "Final": "IpHostConfigData_CurrentAddress",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Current Mask",
+        "CamelCase": "CurrentMask",
+        "Final": "IpHostConfigData_CurrentMask",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Current Gateway",
+        "CamelCase": "CurrentGateway",
+        "Final": "IpHostConfigData_CurrentGateway",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Current Primary Dns",
+        "CamelCase": "CurrentPrimaryDns",
+        "Final": "IpHostConfigData_CurrentPrimaryDns",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Current Secondary Dns",
+        "CamelCase": "CurrentSecondaryDns",
+        "Final": "IpHostConfigData_CurrentSecondaryDns",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Domain Name",
+        "CamelCase": "DomainName",
+        "Final": "IpHostConfigData_DomainName",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Host Name",
+        "CamelCase": "HostName",
+        "Final": "IpHostConfigData_HostName",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Relay Agent Options",
+        "CamelCase": "RelayAgentOptions",
+        "Final": "IpHostConfigData_RelayAgentOptions",
+        "Index": 16
+      }
+    }
+  },
+  "135": {
+    "Name": "IP host performance monitoring history data",
+    "Filename": "iphostperformancemonitoringhistorydata.go",
+    "CamelCase": "IpHostPerformanceMonitoringHistoryData",
+    "ClassID": 135,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "IpHostPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "IpHostPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Icmp Errors",
+        "CamelCase": "IcmpErrors",
+        "Final": "IpHostPerformanceMonitoringHistoryData_IcmpErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Dns Errors",
+        "CamelCase": "DnsErrors",
+        "Final": "IpHostPerformanceMonitoringHistoryData_DnsErrors",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Dhcp Timeouts",
+        "CamelCase": "DhcpTimeouts",
+        "Final": "IpHostPerformanceMonitoringHistoryData_DhcpTimeouts",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ip Address Conflict",
+        "CamelCase": "IpAddressConflict",
+        "Final": "IpHostPerformanceMonitoringHistoryData_IpAddressConflict",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Out Of Memory",
+        "CamelCase": "OutOfMemory",
+        "Final": "IpHostPerformanceMonitoringHistoryData_OutOfMemory",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Internal Error",
+        "CamelCase": "InternalError",
+        "Final": "IpHostPerformanceMonitoringHistoryData_InternalError",
+        "Index": 8
+      }
+    }
+  },
+  "136": {
+    "Name": "TCP/UDP config data",
+    "Filename": "tcpudpconfigdata.go",
+    "CamelCase": "TcpUdpConfigData",
+    "ClassID": 136,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Port Id",
+        "CamelCase": "PortId",
+        "Final": "TcpUdpConfigData_PortId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Protocol",
+        "CamelCase": "Protocol",
+        "Final": "TcpUdpConfigData_Protocol",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tos_Diffserv Field",
+        "CamelCase": "TosDiffservField",
+        "Final": "TcpUdpConfigData_TosDiffservField",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ip Host Pointer",
+        "CamelCase": "IpHostPointer",
+        "Final": "TcpUdpConfigData_IpHostPointer",
+        "Index": 4
+      }
+    }
+  },
+  "137": {
+    "Name": "Network address",
+    "Filename": "networkaddress.go",
+    "CamelCase": "NetworkAddress",
+    "ClassID": 137,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Security Pointer",
+        "CamelCase": "SecurityPointer",
+        "Final": "NetworkAddress_SecurityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Address Pointer",
+        "CamelCase": "AddressPointer",
+        "Final": "NetworkAddress_AddressPointer",
+        "Index": 2
+      }
+    }
+  },
+  "138": {
+    "Name": "VoIP config data",
+    "Filename": "voipconfigdata.go",
+    "CamelCase": "VoipConfigData",
+    "ClassID": 138,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Available Signalling Protocols",
+        "CamelCase": "AvailableSignallingProtocols",
+        "Final": "VoipConfigData_AvailableSignallingProtocols",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Signalling Protocol Used",
+        "CamelCase": "SignallingProtocolUsed",
+        "Final": "VoipConfigData_SignallingProtocolUsed",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Available Voip Configuration Methods",
+        "CamelCase": "AvailableVoipConfigurationMethods",
+        "Final": "VoipConfigData_AvailableVoipConfigurationMethods",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Voip Configuration Method Used",
+        "CamelCase": "VoipConfigurationMethodUsed",
+        "Final": "VoipConfigData_VoipConfigurationMethodUsed",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Voip Configuration Address Pointer",
+        "CamelCase": "VoipConfigurationAddressPointer",
+        "Final": "VoipConfigData_VoipConfigurationAddressPointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Voip Configuration State",
+        "CamelCase": "VoipConfigurationState",
+        "Final": "VoipConfigData_VoipConfigurationState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Retrieve Profile",
+        "CamelCase": "RetrieveProfile",
+        "Final": "VoipConfigData_RetrieveProfile",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Profile Version",
+        "CamelCase": "ProfileVersion",
+        "Final": "VoipConfigData_ProfileVersion",
+        "Index": 8
+      }
+    }
+  },
+  "139": {
+    "Name": "VoIP voice CTP",
+    "Filename": "voipvoicectp.go",
+    "CamelCase": "VoipVoiceCtp",
+    "ClassID": 139,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "User Protocol Pointer",
+        "CamelCase": "UserProtocolPointer",
+        "Final": "VoipVoiceCtp_UserProtocolPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Pptp Pointer",
+        "CamelCase": "PptpPointer",
+        "Final": "VoipVoiceCtp_PptpPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "V O Ip Media Profile Pointer",
+        "CamelCase": "VOIpMediaProfilePointer",
+        "Final": "VoipVoiceCtp_VOIpMediaProfilePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Signalling Code",
+        "CamelCase": "SignallingCode",
+        "Final": "VoipVoiceCtp_SignallingCode",
+        "Index": 4
+      }
+    }
+  },
+  "140": {
+    "Name": "Call control performance monitoring history data",
+    "Filename": "callcontrolperformancemonitoringhistorydata.go",
+    "CamelCase": "CallControlPerformanceMonitoringHistoryData",
+    "ClassID": 140,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "CallControlPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "CallControlPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Call Setup Failures",
+        "CamelCase": "CallSetupFailures",
+        "Final": "CallControlPerformanceMonitoringHistoryData_CallSetupFailures",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Call Setup Timer",
+        "CamelCase": "CallSetupTimer",
+        "Final": "CallControlPerformanceMonitoringHistoryData_CallSetupTimer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Call Terminate Failures",
+        "CamelCase": "CallTerminateFailures",
+        "Final": "CallControlPerformanceMonitoringHistoryData_CallTerminateFailures",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Analog Port Releases",
+        "CamelCase": "AnalogPortReleases",
+        "Final": "CallControlPerformanceMonitoringHistoryData_AnalogPortReleases",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Analog Port Off_Hook Timer",
+        "CamelCase": "AnalogPortOffHookTimer",
+        "Final": "CallControlPerformanceMonitoringHistoryData_AnalogPortOffHookTimer",
+        "Index": 7
+      }
+    }
+  },
+  "141": {
+    "Name": "VoIP line status",
+    "Filename": "voiplinestatus.go",
+    "CamelCase": "VoipLineStatus",
+    "ClassID": 141,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Voip Codec Used",
+        "CamelCase": "VoipCodecUsed",
+        "Final": "VoipLineStatus_VoipCodecUsed",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Voip Voice Server Status",
+        "CamelCase": "VoipVoiceServerStatus",
+        "Final": "VoipLineStatus_VoipVoiceServerStatus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Voip Port Session Type",
+        "CamelCase": "VoipPortSessionType",
+        "Final": "VoipLineStatus_VoipPortSessionType",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Voip Call 1 Packet Period",
+        "CamelCase": "VoipCall1PacketPeriod",
+        "Final": "VoipLineStatus_VoipCall1PacketPeriod",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Voip Call 2 Packet Period",
+        "CamelCase": "VoipCall2PacketPeriod",
+        "Final": "VoipLineStatus_VoipCall2PacketPeriod",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Voip Call 1 Dest Addr",
+        "CamelCase": "VoipCall1DestAddr",
+        "Final": "VoipLineStatus_VoipCall1DestAddr",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Voip Call 2 Dest Addr",
+        "CamelCase": "VoipCall2DestAddr",
+        "Final": "VoipLineStatus_VoipCall2DestAddr",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Voip Line State",
+        "CamelCase": "VoipLineState",
+        "Final": "VoipLineStatus_VoipLineState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Emergency Call Status",
+        "CamelCase": "EmergencyCallStatus",
+        "Final": "VoipLineStatus_EmergencyCallStatus",
+        "Index": 9
+      }
+    }
+  },
+  "142": {
+    "Name": "VoIP media profile",
+    "Filename": "voipmediaprofile.go",
+    "CamelCase": "VoipMediaProfile",
+    "ClassID": 142,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fax Mode",
+        "CamelCase": "FaxMode",
+        "Final": "VoipMediaProfile_FaxMode",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Voice Service Profile Pointer",
+        "CamelCase": "VoiceServiceProfilePointer",
+        "Final": "VoipMediaProfile_VoiceServiceProfilePointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Codec Selection 1st Order",
+        "CamelCase": "CodecSelection1StOrder",
+        "Final": "VoipMediaProfile_CodecSelection1StOrder",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Packet Period Selection 1st Order",
+        "CamelCase": "PacketPeriodSelection1StOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection1StOrder",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Silence Suppression 1st Order",
+        "CamelCase": "SilenceSuppression1StOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression1StOrder",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Codec Selection 2nd Order",
+        "CamelCase": "CodecSelection2NdOrder",
+        "Final": "VoipMediaProfile_CodecSelection2NdOrder",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Packet Period Selection 2nd Order",
+        "CamelCase": "PacketPeriodSelection2NdOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection2NdOrder",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Silence Suppression 2nd Order",
+        "CamelCase": "SilenceSuppression2NdOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression2NdOrder",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Codec Selection 3rd Order",
+        "CamelCase": "CodecSelection3RdOrder",
+        "Final": "VoipMediaProfile_CodecSelection3RdOrder",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Packet Period Selection 3rd Order",
+        "CamelCase": "PacketPeriodSelection3RdOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection3RdOrder",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Silence Suppression 3rd Order",
+        "CamelCase": "SilenceSuppression3RdOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression3RdOrder",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Codec Selection 4th Order",
+        "CamelCase": "CodecSelection4ThOrder",
+        "Final": "VoipMediaProfile_CodecSelection4ThOrder",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packet Period Selection 4th Order",
+        "CamelCase": "PacketPeriodSelection4ThOrder",
+        "Final": "VoipMediaProfile_PacketPeriodSelection4ThOrder",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Silence Suppression 4th Order",
+        "CamelCase": "SilenceSuppression4ThOrder",
+        "Final": "VoipMediaProfile_SilenceSuppression4ThOrder",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Oob Dtmf",
+        "CamelCase": "OobDtmf",
+        "Final": "VoipMediaProfile_OobDtmf",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Rtp Profile Pointer",
+        "CamelCase": "RtpProfilePointer",
+        "Final": "VoipMediaProfile_RtpProfilePointer",
+        "Index": 16
+      }
+    }
+  },
+  "143": {
+    "Name": "RTP profile data",
+    "Filename": "rtpprofiledata.go",
+    "CamelCase": "RtpProfileData",
+    "ClassID": 143,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Local Port Min",
+        "CamelCase": "LocalPortMin",
+        "Final": "RtpProfileData_LocalPortMin",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Local Port Max",
+        "CamelCase": "LocalPortMax",
+        "Final": "RtpProfileData_LocalPortMax",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Dscp Mark",
+        "CamelCase": "DscpMark",
+        "Final": "RtpProfileData_DscpMark",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Piggyback Events",
+        "CamelCase": "PiggybackEvents",
+        "Final": "RtpProfileData_PiggybackEvents",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tone Events",
+        "CamelCase": "ToneEvents",
+        "Final": "RtpProfileData_ToneEvents",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Dtmf Events",
+        "CamelCase": "DtmfEvents",
+        "Final": "RtpProfileData_DtmfEvents",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Cas Events",
+        "CamelCase": "CasEvents",
+        "Final": "RtpProfileData_CasEvents",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Ip Host Config Pointer",
+        "CamelCase": "IpHostConfigPointer",
+        "Final": "RtpProfileData_IpHostConfigPointer",
+        "Index": 8
+      }
+    }
+  },
+  "144": {
+    "Name": "RTP performance monitoring history data",
+    "Filename": "rtpperformancemonitoringhistorydata.go",
+    "CamelCase": "RtpPerformanceMonitoringHistoryData",
+    "ClassID": 144,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "RtpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "RtpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rtp Errors",
+        "CamelCase": "RtpErrors",
+        "Final": "RtpPerformanceMonitoringHistoryData_RtpErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Packet Loss",
+        "CamelCase": "PacketLoss",
+        "Final": "RtpPerformanceMonitoringHistoryData_PacketLoss",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Jitter",
+        "CamelCase": "MaximumJitter",
+        "Final": "RtpPerformanceMonitoringHistoryData_MaximumJitter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Maximum Time Between Real_Time Transport Control Protocol Rtcp Packets",
+        "CamelCase": "MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets",
+        "Final": "RtpPerformanceMonitoringHistoryData_MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Buffer Underflows",
+        "CamelCase": "BufferUnderflows",
+        "Final": "RtpPerformanceMonitoringHistoryData_BufferUnderflows",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Buffer Overflows",
+        "CamelCase": "BufferOverflows",
+        "Final": "RtpPerformanceMonitoringHistoryData_BufferOverflows",
+        "Index": 8
+      }
+    }
+  },
+  "145": {
+    "Name": "Network dial plan table",
+    "Filename": "networkdialplantable.go",
+    "CamelCase": "NetworkDialPlanTable",
+    "ClassID": 145,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Dial Plan Number",
+        "CamelCase": "DialPlanNumber",
+        "Final": "NetworkDialPlanTable_DialPlanNumber",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Dial Plan Table Max Size",
+        "CamelCase": "DialPlanTableMaxSize",
+        "Final": "NetworkDialPlanTable_DialPlanTableMaxSize",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Critical Dial Timeout",
+        "CamelCase": "CriticalDialTimeout",
+        "Final": "NetworkDialPlanTable_CriticalDialTimeout",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Partial Dial Timeout",
+        "CamelCase": "PartialDialTimeout",
+        "Final": "NetworkDialPlanTable_PartialDialTimeout",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Dial Plan Format",
+        "CamelCase": "DialPlanFormat",
+        "Final": "NetworkDialPlanTable_DialPlanFormat",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Dial Plan Table",
+        "CamelCase": "DialPlanTable",
+        "Final": "NetworkDialPlanTable_DialPlanTable",
+        "Index": 6
+      }
+    }
+  },
+  "146": {
+    "Name": "VoIP application service profile",
+    "Filename": "voipapplicationserviceprofile.go",
+    "CamelCase": "VoipApplicationServiceProfile",
+    "ClassID": 146,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Cid Features",
+        "CamelCase": "CidFeatures",
+        "Final": "VoipApplicationServiceProfile_CidFeatures",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Call Waiting Features",
+        "CamelCase": "CallWaitingFeatures",
+        "Final": "VoipApplicationServiceProfile_CallWaitingFeatures",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Call Progress Or Transfer Features",
+        "CamelCase": "CallProgressOrTransferFeatures",
+        "Final": "VoipApplicationServiceProfile_CallProgressOrTransferFeatures",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Call Presentation Features",
+        "CamelCase": "CallPresentationFeatures",
+        "Final": "VoipApplicationServiceProfile_CallPresentationFeatures",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Direct Connect Feature",
+        "CamelCase": "DirectConnectFeature",
+        "Final": "VoipApplicationServiceProfile_DirectConnectFeature",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Direct Connect Uri Pointer",
+        "CamelCase": "DirectConnectUriPointer",
+        "Final": "VoipApplicationServiceProfile_DirectConnectUriPointer",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Bridged Line Agent Uri Pointer",
+        "CamelCase": "BridgedLineAgentUriPointer",
+        "Final": "VoipApplicationServiceProfile_BridgedLineAgentUriPointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Conference Factory Uri Pointer",
+        "CamelCase": "ConferenceFactoryUriPointer",
+        "Final": "VoipApplicationServiceProfile_ConferenceFactoryUriPointer",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Dial Tone Feature Delay_Warmline Timer New",
+        "CamelCase": "DialToneFeatureDelayWarmlineTimerNew",
+        "Final": "VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Ip Host Pointer",
+        "CamelCase": "IpHostPointer",
+        "Final": "VoipApplicationServiceProfile_IpHostPointer",
+        "Index": 10
+      }
+    }
+  },
+  "147": {
+    "Name": "VoIP feature access codes",
+    "Filename": "voipfeatureaccesscodes.go",
+    "CamelCase": "VoipFeatureAccessCodes",
+    "ClassID": 147,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Cancel Call Waiting",
+        "CamelCase": "CancelCallWaiting",
+        "Final": "VoipFeatureAccessCodes_CancelCallWaiting",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Call Hold",
+        "CamelCase": "CallHold",
+        "Final": "VoipFeatureAccessCodes_CallHold",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Call Park",
+        "CamelCase": "CallPark",
+        "Final": "VoipFeatureAccessCodes_CallPark",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Caller Id Activate",
+        "CamelCase": "CallerIdActivate",
+        "Final": "VoipFeatureAccessCodes_CallerIdActivate",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Caller Id Deactivate",
+        "CamelCase": "CallerIdDeactivate",
+        "Final": "VoipFeatureAccessCodes_CallerIdDeactivate",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Do Not Disturb Activation",
+        "CamelCase": "DoNotDisturbActivation",
+        "Final": "VoipFeatureAccessCodes_DoNotDisturbActivation",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Do Not Disturb Deactivation",
+        "CamelCase": "DoNotDisturbDeactivation",
+        "Final": "VoipFeatureAccessCodes_DoNotDisturbDeactivation",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Do Not Disturb Pin Change",
+        "CamelCase": "DoNotDisturbPinChange",
+        "Final": "VoipFeatureAccessCodes_DoNotDisturbPinChange",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Emergency Service Number",
+        "CamelCase": "EmergencyServiceNumber",
+        "Final": "VoipFeatureAccessCodes_EmergencyServiceNumber",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Intercom Service",
+        "CamelCase": "IntercomService",
+        "Final": "VoipFeatureAccessCodes_IntercomService",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Unattended_Blind Call Transfer",
+        "CamelCase": "UnattendedBlindCallTransfer",
+        "Final": "VoipFeatureAccessCodes_UnattendedBlindCallTransfer",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Attended Call Transfer",
+        "CamelCase": "AttendedCallTransfer",
+        "Final": "VoipFeatureAccessCodes_AttendedCallTransfer",
+        "Index": 12
+      }
+    }
+  },
+  "148": {
+    "Name": "Authentication security method",
+    "Filename": "authenticationsecuritymethod.go",
+    "CamelCase": "AuthenticationSecurityMethod",
+    "ClassID": 148,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Validation Scheme",
+        "CamelCase": "ValidationScheme",
+        "Final": "AuthenticationSecurityMethod_ValidationScheme",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Username 1",
+        "CamelCase": "Username1",
+        "Final": "AuthenticationSecurityMethod_Username1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Password",
+        "CamelCase": "Password",
+        "Final": "AuthenticationSecurityMethod_Password",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Realm",
+        "CamelCase": "Realm",
+        "Final": "AuthenticationSecurityMethod_Realm",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Username 2",
+        "CamelCase": "Username2",
+        "Final": "AuthenticationSecurityMethod_Username2",
+        "Index": 5
+      }
+    }
+  },
+  "149": {
+    "Name": "SIP config portal",
+    "Filename": "sipconfigportal.go",
+    "CamelCase": "SipConfigPortal",
+    "ClassID": 149,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Configuration Text Table",
+        "CamelCase": "ConfigurationTextTable",
+        "Final": "SipConfigPortal_ConfigurationTextTable",
+        "Index": 1
+      }
+    }
+  },
+  "150": {
+    "Name": "SIP agent config data",
+    "Filename": "sipagentconfigdata.go",
+    "CamelCase": "SipAgentConfigData",
+    "ClassID": 150,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Proxy Server Address Pointer",
+        "CamelCase": "ProxyServerAddressPointer",
+        "Final": "SipAgentConfigData_ProxyServerAddressPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Outbound Proxy Address Pointer",
+        "CamelCase": "OutboundProxyAddressPointer",
+        "Final": "SipAgentConfigData_OutboundProxyAddressPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Primary Sip Dns",
+        "CamelCase": "PrimarySipDns",
+        "Final": "SipAgentConfigData_PrimarySipDns",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Secondary Sip Dns",
+        "CamelCase": "SecondarySipDns",
+        "Final": "SipAgentConfigData_SecondarySipDns",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tcp_Udp Pointer",
+        "CamelCase": "TcpUdpPointer",
+        "Final": "SipAgentConfigData_TcpUdpPointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sip Reg Exp Time",
+        "CamelCase": "SipRegExpTime",
+        "Final": "SipAgentConfigData_SipRegExpTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Sip Rereg Head Start Time",
+        "CamelCase": "SipReregHeadStartTime",
+        "Final": "SipAgentConfigData_SipReregHeadStartTime",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Host Part Uri",
+        "CamelCase": "HostPartUri",
+        "Final": "SipAgentConfigData_HostPartUri",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Sip Status",
+        "CamelCase": "SipStatus",
+        "Final": "SipAgentConfigData_SipStatus",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Sip Registrar",
+        "CamelCase": "SipRegistrar",
+        "Final": "SipAgentConfigData_SipRegistrar",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Softswitch",
+        "CamelCase": "Softswitch",
+        "Final": "SipAgentConfigData_Softswitch",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Sip Response Table",
+        "CamelCase": "SipResponseTable",
+        "Final": "SipAgentConfigData_SipResponseTable",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Sip Option Transmit Control",
+        "CamelCase": "SipOptionTransmitControl",
+        "Final": "SipAgentConfigData_SipOptionTransmitControl",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Sip Uri Format",
+        "CamelCase": "SipUriFormat",
+        "Final": "SipAgentConfigData_SipUriFormat",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Redundant Sip Agent Pointer",
+        "CamelCase": "RedundantSipAgentPointer",
+        "Final": "SipAgentConfigData_RedundantSipAgentPointer",
+        "Index": 15
+      }
+    }
+  },
+  "151": {
+    "Name": "SIP agent performance monitoring history data",
+    "Filename": "sipagentperformancemonitoringhistorydata.go",
+    "CamelCase": "SipAgentPerformanceMonitoringHistoryData",
+    "ClassID": 151,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Transactions",
+        "CamelCase": "Transactions",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_Transactions",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rx Invite Reqs",
+        "CamelCase": "RxInviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxInviteReqs",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Invite Retrans",
+        "CamelCase": "RxInviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxInviteRetrans",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Rx Noninvite Reqs",
+        "CamelCase": "RxNoninviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxNoninviteReqs",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Noninvite Retrans",
+        "CamelCase": "RxNoninviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxNoninviteRetrans",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Rx Response",
+        "CamelCase": "RxResponse",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxResponse",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Response Retransmissions",
+        "CamelCase": "RxResponseRetransmissions",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_RxResponseRetransmissions",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Invite Reqs",
+        "CamelCase": "TxInviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxInviteReqs",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tx Invite Retrans",
+        "CamelCase": "TxInviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxInviteRetrans",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Noninvite Reqs",
+        "CamelCase": "TxNoninviteReqs",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxNoninviteReqs",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tx Noninvite Retrans",
+        "CamelCase": "TxNoninviteRetrans",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxNoninviteRetrans",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tx Response",
+        "CamelCase": "TxResponse",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxResponse",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tx Response Retransmissions",
+        "CamelCase": "TxResponseRetransmissions",
+        "Final": "SipAgentPerformanceMonitoringHistoryData_TxResponseRetransmissions",
+        "Index": 15
+      }
+    }
+  },
+  "152": {
+    "Name": "SIP call initiation performance monitoring history data",
+    "Filename": "sipcallinitiationperformancemonitoringhistorydata.go",
+    "CamelCase": "SipCallInitiationPerformanceMonitoringHistoryData",
+    "ClassID": 152,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Failed To Connect Counter",
+        "CamelCase": "FailedToConnectCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailedToConnectCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Failed To Validate Counter",
+        "CamelCase": "FailedToValidateCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailedToValidateCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Timeout Counter",
+        "CamelCase": "TimeoutCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_TimeoutCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Failure Received Counter",
+        "CamelCase": "FailureReceivedCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailureReceivedCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Failed To Authenticate Counter",
+        "CamelCase": "FailedToAuthenticateCounter",
+        "Final": "SipCallInitiationPerformanceMonitoringHistoryData_FailedToAuthenticateCounter",
+        "Index": 7
+      }
+    }
+  },
+  "153": {
+    "Name": "SIP user data",
+    "Filename": "sipuserdata.go",
+    "CamelCase": "SipUserData",
+    "ClassID": 153,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Sip Agent Pointer",
+        "CamelCase": "SipAgentPointer",
+        "Final": "SipUserData_SipAgentPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "User Part Aor",
+        "CamelCase": "UserPartAor",
+        "Final": "SipUserData_UserPartAor",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sip Display Name",
+        "CamelCase": "SipDisplayName",
+        "Final": "SipUserData_SipDisplayName",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Username And Password",
+        "CamelCase": "UsernameAndPassword",
+        "Final": "SipUserData_UsernameAndPassword",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Voicemail Server Sip Uri",
+        "CamelCase": "VoicemailServerSipUri",
+        "Final": "SipUserData_VoicemailServerSipUri",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Voicemail Subscription Expiration Time",
+        "CamelCase": "VoicemailSubscriptionExpirationTime",
+        "Final": "SipUserData_VoicemailSubscriptionExpirationTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Network Dial Plan Pointer",
+        "CamelCase": "NetworkDialPlanPointer",
+        "Final": "SipUserData_NetworkDialPlanPointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Application Services Profile Pointer",
+        "CamelCase": "ApplicationServicesProfilePointer",
+        "Final": "SipUserData_ApplicationServicesProfilePointer",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Feature Code Pointer",
+        "CamelCase": "FeatureCodePointer",
+        "Final": "SipUserData_FeatureCodePointer",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Pptp Pointer",
+        "CamelCase": "PptpPointer",
+        "Final": "SipUserData_PptpPointer",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Release Timer",
+        "CamelCase": "ReleaseTimer",
+        "Final": "SipUserData_ReleaseTimer",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Receiver Off Hook Roh Timer",
+        "CamelCase": "ReceiverOffHookRohTimer",
+        "Final": "SipUserData_ReceiverOffHookRohTimer",
+        "Index": 12
+      }
+    }
+  },
+  "154": {
+    "Name": "MGC config portal",
+    "Filename": "mgcconfigportal.go",
+    "CamelCase": "MgcConfigPortal",
+    "ClassID": 154,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Configuration Text Table",
+        "CamelCase": "ConfigurationTextTable",
+        "Final": "MgcConfigPortal_ConfigurationTextTable",
+        "Index": 1
+      }
+    }
+  },
+  "155": {
+    "Name": "MGC config data",
+    "Filename": "mgcconfigdata.go",
+    "CamelCase": "MgcConfigData",
+    "ClassID": 155,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Primary Mgc",
+        "CamelCase": "PrimaryMgc",
+        "Final": "MgcConfigData_PrimaryMgc",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Secondary Mgc",
+        "CamelCase": "SecondaryMgc",
+        "Final": "MgcConfigData_SecondaryMgc",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tcp_Udp Pointer",
+        "CamelCase": "TcpUdpPointer",
+        "Final": "MgcConfigData_TcpUdpPointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "MgcConfigData_Version",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Message Format",
+        "CamelCase": "MessageFormat",
+        "Final": "MgcConfigData_MessageFormat",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Maximum Retry Time",
+        "CamelCase": "MaximumRetryTime",
+        "Final": "MgcConfigData_MaximumRetryTime",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Maximum Retry Attempts",
+        "CamelCase": "MaximumRetryAttempts",
+        "Final": "MgcConfigData_MaximumRetryAttempts",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Service Change Delay",
+        "CamelCase": "ServiceChangeDelay",
+        "Final": "MgcConfigData_ServiceChangeDelay",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Termination Id Base",
+        "CamelCase": "TerminationIdBase",
+        "Final": "MgcConfigData_TerminationIdBase",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Softswitch",
+        "CamelCase": "Softswitch",
+        "Final": "MgcConfigData_Softswitch",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Message Id Pointer",
+        "CamelCase": "MessageIdPointer",
+        "Final": "MgcConfigData_MessageIdPointer",
+        "Index": 11
+      }
+    }
+  },
+  "156": {
+    "Name": "MGC performance monitoring history data",
+    "Filename": "mgcperformancemonitoringhistorydata.go",
+    "CamelCase": "MgcPerformanceMonitoringHistoryData",
+    "ClassID": 156,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MgcPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MgcPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Received Messages",
+        "CamelCase": "ReceivedMessages",
+        "Final": "MgcPerformanceMonitoringHistoryData_ReceivedMessages",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Received Octets",
+        "CamelCase": "ReceivedOctets",
+        "Final": "MgcPerformanceMonitoringHistoryData_ReceivedOctets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Sent Messages",
+        "CamelCase": "SentMessages",
+        "Final": "MgcPerformanceMonitoringHistoryData_SentMessages",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sent Octets",
+        "CamelCase": "SentOctets",
+        "Final": "MgcPerformanceMonitoringHistoryData_SentOctets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Protocol Errors",
+        "CamelCase": "ProtocolErrors",
+        "Final": "MgcPerformanceMonitoringHistoryData_ProtocolErrors",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Transport Losses",
+        "CamelCase": "TransportLosses",
+        "Final": "MgcPerformanceMonitoringHistoryData_TransportLosses",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Last Detected Event",
+        "CamelCase": "LastDetectedEvent",
+        "Final": "MgcPerformanceMonitoringHistoryData_LastDetectedEvent",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Last Detected Event Time",
+        "CamelCase": "LastDetectedEventTime",
+        "Final": "MgcPerformanceMonitoringHistoryData_LastDetectedEventTime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Last Detected Reset Time",
+        "CamelCase": "LastDetectedResetTime",
+        "Final": "MgcPerformanceMonitoringHistoryData_LastDetectedResetTime",
+        "Index": 11
+      }
+    }
+  },
+  "157": {
+    "Name": "Large string",
+    "Filename": "largestring.go",
+    "CamelCase": "LargeString",
+    "ClassID": 157,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Number Of Parts",
+        "CamelCase": "NumberOfParts",
+        "Final": "LargeString_NumberOfParts",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Part 1",
+        "CamelCase": "Part1",
+        "Final": "LargeString_Part1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Part 2",
+        "CamelCase": "Part2",
+        "Final": "LargeString_Part2",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Part 3",
+        "CamelCase": "Part3",
+        "Final": "LargeString_Part3",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Part 4",
+        "CamelCase": "Part4",
+        "Final": "LargeString_Part4",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Part 5",
+        "CamelCase": "Part5",
+        "Final": "LargeString_Part5",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Part 6",
+        "CamelCase": "Part6",
+        "Final": "LargeString_Part6",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Part 7",
+        "CamelCase": "Part7",
+        "Final": "LargeString_Part7",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Part 8",
+        "CamelCase": "Part8",
+        "Final": "LargeString_Part8",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Part 9",
+        "CamelCase": "Part9",
+        "Final": "LargeString_Part9",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Part 10",
+        "CamelCase": "Part10",
+        "Final": "LargeString_Part10",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Part 11",
+        "CamelCase": "Part11",
+        "Final": "LargeString_Part11",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Part 12",
+        "CamelCase": "Part12",
+        "Final": "LargeString_Part12",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Part 13",
+        "CamelCase": "Part13",
+        "Final": "LargeString_Part13",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Part 14",
+        "CamelCase": "Part14",
+        "Final": "LargeString_Part14",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Part 15",
+        "CamelCase": "Part15",
+        "Final": "LargeString_Part15",
+        "Index": 16
+      }
+    }
+  },
+  "158": {
+    "Name": "ONU remote debug",
+    "Filename": "onuremotedebug.go",
+    "CamelCase": "OnuRemoteDebug",
+    "ClassID": 158,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Command Format",
+        "CamelCase": "CommandFormat",
+        "Final": "OnuRemoteDebug_CommandFormat",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Command",
+        "CamelCase": "Command",
+        "Final": "OnuRemoteDebug_Command",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Reply Table",
+        "CamelCase": "ReplyTable",
+        "Final": "OnuRemoteDebug_ReplyTable",
+        "Index": 3
+      }
+    }
+  },
+  "160": {
+    "Name": "Equipment extension package",
+    "Filename": "equipmentextensionpackage.go",
+    "CamelCase": "EquipmentExtensionPackage",
+    "ClassID": 160,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Environmental Sense",
+        "CamelCase": "EnvironmentalSense",
+        "Final": "EquipmentExtensionPackage_EnvironmentalSense",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Contact Closure Output",
+        "CamelCase": "ContactClosureOutput",
+        "Final": "EquipmentExtensionPackage_ContactClosureOutput",
+        "Index": 2
+      }
+    }
+  },
+  "162": {
+    "Name": "Physical path termination point MoCA UNI",
+    "Filename": "physicalpathterminationpointmocauni.go",
+    "CamelCase": "PhysicalPathTerminationPointMocaUni",
+    "ClassID": 162,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Loopback Configuration",
+        "CamelCase": "LoopbackConfiguration",
+        "Final": "PhysicalPathTerminationPointMocaUni_LoopbackConfiguration",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointMocaUni_AdministrativeState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointMocaUni_OperationalState",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Max Frame Size",
+        "CamelCase": "MaxFrameSize",
+        "Final": "PhysicalPathTerminationPointMocaUni_MaxFrameSize",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointMocaUni_Arc",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointMocaUni_ArcInterval",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Pppoe Filter",
+        "CamelCase": "PppoeFilter",
+        "Final": "PhysicalPathTerminationPointMocaUni_PppoeFilter",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Network Status",
+        "CamelCase": "NetworkStatus",
+        "Final": "PhysicalPathTerminationPointMocaUni_NetworkStatus",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Password",
+        "CamelCase": "Password",
+        "Final": "PhysicalPathTerminationPointMocaUni_Password",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Privacy Enabled",
+        "CamelCase": "PrivacyEnabled",
+        "Final": "PhysicalPathTerminationPointMocaUni_PrivacyEnabled",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Minimum Bandwidth Alarm Threshold",
+        "CamelCase": "MinimumBandwidthAlarmThreshold",
+        "Final": "PhysicalPathTerminationPointMocaUni_MinimumBandwidthAlarmThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Frequency Mask",
+        "CamelCase": "FrequencyMask",
+        "Final": "PhysicalPathTerminationPointMocaUni_FrequencyMask",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Rf Channel",
+        "CamelCase": "RfChannel",
+        "Final": "PhysicalPathTerminationPointMocaUni_RfChannel",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Last Operational Frequency",
+        "CamelCase": "LastOperationalFrequency",
+        "Final": "PhysicalPathTerminationPointMocaUni_LastOperationalFrequency",
+        "Index": 14
+      }
+    }
+  },
+  "163": {
+    "Name": "MoCA Ethernet performance monitoring history data",
+    "Filename": "mocaethernetperformancemonitoringhistorydata.go",
+    "CamelCase": "MocaEthernetPerformanceMonitoringHistoryData",
+    "ClassID": 163,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Incoming Unicast Packets",
+        "CamelCase": "IncomingUnicastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingUnicastPackets",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Incoming Discarded Packets",
+        "CamelCase": "IncomingDiscardedPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingDiscardedPackets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Incoming Errored Packets",
+        "CamelCase": "IncomingErroredPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingErroredPackets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Incoming Unknown Packets",
+        "CamelCase": "IncomingUnknownPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingUnknownPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Incoming Multicast Packets",
+        "CamelCase": "IncomingMulticastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingMulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Incoming Broadcast Packets",
+        "CamelCase": "IncomingBroadcastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingBroadcastPackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Incoming Octets",
+        "CamelCase": "IncomingOctets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_IncomingOctets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Outgoing Unicast Packets",
+        "CamelCase": "OutgoingUnicastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnicastPackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Outgoing Discarded Packets",
+        "CamelCase": "OutgoingDiscardedPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingDiscardedPackets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Outgoing Errored Packets",
+        "CamelCase": "OutgoingErroredPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingErroredPackets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Outgoing Unknown Packets",
+        "CamelCase": "OutgoingUnknownPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnknownPackets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Outgoing Multicast Packets",
+        "CamelCase": "OutgoingMulticastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingMulticastPackets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Outgoing Broadcast Packets",
+        "CamelCase": "OutgoingBroadcastPackets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingBroadcastPackets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Outgoing Octets",
+        "CamelCase": "OutgoingOctets",
+        "Final": "MocaEthernetPerformanceMonitoringHistoryData_OutgoingOctets",
+        "Index": 16
+      }
+    }
+  },
+  "164": {
+    "Name": "MoCA interface performance monitoring history data",
+    "Filename": "mocainterfaceperformancemonitoringhistorydata.go",
+    "CamelCase": "MocaInterfacePerformanceMonitoringHistoryData",
+    "ClassID": 164,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Phy T X Broadcast Rate",
+        "CamelCase": "PhyTXBroadcastRate",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_PhyTXBroadcastRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Node Table",
+        "CamelCase": "NodeTable",
+        "Final": "MocaInterfacePerformanceMonitoringHistoryData_NodeTable",
+        "Index": 4
+      }
+    }
+  },
+  "165": {
+    "Name": "VDSL2 line configuration extensions",
+    "Filename": "vdsl2lineconfigurationextensions.go",
+    "CamelCase": "Vdsl2LineConfigurationExtensions",
+    "ClassID": 165,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vdsl2 Profiles Enabling",
+        "CamelCase": "Vdsl2ProfilesEnabling",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2ProfilesEnabling",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vdsl2 Psd Mask Class Selection Classmask",
+        "CamelCase": "Vdsl2PsdMaskClassSelectionClassmask",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2PsdMaskClassSelectionClassmask",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Vdsl2 Limit Psd Masks",
+        "CamelCase": "Vdsl2LimitPsdMasks",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2LimitPsdMasks",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Vdsl2 Us0 Disabling",
+        "CamelCase": "Vdsl2Us0Disabling",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2Us0Disabling",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Vdsl2 Us0 Psd Masks",
+        "CamelCase": "Vdsl2Us0PsdMasks",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2Us0PsdMasks",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Vdsl2_Carmask Table",
+        "CamelCase": "Vdsl2CarmaskTable",
+        "Final": "Vdsl2LineConfigurationExtensions_Vdsl2CarmaskTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Carmask Valid",
+        "CamelCase": "CarmaskValid",
+        "Final": "Vdsl2LineConfigurationExtensions_CarmaskValid",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upboshaped",
+        "CamelCase": "Upboshaped",
+        "Final": "Vdsl2LineConfigurationExtensions_Upboshaped",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Cyclic Extension",
+        "CamelCase": "CyclicExtension",
+        "Final": "Vdsl2LineConfigurationExtensions_CyclicExtension",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Downstream Signal_To_Noise Ratio Snr Mode",
+        "CamelCase": "DownstreamSignalToNoiseRatioSnrMode",
+        "Final": "Vdsl2LineConfigurationExtensions_DownstreamSignalToNoiseRatioSnrMode",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upstream Snr Mode",
+        "CamelCase": "UpstreamSnrMode",
+        "Final": "Vdsl2LineConfigurationExtensions_UpstreamSnrMode",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Transmitter Referred Virtual Noise Downstream Table",
+        "CamelCase": "TransmitterReferredVirtualNoiseDownstreamTable",
+        "Final": "Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseDownstreamTable",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Transmitter Referred Virtual Noise Upstream Table",
+        "CamelCase": "TransmitterReferredVirtualNoiseUpstreamTable",
+        "Final": "Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseUpstreamTable",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Dpboshaped",
+        "CamelCase": "Dpboshaped",
+        "Final": "Vdsl2LineConfigurationExtensions_Dpboshaped",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Upboklref_Pb",
+        "CamelCase": "UpboklrefPb",
+        "Final": "Vdsl2LineConfigurationExtensions_UpboklrefPb",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Upboshaped Aele_Mode Upboelmt",
+        "CamelCase": "UpboshapedAeleModeUpboelmt",
+        "Final": "Vdsl2LineConfigurationExtensions_UpboshapedAeleModeUpboelmt",
+        "Index": 16
+      }
+    }
+  },
+  "168": {
+    "Name": "VDSL2 line inventory and status data part 1",
+    "Filename": "vdsl2lineinventoryandstatusdatapart1.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart1",
+    "ClassID": 168,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vdsl2 Transmission System Capability Xtu C",
+        "CamelCase": "Vdsl2TransmissionSystemCapabilityXtuC",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystemCapabilityXtuC",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vdsl2 Transmission System",
+        "CamelCase": "Vdsl2TransmissionSystem",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystem",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Vdsl2 Profile",
+        "CamelCase": "Vdsl2Profile",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Profile",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Vdsl2 Limit Psd Mask And Bandplan",
+        "CamelCase": "Vdsl2LimitPsdMaskAndBandplan",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2LimitPsdMaskAndBandplan",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Vdsl2 Us0 Psd Mask",
+        "CamelCase": "Vdsl2Us0PsdMask",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Us0PsdMask",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actsnrmodeds",
+        "CamelCase": "Actsnrmodeds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Actsnrmodeds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Hlingds",
+        "CamelCase": "Hlingds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Hlingds",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Hloggds",
+        "CamelCase": "Hloggds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Hloggds",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Qlngds",
+        "CamelCase": "Qlngds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Qlngds",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Snrgds",
+        "CamelCase": "Snrgds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Snrgds",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Mrefpsdds Table",
+        "CamelCase": "MrefpsddsTable",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_MrefpsddsTable",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Trellisds",
+        "CamelCase": "Trellisds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_Trellisds",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Actual Rate Adaptation Mode Downstream",
+        "CamelCase": "ActualRateAdaptationModeDownstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_ActualRateAdaptationModeDownstream",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Actual Impulse Noise Protection Robust Operations Channel Roc Downstream",
+        "CamelCase": "ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Snr Margin Roc Downstream",
+        "CamelCase": "SnrMarginRocDownstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart1_SnrMarginRocDownstream",
+        "Index": 15
+      }
+    }
+  },
+  "169": {
+    "Name": "VDSL2 line inventory and status data part 2",
+    "Filename": "vdsl2lineinventoryandstatusdatapart2.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart2",
+    "ClassID": 169,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vdsl2 Transmission System Capability Xtu_R",
+        "CamelCase": "Vdsl2TransmissionSystemCapabilityXtuR",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Vdsl2TransmissionSystemCapabilityXtuR",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Actsnrmodeus",
+        "CamelCase": "Actsnrmodeus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Actsnrmodeus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upbokle",
+        "CamelCase": "Upbokle",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Upbokle",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Hlingus",
+        "CamelCase": "Hlingus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Hlingus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Hloggus",
+        "CamelCase": "Hloggus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Hloggus",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Qlngus",
+        "CamelCase": "Qlngus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Qlngus",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Snrgus",
+        "CamelCase": "Snrgus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Snrgus",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Mrefpsdus Table",
+        "CamelCase": "MrefpsdusTable",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_MrefpsdusTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Trellisus",
+        "CamelCase": "Trellisus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Trellisus",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Actualce",
+        "CamelCase": "Actualce",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_Actualce",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upbokle_R",
+        "CamelCase": "UpbokleR",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_UpbokleR",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Actual Rate Adaptation Mode Upstream",
+        "CamelCase": "ActualRateAdaptationModeUpstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_ActualRateAdaptationModeUpstream",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Actual Impulse Noise Protection Roc Upstream",
+        "CamelCase": "ActualImpulseNoiseProtectionRocUpstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_ActualImpulseNoiseProtectionRocUpstream",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Snr Margin Roc Upstream",
+        "CamelCase": "SnrMarginRocUpstream",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart2_SnrMarginRocUpstream",
+        "Index": 14
+      }
+    }
+  },
+  "170": {
+    "Name": "VDSL2 line inventory and status data part 3",
+    "Filename": "vdsl2lineinventoryandstatusdatapart3.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart3",
+    "ClassID": 170,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Upstream Bands Count",
+        "CamelCase": "UpstreamBandsCount",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamBandsCount",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Downstream Bands Count",
+        "CamelCase": "DownstreamBandsCount",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamBandsCount",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Line Attenuation Per Band",
+        "CamelCase": "DownstreamLineAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationPerBand",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Line Attenuation Per Band",
+        "CamelCase": "UpstreamLineAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationPerBand",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Signal Attenuation Per Band",
+        "CamelCase": "DownstreamSignalAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationPerBand",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Signal Attenuation Per Band",
+        "CamelCase": "UpstreamSignalAttenuationPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationPerBand",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Downstream Snr Margin Per Band",
+        "CamelCase": "DownstreamSnrMarginPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginPerBand",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upstream Snr Margin Per Band",
+        "CamelCase": "UpstreamSnrMarginPerBand",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginPerBand",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Downstream Line Attenuation Extension",
+        "CamelCase": "DownstreamLineAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationExtension",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upstream Line Attenuation Extension",
+        "CamelCase": "UpstreamLineAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationExtension",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Downstream Signal Attenuation Extension",
+        "CamelCase": "DownstreamSignalAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationExtension",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upstream Signal Attenuation Extension",
+        "CamelCase": "UpstreamSignalAttenuationExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationExtension",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Downstream Snr Margin Extension",
+        "CamelCase": "DownstreamSnrMarginExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginExtension",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Snr Margin Extension",
+        "CamelCase": "UpstreamSnrMarginExtension",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginExtension",
+        "Index": 14
+      }
+    }
+  },
+  "171": {
+    "Name": "Extended VLAN tagging operation configuration data",
+    "Filename": "extendedvlantaggingoperationconfigurationdata.go",
+    "CamelCase": "ExtendedVlanTaggingOperationConfigurationData",
+    "ClassID": 171,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Association Type",
+        "CamelCase": "AssociationType",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_AssociationType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Received Frame Vlan Tagging Operation Table Max Size",
+        "CamelCase": "ReceivedFrameVlanTaggingOperationTableMaxSize",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTableMaxSize",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Input Tpid",
+        "CamelCase": "InputTpid",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_InputTpid",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Output Tpid",
+        "CamelCase": "OutputTpid",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_OutputTpid",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Mode",
+        "CamelCase": "DownstreamMode",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_DownstreamMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Frame Vlan Tagging Operation Table",
+        "CamelCase": "ReceivedFrameVlanTaggingOperationTable",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Associated Me Pointer",
+        "CamelCase": "AssociatedMePointer",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Dscp To P Bit Mapping",
+        "CamelCase": "DscpToPBitMapping",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_DscpToPBitMapping",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Enhanced Mode",
+        "CamelCase": "EnhancedMode",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_EnhancedMode",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Enhanced Received Frame Classification And Processing Table",
+        "CamelCase": "EnhancedReceivedFrameClassificationAndProcessingTable",
+        "Final": "ExtendedVlanTaggingOperationConfigurationData_EnhancedReceivedFrameClassificationAndProcessingTable",
+        "Index": 10
+      }
+    }
+  },
+  "256": {
+    "Name": "ONU-G",
+    "Filename": "onu-g.go",
+    "CamelCase": "OnuG",
+    "ClassID": 256,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vendor Id",
+        "CamelCase": "VendorId",
+        "Final": "OnuG_VendorId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Version",
+        "CamelCase": "Version",
+        "Final": "OnuG_Version",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Serial Number",
+        "CamelCase": "SerialNumber",
+        "Final": "OnuG_SerialNumber",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Traffic Management Option",
+        "CamelCase": "TrafficManagementOption",
+        "Final": "OnuG_TrafficManagementOption",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "OnuG_Deprecated",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Battery Backup",
+        "CamelCase": "BatteryBackup",
+        "Final": "OnuG_BatteryBackup",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "OnuG_AdministrativeState",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "OnuG_OperationalState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Onu Survival Time",
+        "CamelCase": "OnuSurvivalTime",
+        "Final": "OnuG_OnuSurvivalTime",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Logical Onu Id",
+        "CamelCase": "LogicalOnuId",
+        "Final": "OnuG_LogicalOnuId",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Logical Password",
+        "CamelCase": "LogicalPassword",
+        "Final": "OnuG_LogicalPassword",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Credentials Status",
+        "CamelCase": "CredentialsStatus",
+        "Final": "OnuG_CredentialsStatus",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Extended Tc_Layer Options",
+        "CamelCase": "ExtendedTcLayerOptions",
+        "Final": "OnuG_ExtendedTcLayerOptions",
+        "Index": 13
+      }
+    }
+  },
+  "257": {
+    "Name": "ONU2-G",
+    "Filename": "onu2-g.go",
+    "CamelCase": "Onu2G",
+    "ClassID": 257,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Equipment Id",
+        "CamelCase": "EquipmentId",
+        "Final": "Onu2G_EquipmentId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Optical Network Unit Management And Control Channel Omcc Version",
+        "CamelCase": "OpticalNetworkUnitManagementAndControlChannelOmccVersion",
+        "Final": "Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Vendor Product Code",
+        "CamelCase": "VendorProductCode",
+        "Final": "Onu2G_VendorProductCode",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Security Capability",
+        "CamelCase": "SecurityCapability",
+        "Final": "Onu2G_SecurityCapability",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Security Mode",
+        "CamelCase": "SecurityMode",
+        "Final": "Onu2G_SecurityMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Priority Queue Number",
+        "CamelCase": "TotalPriorityQueueNumber",
+        "Final": "Onu2G_TotalPriorityQueueNumber",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Total Traffic Scheduler Number",
+        "CamelCase": "TotalTrafficSchedulerNumber",
+        "Final": "Onu2G_TotalTrafficSchedulerNumber",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "Onu2G_Deprecated",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Total Gem Port_Id Number",
+        "CamelCase": "TotalGemPortIdNumber",
+        "Final": "Onu2G_TotalGemPortIdNumber",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Sysuptime",
+        "CamelCase": "Sysuptime",
+        "Final": "Onu2G_Sysuptime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Connectivity Capability",
+        "CamelCase": "ConnectivityCapability",
+        "Final": "Onu2G_ConnectivityCapability",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Current Connectivity Mode",
+        "CamelCase": "CurrentConnectivityMode",
+        "Final": "Onu2G_CurrentConnectivityMode",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Quality Of Service Qos Configuration Flexibility",
+        "CamelCase": "QualityOfServiceQosConfigurationFlexibility",
+        "Final": "Onu2G_QualityOfServiceQosConfigurationFlexibility",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Priority Queue Scale Factor",
+        "CamelCase": "PriorityQueueScaleFactor",
+        "Final": "Onu2G_PriorityQueueScaleFactor",
+        "Index": 14
+      }
+    }
+  },
+  "262": {
+    "Name": "T-CONT",
+    "Filename": "t-cont.go",
+    "CamelCase": "TCont",
+    "ClassID": 262,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Alloc_Id",
+        "CamelCase": "AllocId",
+        "Final": "TCont_AllocId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "TCont_Deprecated",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Policy",
+        "CamelCase": "Policy",
+        "Final": "TCont_Policy",
+        "Index": 3
+      }
+    }
+  },
+  "263": {
+    "Name": "ANI-G",
+    "Filename": "ani-g.go",
+    "CamelCase": "AniG",
+    "ClassID": 263,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Sr Indication",
+        "CamelCase": "SrIndication",
+        "Final": "AniG_SrIndication",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Total TCont Number",
+        "CamelCase": "TotalTcontNumber",
+        "Final": "AniG_TotalTcontNumber",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Gem Block Length",
+        "CamelCase": "GemBlockLength",
+        "Final": "AniG_GemBlockLength",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Piggyback Dba Reporting",
+        "CamelCase": "PiggybackDbaReporting",
+        "Final": "AniG_PiggybackDbaReporting",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "AniG_Deprecated",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Signal Fail Threshold",
+        "CamelCase": "SignalFailThreshold",
+        "Final": "AniG_SignalFailThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Signal Degrade Threshold",
+        "CamelCase": "SignalDegradeThreshold",
+        "Final": "AniG_SignalDegradeThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "AniG_Arc",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "AniG_ArcInterval",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Optical Signal Level",
+        "CamelCase": "OpticalSignalLevel",
+        "Final": "AniG_OpticalSignalLevel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Lower Optical Threshold",
+        "CamelCase": "LowerOpticalThreshold",
+        "Final": "AniG_LowerOpticalThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upper Optical Threshold",
+        "CamelCase": "UpperOpticalThreshold",
+        "Final": "AniG_UpperOpticalThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Onu Response Time",
+        "CamelCase": "OnuResponseTime",
+        "Final": "AniG_OnuResponseTime",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Transmit Optical Level",
+        "CamelCase": "TransmitOpticalLevel",
+        "Final": "AniG_TransmitOpticalLevel",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Lower Transmit Power Threshold",
+        "CamelCase": "LowerTransmitPowerThreshold",
+        "Final": "AniG_LowerTransmitPowerThreshold",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Upper Transmit Power Threshold",
+        "CamelCase": "UpperTransmitPowerThreshold",
+        "Final": "AniG_UpperTransmitPowerThreshold",
+        "Index": 16
+      }
+    }
+  },
+  "264": {
+    "Name": "UNI-G",
+    "Filename": "uni-g.go",
+    "CamelCase": "UniG",
+    "ClassID": 264,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Deprecated",
+        "CamelCase": "Deprecated",
+        "Final": "UniG_Deprecated",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "UniG_AdministrativeState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Management Capability",
+        "CamelCase": "ManagementCapability",
+        "Final": "UniG_ManagementCapability",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Non_Omci Management Identifier",
+        "CamelCase": "NonOmciManagementIdentifier",
+        "Final": "UniG_NonOmciManagementIdentifier",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Relay Agent Options",
+        "CamelCase": "RelayAgentOptions",
+        "Final": "UniG_RelayAgentOptions",
+        "Index": 5
+      }
+    }
+  },
+  "266": {
+    "Name": "GEM interworking termination point",
+    "Filename": "geminterworkingterminationpoint.go",
+    "CamelCase": "GemInterworkingTerminationPoint",
+    "ClassID": 266,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Gem Port Network Ctp Connectivity Pointer",
+        "CamelCase": "GemPortNetworkCtpConnectivityPointer",
+        "Final": "GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Interworking Option",
+        "CamelCase": "InterworkingOption",
+        "Final": "GemInterworkingTerminationPoint_InterworkingOption",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Service Profile Pointer",
+        "CamelCase": "ServiceProfilePointer",
+        "Final": "GemInterworkingTerminationPoint_ServiceProfilePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Interworking Termination Point Pointer",
+        "CamelCase": "InterworkingTerminationPointPointer",
+        "Final": "GemInterworkingTerminationPoint_InterworkingTerminationPointPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Pptp Counter",
+        "CamelCase": "PptpCounter",
+        "Final": "GemInterworkingTerminationPoint_PptpCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "GemInterworkingTerminationPoint_OperationalState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Gal Profile Pointer",
+        "CamelCase": "GalProfilePointer",
+        "Final": "GemInterworkingTerminationPoint_GalProfilePointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Gal Loopback Configuration",
+        "CamelCase": "GalLoopbackConfiguration",
+        "Final": "GemInterworkingTerminationPoint_GalLoopbackConfiguration",
+        "Index": 8
+      }
+    }
+  },
+  "268": {
+    "Name": "GEM port network CTP",
+    "Filename": "gemportnetworkctp.go",
+    "CamelCase": "GemPortNetworkCtp",
+    "ClassID": 268,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Port_Id",
+        "CamelCase": "PortId",
+        "Final": "GemPortNetworkCtp_PortId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "T_Cont Pointer",
+        "CamelCase": "TContPointer",
+        "Final": "GemPortNetworkCtp_TContPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Direction",
+        "CamelCase": "Direction",
+        "Final": "GemPortNetworkCtp_Direction",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Traffic Management Pointer For Upstream",
+        "CamelCase": "TrafficManagementPointerForUpstream",
+        "Final": "GemPortNetworkCtp_TrafficManagementPointerForUpstream",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Traffic Descriptor Profile Pointer For Upstream",
+        "CamelCase": "TrafficDescriptorProfilePointerForUpstream",
+        "Final": "GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Uni Counter",
+        "CamelCase": "UniCounter",
+        "Final": "GemPortNetworkCtp_UniCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Priority Queue Pointer For Down Stream",
+        "CamelCase": "PriorityQueuePointerForDownStream",
+        "Final": "GemPortNetworkCtp_PriorityQueuePointerForDownStream",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Encryption State",
+        "CamelCase": "EncryptionState",
+        "Final": "GemPortNetworkCtp_EncryptionState",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Traffic Descriptor Profile Pointer For Downstream",
+        "CamelCase": "TrafficDescriptorProfilePointerForDownstream",
+        "Final": "GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Encryption Key Ring",
+        "CamelCase": "EncryptionKeyRing",
+        "Final": "GemPortNetworkCtp_EncryptionKeyRing",
+        "Index": 10
+      }
+    }
+  },
+  "269": {
+    "Name": "VP network CTP",
+    "Filename": "vpnetworkctp.go",
+    "CamelCase": "VpNetworkCtp",
+    "ClassID": 269,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vpi Value",
+        "CamelCase": "VpiValue",
+        "Final": "VpNetworkCtp_VpiValue",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Uni Pointer",
+        "CamelCase": "UniPointer",
+        "Final": "VpNetworkCtp_UniPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Direction",
+        "CamelCase": "Direction",
+        "Final": "VpNetworkCtp_Direction",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Deprecated 1",
+        "CamelCase": "Deprecated1",
+        "Final": "VpNetworkCtp_Deprecated1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Deprecated 2",
+        "CamelCase": "Deprecated2",
+        "Final": "VpNetworkCtp_Deprecated2",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Deprecated 3",
+        "CamelCase": "Deprecated3",
+        "Final": "VpNetworkCtp_Deprecated3",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Deprecated 4",
+        "CamelCase": "Deprecated4",
+        "Final": "VpNetworkCtp_Deprecated4",
+        "Index": 7
+      }
+    }
+  },
+  "272": {
+    "Name": "GAL Ethernet profile",
+    "Filename": "galethernetprofile.go",
+    "CamelCase": "GalEthernetProfile",
+    "ClassID": 272,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Maximum Gem Payload Size",
+        "CamelCase": "MaximumGemPayloadSize",
+        "Final": "GalEthernetProfile_MaximumGemPayloadSize",
+        "Index": 1
+      }
+    }
+  },
+  "273": {
+    "Name": "Threshold data 1",
+    "Filename": "thresholddata1.go",
+    "CamelCase": "ThresholdData1",
+    "ClassID": 273,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Threshold Value_1",
+        "CamelCase": "ThresholdValue1",
+        "Final": "ThresholdData1_ThresholdValue1",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Value_2",
+        "CamelCase": "ThresholdValue2",
+        "Final": "ThresholdData1_ThresholdValue2",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Threshold Value_3",
+        "CamelCase": "ThresholdValue3",
+        "Final": "ThresholdData1_ThresholdValue3",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Threshold Value_4",
+        "CamelCase": "ThresholdValue4",
+        "Final": "ThresholdData1_ThresholdValue4",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Threshold Value_5",
+        "CamelCase": "ThresholdValue5",
+        "Final": "ThresholdData1_ThresholdValue5",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Threshold Value_6",
+        "CamelCase": "ThresholdValue6",
+        "Final": "ThresholdData1_ThresholdValue6",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Threshold Value_7",
+        "CamelCase": "ThresholdValue7",
+        "Final": "ThresholdData1_ThresholdValue7",
+        "Index": 7
+      }
+    }
+  },
+  "274": {
+    "Name": "Threshold data 2",
+    "Filename": "thresholddata2.go",
+    "CamelCase": "ThresholdData2",
+    "ClassID": 274,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Threshold Value_8",
+        "CamelCase": "ThresholdValue8",
+        "Final": "ThresholdData2_ThresholdValue8",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Value_9",
+        "CamelCase": "ThresholdValue9",
+        "Final": "ThresholdData2_ThresholdValue9",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Threshold Value_10",
+        "CamelCase": "ThresholdValue10",
+        "Final": "ThresholdData2_ThresholdValue10",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Threshold Value_11",
+        "CamelCase": "ThresholdValue11",
+        "Final": "ThresholdData2_ThresholdValue11",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Threshold Value_12",
+        "CamelCase": "ThresholdValue12",
+        "Final": "ThresholdData2_ThresholdValue12",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Threshold Value_13",
+        "CamelCase": "ThresholdValue13",
+        "Final": "ThresholdData2_ThresholdValue13",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Threshold Value_14",
+        "CamelCase": "ThresholdValue14",
+        "Final": "ThresholdData2_ThresholdValue14",
+        "Index": 7
+      }
+    }
+  },
+  "276": {
+    "Name": "GAL Ethernet performance monitoring history data",
+    "Filename": "galethernetperformancemonitoringhistorydata.go",
+    "CamelCase": "GalEthernetPerformanceMonitoringHistoryData",
+    "ClassID": 276,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "GalEthernetPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "GalEthernetPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Discarded Frames",
+        "CamelCase": "DiscardedFrames",
+        "Final": "GalEthernetPerformanceMonitoringHistoryData_DiscardedFrames",
+        "Index": 3
+      }
+    }
+  },
+  "277": {
+    "Name": "Priority queue",
+    "Filename": "priorityqueue.go",
+    "CamelCase": "PriorityQueue",
+    "ClassID": 277,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Queue Configuration Option",
+        "CamelCase": "QueueConfigurationOption",
+        "Final": "PriorityQueue_QueueConfigurationOption",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Maximum Queue Size",
+        "CamelCase": "MaximumQueueSize",
+        "Final": "PriorityQueue_MaximumQueueSize",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Allocated Queue Size",
+        "CamelCase": "AllocatedQueueSize",
+        "Final": "PriorityQueue_AllocatedQueueSize",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Discard_Block Counter Reset Interval",
+        "CamelCase": "DiscardBlockCounterResetInterval",
+        "Final": "PriorityQueue_DiscardBlockCounterResetInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Threshold Value For Discarded Blocks Due To Buffer Overflow",
+        "CamelCase": "ThresholdValueForDiscardedBlocksDueToBufferOverflow",
+        "Final": "PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Related Port",
+        "CamelCase": "RelatedPort",
+        "Final": "PriorityQueue_RelatedPort",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Traffic Scheduler Pointer",
+        "CamelCase": "TrafficSchedulerPointer",
+        "Final": "PriorityQueue_TrafficSchedulerPointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Weight",
+        "CamelCase": "Weight",
+        "Final": "PriorityQueue_Weight",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Back Pressure Operation",
+        "CamelCase": "BackPressureOperation",
+        "Final": "PriorityQueue_BackPressureOperation",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Back Pressure Time",
+        "CamelCase": "BackPressureTime",
+        "Final": "PriorityQueue_BackPressureTime",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Back Pressure Occur Queue Threshold",
+        "CamelCase": "BackPressureOccurQueueThreshold",
+        "Final": "PriorityQueue_BackPressureOccurQueueThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Back Pressure Clear Queue Threshold",
+        "CamelCase": "BackPressureClearQueueThreshold",
+        "Final": "PriorityQueue_BackPressureClearQueueThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packet Drop Queue Thresholds",
+        "CamelCase": "PacketDropQueueThresholds",
+        "Final": "PriorityQueue_PacketDropQueueThresholds",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packet Drop Max_P",
+        "CamelCase": "PacketDropMaxP",
+        "Final": "PriorityQueue_PacketDropMaxP",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Queue Drop W_Q",
+        "CamelCase": "QueueDropWQ",
+        "Final": "PriorityQueue_QueueDropWQ",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Drop Precedence Colour Marking",
+        "CamelCase": "DropPrecedenceColourMarking",
+        "Final": "PriorityQueue_DropPrecedenceColourMarking",
+        "Index": 16
+      }
+    }
+  },
+  "278": {
+    "Name": "Traffic scheduler",
+    "Filename": "trafficscheduler.go",
+    "CamelCase": "TrafficScheduler",
+    "ClassID": 278,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "T_Cont Pointer",
+        "CamelCase": "TContPointer",
+        "Final": "TrafficScheduler_TContPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Traffic Scheduler Pointer",
+        "CamelCase": "TrafficSchedulerPointer",
+        "Final": "TrafficScheduler_TrafficSchedulerPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Policy",
+        "CamelCase": "Policy",
+        "Final": "TrafficScheduler_Policy",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Priority_Weight",
+        "CamelCase": "PriorityWeight",
+        "Final": "TrafficScheduler_PriorityWeight",
+        "Index": 4
+      }
+    }
+  },
+  "280": {
+    "Name": "Traffic descriptor",
+    "Filename": "trafficdescriptor.go",
+    "CamelCase": "TrafficDescriptor",
+    "ClassID": 280,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Cir",
+        "CamelCase": "Cir",
+        "Final": "TrafficDescriptor_Cir",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Pir",
+        "CamelCase": "Pir",
+        "Final": "TrafficDescriptor_Pir",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Cbs",
+        "CamelCase": "Cbs",
+        "Final": "TrafficDescriptor_Cbs",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Pbs",
+        "CamelCase": "Pbs",
+        "Final": "TrafficDescriptor_Pbs",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Colour Mode",
+        "CamelCase": "ColourMode",
+        "Final": "TrafficDescriptor_ColourMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ingress Colour Marking",
+        "CamelCase": "IngressColourMarking",
+        "Final": "TrafficDescriptor_IngressColourMarking",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Egress Colour Marking",
+        "CamelCase": "EgressColourMarking",
+        "Final": "TrafficDescriptor_EgressColourMarking",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Meter Type",
+        "CamelCase": "MeterType",
+        "Final": "TrafficDescriptor_MeterType",
+        "Index": 8
+      }
+    }
+  },
+  "281": {
+    "Name": "Multicast GEM interworking termination point",
+    "Filename": "multicastgeminterworkingterminationpoint.go",
+    "CamelCase": "MulticastGemInterworkingTerminationPoint",
+    "ClassID": 281,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Gem Port Network Ctp Connectivity Pointer",
+        "CamelCase": "GemPortNetworkCtpConnectivityPointer",
+        "Final": "MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Interworking Option",
+        "CamelCase": "InterworkingOption",
+        "Final": "MulticastGemInterworkingTerminationPoint_InterworkingOption",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Service Profile Pointer",
+        "CamelCase": "ServiceProfilePointer",
+        "Final": "MulticastGemInterworkingTerminationPoint_ServiceProfilePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Not Used 1",
+        "CamelCase": "NotUsed1",
+        "Final": "MulticastGemInterworkingTerminationPoint_NotUsed1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Pptp Counter",
+        "CamelCase": "PptpCounter",
+        "Final": "MulticastGemInterworkingTerminationPoint_PptpCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "MulticastGemInterworkingTerminationPoint_OperationalState",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Gal Profile Pointer",
+        "CamelCase": "GalProfilePointer",
+        "Final": "MulticastGemInterworkingTerminationPoint_GalProfilePointer",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Not Used 2",
+        "CamelCase": "NotUsed2",
+        "Final": "MulticastGemInterworkingTerminationPoint_NotUsed2",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Ipv4 Multicast Address Table",
+        "CamelCase": "Ipv4MulticastAddressTable",
+        "Final": "MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Ipv6 Multicast Address Table",
+        "CamelCase": "Ipv6MulticastAddressTable",
+        "Final": "MulticastGemInterworkingTerminationPoint_Ipv6MulticastAddressTable",
+        "Index": 10
+      }
+    }
+  },
+  "282": {
+    "Name": "Pseudowire termination point",
+    "Filename": "pseudowireterminationpoint.go",
+    "CamelCase": "PseudowireTerminationPoint",
+    "ClassID": 282,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Underlying Transport",
+        "CamelCase": "UnderlyingTransport",
+        "Final": "PseudowireTerminationPoint_UnderlyingTransport",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Service Type",
+        "CamelCase": "ServiceType",
+        "Final": "PseudowireTerminationPoint_ServiceType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Signalling",
+        "CamelCase": "Signalling",
+        "Final": "PseudowireTerminationPoint_Signalling",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tdm Uni Pointer",
+        "CamelCase": "TdmUniPointer",
+        "Final": "PseudowireTerminationPoint_TdmUniPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "North_Side Pointer",
+        "CamelCase": "NorthSidePointer",
+        "Final": "PseudowireTerminationPoint_NorthSidePointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Far_End Ip Info",
+        "CamelCase": "FarEndIpInfo",
+        "Final": "PseudowireTerminationPoint_FarEndIpInfo",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Payload Size",
+        "CamelCase": "PayloadSize",
+        "Final": "PseudowireTerminationPoint_PayloadSize",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Payload Encapsulation Delay",
+        "CamelCase": "PayloadEncapsulationDelay",
+        "Final": "PseudowireTerminationPoint_PayloadEncapsulationDelay",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Timing Mode",
+        "CamelCase": "TimingMode",
+        "Final": "PseudowireTerminationPoint_TimingMode",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Transmit Circuit Id",
+        "CamelCase": "TransmitCircuitId",
+        "Final": "PseudowireTerminationPoint_TransmitCircuitId",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Expected Circuit Id",
+        "CamelCase": "ExpectedCircuitId",
+        "Final": "PseudowireTerminationPoint_ExpectedCircuitId",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Received Circuit Id",
+        "CamelCase": "ReceivedCircuitId",
+        "Final": "PseudowireTerminationPoint_ReceivedCircuitId",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Exception Policy",
+        "CamelCase": "ExceptionPolicy",
+        "Final": "PseudowireTerminationPoint_ExceptionPolicy",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PseudowireTerminationPoint_Arc",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PseudowireTerminationPoint_ArcInterval",
+        "Index": 15
+      }
+    }
+  },
+  "283": {
+    "Name": "RTP pseudowire parameters",
+    "Filename": "rtppseudowireparameters.go",
+    "CamelCase": "RtpPseudowireParameters",
+    "ClassID": 283,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Clock Reference",
+        "CamelCase": "ClockReference",
+        "Final": "RtpPseudowireParameters_ClockReference",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Rtp Timestamp Mode",
+        "CamelCase": "RtpTimestampMode",
+        "Final": "RtpPseudowireParameters_RtpTimestampMode",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ptype",
+        "CamelCase": "Ptype",
+        "Final": "RtpPseudowireParameters_Ptype",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Ssrc",
+        "CamelCase": "Ssrc",
+        "Final": "RtpPseudowireParameters_Ssrc",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Expected Ptype",
+        "CamelCase": "ExpectedPtype",
+        "Final": "RtpPseudowireParameters_ExpectedPtype",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Expected Ssrc",
+        "CamelCase": "ExpectedSsrc",
+        "Final": "RtpPseudowireParameters_ExpectedSsrc",
+        "Index": 6
+      }
+    }
+  },
+  "284": {
+    "Name": "Pseudowire maintenance profile",
+    "Filename": "pseudowiremaintenanceprofile.go",
+    "CamelCase": "PseudowireMaintenanceProfile",
+    "ClassID": 284,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Jitter Buffer Maximum Depth",
+        "CamelCase": "JitterBufferMaximumDepth",
+        "Final": "PseudowireMaintenanceProfile_JitterBufferMaximumDepth",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Jitter Buffer Desired Depth",
+        "CamelCase": "JitterBufferDesiredDepth",
+        "Final": "PseudowireMaintenanceProfile_JitterBufferDesiredDepth",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fill Policy",
+        "CamelCase": "FillPolicy",
+        "Final": "PseudowireMaintenanceProfile_FillPolicy",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Misconnected Packets Declaration Policy",
+        "CamelCase": "MisconnectedPacketsDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_MisconnectedPacketsDeclarationPolicy",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Misconnected Packets Clear Policy",
+        "CamelCase": "MisconnectedPacketsClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_MisconnectedPacketsClearPolicy",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Loss Of Packets Declaration Policy",
+        "CamelCase": "LossOfPacketsDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_LossOfPacketsDeclarationPolicy",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Loss Of Packets Clear Policy",
+        "CamelCase": "LossOfPacketsClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_LossOfPacketsClearPolicy",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Buffer Overrun_Underrun Declaration Policy",
+        "CamelCase": "BufferOverrunUnderrunDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_BufferOverrunUnderrunDeclarationPolicy",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Buffer Overrun_Underrun Clear Policy",
+        "CamelCase": "BufferOverrunUnderrunClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_BufferOverrunUnderrunClearPolicy",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Malformed Packets Declaration Policy",
+        "CamelCase": "MalformedPacketsDeclarationPolicy",
+        "Final": "PseudowireMaintenanceProfile_MalformedPacketsDeclarationPolicy",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Malformed Packets Clear Policy",
+        "CamelCase": "MalformedPacketsClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_MalformedPacketsClearPolicy",
+        "Index": 11
+      },
+      "12": {
+        "Name": "R_Bit Transmit Set Policy",
+        "CamelCase": "RBitTransmitSetPolicy",
+        "Final": "PseudowireMaintenanceProfile_RBitTransmitSetPolicy",
+        "Index": 12
+      },
+      "13": {
+        "Name": "R_Bit Transmit Clear Policy",
+        "CamelCase": "RBitTransmitClearPolicy",
+        "Final": "PseudowireMaintenanceProfile_RBitTransmitClearPolicy",
+        "Index": 13
+      },
+      "14": {
+        "Name": "R_Bit Receive Policy",
+        "CamelCase": "RBitReceivePolicy",
+        "Final": "PseudowireMaintenanceProfile_RBitReceivePolicy",
+        "Index": 14
+      },
+      "15": {
+        "Name": "L Bit Receive Policy",
+        "CamelCase": "LBitReceivePolicy",
+        "Final": "PseudowireMaintenanceProfile_LBitReceivePolicy",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Ses Threshold",
+        "CamelCase": "SesThreshold",
+        "Final": "PseudowireMaintenanceProfile_SesThreshold",
+        "Index": 16
+      }
+    }
+  },
+  "285": {
+    "Name": "Pseudowire performance monitoring history data",
+    "Filename": "pseudowireperformancemonitoringhistorydata.go",
+    "CamelCase": "PseudowirePerformanceMonitoringHistoryData",
+    "ClassID": 285,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Received Packets",
+        "CamelCase": "ReceivedPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_ReceivedPackets",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Transmitted Packets",
+        "CamelCase": "TransmittedPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_TransmittedPackets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Missing Packets",
+        "CamelCase": "MissingPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MissingPackets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Misordered Packets Usable",
+        "CamelCase": "MisorderedPacketsUsable",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsUsable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Misordered Packets Dropped",
+        "CamelCase": "MisorderedPacketsDropped",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsDropped",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Playout Buffer Underruns_Overruns",
+        "CamelCase": "PlayoutBufferUnderrunsOverruns",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_PlayoutBufferUnderrunsOverruns",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Malformed Packets",
+        "CamelCase": "MalformedPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_MalformedPackets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Stray Packets",
+        "CamelCase": "StrayPackets",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_StrayPackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Remote Packet Loss",
+        "CamelCase": "RemotePacketLoss",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_RemotePacketLoss",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tdm L_Bit Packets Transmitted",
+        "CamelCase": "TdmLBitPacketsTransmitted",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_TdmLBitPacketsTransmitted",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Es",
+        "CamelCase": "Es",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_Es",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Ses",
+        "CamelCase": "Ses",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_Ses",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Uas",
+        "CamelCase": "Uas",
+        "Final": "PseudowirePerformanceMonitoringHistoryData_Uas",
+        "Index": 15
+      }
+    }
+  },
+  "286": {
+    "Name": "Ethernet flow termination point",
+    "Filename": "ethernetflowterminationpoint.go",
+    "CamelCase": "EthernetFlowTerminationPoint",
+    "ClassID": 286,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Destination Mac",
+        "CamelCase": "DestinationMac",
+        "Final": "EthernetFlowTerminationPoint_DestinationMac",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Source Mac",
+        "CamelCase": "SourceMac",
+        "Final": "EthernetFlowTerminationPoint_SourceMac",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tag Policy",
+        "CamelCase": "TagPolicy",
+        "Final": "EthernetFlowTerminationPoint_TagPolicy",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tci",
+        "CamelCase": "Tci",
+        "Final": "EthernetFlowTerminationPoint_Tci",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Loopback",
+        "CamelCase": "Loopback",
+        "Final": "EthernetFlowTerminationPoint_Loopback",
+        "Index": 5
+      }
+    }
+  },
+  "287": {
+    "Name": "OMCI",
+    "Filename": "omci.go",
+    "CamelCase": "Omci",
+    "ClassID": 287,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Me Type Table",
+        "CamelCase": "MeTypeTable",
+        "Final": "Omci_MeTypeTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Message Type Table",
+        "CamelCase": "MessageTypeTable",
+        "Final": "Omci_MessageTypeTable",
+        "Index": 2
+      }
+    }
+  },
+  "288": {
+    "Name": "Managed entity ME",
+    "Filename": "managedentityme.go",
+    "CamelCase": "ManagedEntityMe",
+    "ClassID": 288,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Name",
+        "CamelCase": "Name",
+        "Final": "ManagedEntityMe_Name",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Attributes Table",
+        "CamelCase": "AttributesTable",
+        "Final": "ManagedEntityMe_AttributesTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Access",
+        "CamelCase": "Access",
+        "Final": "ManagedEntityMe_Access",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Alarms Table",
+        "CamelCase": "AlarmsTable",
+        "Final": "ManagedEntityMe_AlarmsTable",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Avcs Table",
+        "CamelCase": "AvcsTable",
+        "Final": "ManagedEntityMe_AvcsTable",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actions",
+        "CamelCase": "Actions",
+        "Final": "ManagedEntityMe_Actions",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Instances Table",
+        "CamelCase": "InstancesTable",
+        "Final": "ManagedEntityMe_InstancesTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Support",
+        "CamelCase": "Support",
+        "Final": "ManagedEntityMe_Support",
+        "Index": 8
+      }
+    }
+  },
+  "289": {
+    "Name": "Attribute ME",
+    "Filename": "attributeme.go",
+    "CamelCase": "AttributeMe",
+    "ClassID": 289,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Name",
+        "CamelCase": "Name",
+        "Final": "AttributeMe_Name",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Size",
+        "CamelCase": "Size",
+        "Final": "AttributeMe_Size",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Access",
+        "CamelCase": "Access",
+        "Final": "AttributeMe_Access",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Format",
+        "CamelCase": "Format",
+        "Final": "AttributeMe_Format",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Lower Limit",
+        "CamelCase": "LowerLimit",
+        "Final": "AttributeMe_LowerLimit",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upper Limit",
+        "CamelCase": "UpperLimit",
+        "Final": "AttributeMe_UpperLimit",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Bit Field",
+        "CamelCase": "BitField",
+        "Final": "AttributeMe_BitField",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Code Points Table",
+        "CamelCase": "CodePointsTable",
+        "Final": "AttributeMe_CodePointsTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Support",
+        "CamelCase": "Support",
+        "Final": "AttributeMe_Support",
+        "Index": 9
+      }
+    }
+  },
+  "290": {
+    "Name": "Dot1X port extension package",
+    "Filename": "dot1xportextensionpackage.go",
+    "CamelCase": "Dot1XPortExtensionPackage",
+    "ClassID": 290,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Dot1X Enable",
+        "CamelCase": "Dot1XEnable",
+        "Final": "Dot1XPortExtensionPackage_Dot1XEnable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Action Register",
+        "CamelCase": "ActionRegister",
+        "Final": "Dot1XPortExtensionPackage_ActionRegister",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Authenticator Pae State",
+        "CamelCase": "AuthenticatorPaeState",
+        "Final": "Dot1XPortExtensionPackage_AuthenticatorPaeState",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Backend Authentication State",
+        "CamelCase": "BackendAuthenticationState",
+        "Final": "Dot1XPortExtensionPackage_BackendAuthenticationState",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Admin Controlled Directions",
+        "CamelCase": "AdminControlledDirections",
+        "Final": "Dot1XPortExtensionPackage_AdminControlledDirections",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Operational Controlled Directions",
+        "CamelCase": "OperationalControlledDirections",
+        "Final": "Dot1XPortExtensionPackage_OperationalControlledDirections",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Authenticator Controlled Port Status",
+        "CamelCase": "AuthenticatorControlledPortStatus",
+        "Final": "Dot1XPortExtensionPackage_AuthenticatorControlledPortStatus",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Quiet Period",
+        "CamelCase": "QuietPeriod",
+        "Final": "Dot1XPortExtensionPackage_QuietPeriod",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Server Timeout Period",
+        "CamelCase": "ServerTimeoutPeriod",
+        "Final": "Dot1XPortExtensionPackage_ServerTimeoutPeriod",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Re_Authentication Period",
+        "CamelCase": "ReAuthenticationPeriod",
+        "Final": "Dot1XPortExtensionPackage_ReAuthenticationPeriod",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Re_Authentication Enabled",
+        "CamelCase": "ReAuthenticationEnabled",
+        "Final": "Dot1XPortExtensionPackage_ReAuthenticationEnabled",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Key Transmission Enabled",
+        "CamelCase": "KeyTransmissionEnabled",
+        "Final": "Dot1XPortExtensionPackage_KeyTransmissionEnabled",
+        "Index": 12
+      }
+    }
+  },
+  "291": {
+    "Name": "Dot1X configuration profile",
+    "Filename": "dot1xconfigurationprofile.go",
+    "CamelCase": "Dot1XConfigurationProfile",
+    "ClassID": 291,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Circuit Id Prefix",
+        "CamelCase": "CircuitIdPrefix",
+        "Final": "Dot1XConfigurationProfile_CircuitIdPrefix",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Fallback Policy",
+        "CamelCase": "FallbackPolicy",
+        "Final": "Dot1XConfigurationProfile_FallbackPolicy",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Auth Server 1",
+        "CamelCase": "AuthServer1",
+        "Final": "Dot1XConfigurationProfile_AuthServer1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Shared Secret Auth1",
+        "CamelCase": "SharedSecretAuth1",
+        "Final": "Dot1XConfigurationProfile_SharedSecretAuth1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Auth Server 2",
+        "CamelCase": "AuthServer2",
+        "Final": "Dot1XConfigurationProfile_AuthServer2",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Shared Secret Auth2",
+        "CamelCase": "SharedSecretAuth2",
+        "Final": "Dot1XConfigurationProfile_SharedSecretAuth2",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Auth Server 3",
+        "CamelCase": "AuthServer3",
+        "Final": "Dot1XConfigurationProfile_AuthServer3",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Shared Secret Auth3",
+        "CamelCase": "SharedSecretAuth3",
+        "Final": "Dot1XConfigurationProfile_SharedSecretAuth3",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Olt Proxy Address",
+        "CamelCase": "OltProxyAddress",
+        "Final": "Dot1XConfigurationProfile_OltProxyAddress",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Calling Station Id Format",
+        "CamelCase": "CallingStationIdFormat",
+        "Final": "Dot1XConfigurationProfile_CallingStationIdFormat",
+        "Index": 10
+      }
+    }
+  },
+  "292": {
+    "Name": "Dot1X performance monitoring history data",
+    "Filename": "dot1xperformancemonitoringhistorydata.go",
+    "CamelCase": "Dot1XPerformanceMonitoringHistoryData",
+    "ClassID": 292,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Eapol Frames Received",
+        "CamelCase": "EapolFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolFramesReceived",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Eapol Frames Transmitted",
+        "CamelCase": "EapolFramesTransmitted",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolFramesTransmitted",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Eapol Start Frames Received",
+        "CamelCase": "EapolStartFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolStartFramesReceived",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Eapol Logoff Frames Received",
+        "CamelCase": "EapolLogoffFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapolLogoffFramesReceived",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Invalid Eapol Frames Received",
+        "CamelCase": "InvalidEapolFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_InvalidEapolFramesReceived",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Eap Resp_Id Frames Received",
+        "CamelCase": "EapRespIdFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapRespIdFramesReceived",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Eap Response Frames Received",
+        "CamelCase": "EapResponseFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapResponseFramesReceived",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Eap Initial Request Frames Transmitted",
+        "CamelCase": "EapInitialRequestFramesTransmitted",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapInitialRequestFramesTransmitted",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Eap Request Frames Transmitted",
+        "CamelCase": "EapRequestFramesTransmitted",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapRequestFramesTransmitted",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Eap Length Error Frames Received",
+        "CamelCase": "EapLengthErrorFramesReceived",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapLengthErrorFramesReceived",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Eap Success Frames Generated Autonomously",
+        "CamelCase": "EapSuccessFramesGeneratedAutonomously",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapSuccessFramesGeneratedAutonomously",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Eap Failure Frames Generated Autonomously",
+        "CamelCase": "EapFailureFramesGeneratedAutonomously",
+        "Final": "Dot1XPerformanceMonitoringHistoryData_EapFailureFramesGeneratedAutonomously",
+        "Index": 14
+      }
+    }
+  },
+  "293": {
+    "Name": "Radius performance monitoring history data",
+    "Filename": "radiusperformancemonitoringhistorydata.go",
+    "CamelCase": "RadiusPerformanceMonitoringHistoryData",
+    "ClassID": 293,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "RadiusPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "RadiusPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Access_Request Packets Transmitted",
+        "CamelCase": "AccessRequestPacketsTransmitted",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessRequestPacketsTransmitted",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Access_Request Retransmission Count",
+        "CamelCase": "AccessRequestRetransmissionCount",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessRequestRetransmissionCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Access_Challenge Packets Received",
+        "CamelCase": "AccessChallengePacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessChallengePacketsReceived",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Access_Accept Packets Received",
+        "CamelCase": "AccessAcceptPacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessAcceptPacketsReceived",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Access_Reject Packets Received",
+        "CamelCase": "AccessRejectPacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_AccessRejectPacketsReceived",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Invalid Radius Packets Received",
+        "CamelCase": "InvalidRadiusPacketsReceived",
+        "Final": "RadiusPerformanceMonitoringHistoryData_InvalidRadiusPacketsReceived",
+        "Index": 8
+      }
+    }
+  },
+  "296": {
+    "Name": "Ethernet performance monitoring history data 3",
+    "Filename": "ethernetperformancemonitoringhistorydata3.go",
+    "CamelCase": "EthernetPerformanceMonitoringHistoryData3",
+    "ClassID": 296,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Packets",
+        "CamelCase": "Packets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Packets",
+        "CamelCase": "BroadcastPackets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_BroadcastPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Packets",
+        "CamelCase": "MulticastPackets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_MulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Undersize Packets",
+        "CamelCase": "UndersizePackets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_UndersizePackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Fragments",
+        "CamelCase": "Fragments",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Fragments",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Jabbers",
+        "CamelCase": "Jabbers",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Jabbers",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Packets 64 Octets",
+        "CamelCase": "Packets64Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Packets 65 To 127 Octets",
+        "CamelCase": "Packets65To127Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packets 128 To 255 Octets",
+        "CamelCase": "Packets128To255Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packets 256 To 511 Octets",
+        "CamelCase": "Packets256To511Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Packets 512 To 1023 Octets",
+        "CamelCase": "Packets512To1023Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Packets 1024 To 1518 Octets",
+        "CamelCase": "Packets1024To1518Octets",
+        "Final": "EthernetPerformanceMonitoringHistoryData3_Packets1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "298": {
+    "Name": "Dot1 rate limiter",
+    "Filename": "dot1ratelimiter.go",
+    "CamelCase": "Dot1RateLimiter",
+    "ClassID": 298,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Parent Me Pointer",
+        "CamelCase": "ParentMePointer",
+        "Final": "Dot1RateLimiter_ParentMePointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "Dot1RateLimiter_TpType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upstream Unicast Flood Rate Pointer",
+        "CamelCase": "UpstreamUnicastFloodRatePointer",
+        "Final": "Dot1RateLimiter_UpstreamUnicastFloodRatePointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Broadcast Rate Pointer",
+        "CamelCase": "UpstreamBroadcastRatePointer",
+        "Final": "Dot1RateLimiter_UpstreamBroadcastRatePointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Upstream Multicast Payload Rate Pointer",
+        "CamelCase": "UpstreamMulticastPayloadRatePointer",
+        "Final": "Dot1RateLimiter_UpstreamMulticastPayloadRatePointer",
+        "Index": 5
+      }
+    }
+  },
+  "299": {
+    "Name": "Dot1ag maintenance domain",
+    "Filename": "dot1agmaintenancedomain.go",
+    "CamelCase": "Dot1AgMaintenanceDomain",
+    "ClassID": 299,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Md Level",
+        "CamelCase": "MdLevel",
+        "Final": "Dot1AgMaintenanceDomain_MdLevel",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Md Name Format",
+        "CamelCase": "MdNameFormat",
+        "Final": "Dot1AgMaintenanceDomain_MdNameFormat",
+        "Index": 2
+      },
+      "3": {
+        "Name": "MD Name 1",
+        "CamelCase": "MdName1",
+        "Final": "Dot1AgMaintenanceDomain_MdName1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "MD Name 2",
+        "CamelCase": "MdName2",
+        "Final": "Dot1AgMaintenanceDomain_MdName2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maintenance Domain Intermediate Point Half Function Mhf Creation",
+        "CamelCase": "MaintenanceDomainIntermediatePointHalfFunctionMhfCreation",
+        "Final": "Dot1AgMaintenanceDomain_MaintenanceDomainIntermediatePointHalfFunctionMhfCreation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sender Id Permission",
+        "CamelCase": "SenderIdPermission",
+        "Final": "Dot1AgMaintenanceDomain_SenderIdPermission",
+        "Index": 6
+      }
+    }
+  },
+  "300": {
+    "Name": "Dot1ag maintenance association",
+    "Filename": "dot1agmaintenanceassociation.go",
+    "CamelCase": "Dot1AgMaintenanceAssociation",
+    "ClassID": 300,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Md Pointer",
+        "CamelCase": "MdPointer",
+        "Final": "Dot1AgMaintenanceAssociation_MdPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Short Ma Name Format",
+        "CamelCase": "ShortMaNameFormat",
+        "Final": "Dot1AgMaintenanceAssociation_ShortMaNameFormat",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Short MA Name 1",
+        "CamelCase": "ShortMaName1",
+        "Final": "Dot1AgMaintenanceAssociation_ShortMaName1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Short MA Name 2",
+        "CamelCase": "ShortMaName2",
+        "Final": "Dot1AgMaintenanceAssociation_ShortMaName2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Continuity Check Message Ccm Interval",
+        "CamelCase": "ContinuityCheckMessageCcmInterval",
+        "Final": "Dot1AgMaintenanceAssociation_ContinuityCheckMessageCcmInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Associated Vlans",
+        "CamelCase": "AssociatedVlans",
+        "Final": "Dot1AgMaintenanceAssociation_AssociatedVlans",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Mhf Creation",
+        "CamelCase": "MhfCreation",
+        "Final": "Dot1AgMaintenanceAssociation_MhfCreation",
+        "Index": 7
+      }
+    }
+  },
+  "301": {
+    "Name": "Dot1ag default MD level",
+    "Filename": "dot1agdefaultmdlevel.go",
+    "CamelCase": "Dot1AgDefaultMdLevel",
+    "ClassID": 301,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Layer 2 Type",
+        "CamelCase": "Layer2Type",
+        "Final": "Dot1AgDefaultMdLevel_Layer2Type",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Catchall Level",
+        "CamelCase": "CatchallLevel",
+        "Final": "Dot1AgDefaultMdLevel_CatchallLevel",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Catchall Mhf Creation",
+        "CamelCase": "CatchallMhfCreation",
+        "Final": "Dot1AgDefaultMdLevel_CatchallMhfCreation",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Catchall Sender Id Permission",
+        "CamelCase": "CatchallSenderIdPermission",
+        "Final": "Dot1AgDefaultMdLevel_CatchallSenderIdPermission",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Default Md Level Table",
+        "CamelCase": "DefaultMdLevelTable",
+        "Final": "Dot1AgDefaultMdLevel_DefaultMdLevelTable",
+        "Index": 5
+      }
+    }
+  },
+  "302": {
+    "Name": "Dot1ag MEP",
+    "Filename": "dot1agmep.go",
+    "CamelCase": "Dot1AgMep",
+    "ClassID": 302,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Layer 2 Entity Pointer",
+        "CamelCase": "Layer2EntityPointer",
+        "Final": "Dot1AgMep_Layer2EntityPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Layer 2 Type",
+        "CamelCase": "Layer2Type",
+        "Final": "Dot1AgMep_Layer2Type",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ma Pointer",
+        "CamelCase": "MaPointer",
+        "Final": "Dot1AgMep_MaPointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Mep Id",
+        "CamelCase": "MepId",
+        "Final": "Dot1AgMep_MepId",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mep Control",
+        "CamelCase": "MepControl",
+        "Final": "Dot1AgMep_MepControl",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Primary Vlan",
+        "CamelCase": "PrimaryVlan",
+        "Final": "Dot1AgMep_PrimaryVlan",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "Dot1AgMep_AdministrativeState",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Ccm And Ltm Priority",
+        "CamelCase": "CcmAndLtmPriority",
+        "Final": "Dot1AgMep_CcmAndLtmPriority",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Egress Identifier",
+        "CamelCase": "EgressIdentifier",
+        "Final": "Dot1AgMep_EgressIdentifier",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Peer Mep Ids",
+        "CamelCase": "PeerMepIds",
+        "Final": "Dot1AgMep_PeerMepIds",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Eth Ais Control",
+        "CamelCase": "EthAisControl",
+        "Final": "Dot1AgMep_EthAisControl",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Fault Alarm Threshold",
+        "CamelCase": "FaultAlarmThreshold",
+        "Final": "Dot1AgMep_FaultAlarmThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Alarm Declaration Soak Time",
+        "CamelCase": "AlarmDeclarationSoakTime",
+        "Final": "Dot1AgMep_AlarmDeclarationSoakTime",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Alarm Clear Soak Time",
+        "CamelCase": "AlarmClearSoakTime",
+        "Final": "Dot1AgMep_AlarmClearSoakTime",
+        "Index": 14
+      }
+    }
+  },
+  "305": {
+    "Name": "Dot1ag CFM stack",
+    "Filename": "dot1agcfmstack.go",
+    "CamelCase": "Dot1AgCfmStack",
+    "ClassID": 305,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Layer 2 Type",
+        "CamelCase": "Layer2Type",
+        "Final": "Dot1AgCfmStack_Layer2Type",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Mp Status Table",
+        "CamelCase": "MpStatusTable",
+        "Final": "Dot1AgCfmStack_MpStatusTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Configuration Error List Table",
+        "CamelCase": "ConfigurationErrorListTable",
+        "Final": "Dot1AgCfmStack_ConfigurationErrorListTable",
+        "Index": 3
+      }
+    }
+  },
+  "306": {
+    "Name": "Dot1ag chassis-management info",
+    "Filename": "dot1agchassis-managementinfo.go",
+    "CamelCase": "Dot1AgChassisManagementInfo",
+    "ClassID": 306,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Chassis Id Length",
+        "CamelCase": "ChassisIdLength",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdLength",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Chassis Id Subtype",
+        "CamelCase": "ChassisIdSubtype",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdSubtype",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Chassis ID Part 1",
+        "CamelCase": "ChassisIdPart1",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdPart1",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Chassis ID Part 2",
+        "CamelCase": "ChassisIdPart2",
+        "Final": "Dot1AgChassisManagementInfo_ChassisIdPart2",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Management Address Domain Length",
+        "CamelCase": "ManagementAddressDomainLength",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressDomainLength",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Management Address Domain 1",
+        "CamelCase": "ManagementAddressDomain1",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressDomain1",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Management Address Domain 2",
+        "CamelCase": "ManagementAddressDomain2",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressDomain2",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Management Address Length",
+        "CamelCase": "ManagementAddressLength",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddressLength",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Management Address 1",
+        "CamelCase": "ManagementAddress1",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddress1",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Management Address 2",
+        "CamelCase": "ManagementAddress2",
+        "Final": "Dot1AgChassisManagementInfo_ManagementAddress2",
+        "Index": 10
+      }
+    }
+  },
+  "307": {
+    "Name": "Octet string",
+    "Filename": "octetstring.go",
+    "CamelCase": "OctetString",
+    "ClassID": 307,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Length",
+        "CamelCase": "Length",
+        "Final": "OctetString_Length",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Part 1",
+        "CamelCase": "Part1",
+        "Final": "OctetString_Part1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Part 2",
+        "CamelCase": "Part2",
+        "Final": "OctetString_Part2",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Part 3",
+        "CamelCase": "Part3",
+        "Final": "OctetString_Part3",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Part 4",
+        "CamelCase": "Part4",
+        "Final": "OctetString_Part4",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Part 5",
+        "CamelCase": "Part5",
+        "Final": "OctetString_Part5",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Part 6",
+        "CamelCase": "Part6",
+        "Final": "OctetString_Part6",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Part 7",
+        "CamelCase": "Part7",
+        "Final": "OctetString_Part7",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Part 8",
+        "CamelCase": "Part8",
+        "Final": "OctetString_Part8",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Part 9",
+        "CamelCase": "Part9",
+        "Final": "OctetString_Part9",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Part 10",
+        "CamelCase": "Part10",
+        "Final": "OctetString_Part10",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Part 11",
+        "CamelCase": "Part11",
+        "Final": "OctetString_Part11",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Part 12",
+        "CamelCase": "Part12",
+        "Final": "OctetString_Part12",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Part 13",
+        "CamelCase": "Part13",
+        "Final": "OctetString_Part13",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Part 14",
+        "CamelCase": "Part14",
+        "Final": "OctetString_Part14",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Part 15",
+        "CamelCase": "Part15",
+        "Final": "OctetString_Part15",
+        "Index": 16
+      }
+    }
+  },
+  "308": {
+    "Name": "General purpose buffer",
+    "Filename": "generalpurposebuffer.go",
+    "CamelCase": "GeneralPurposeBuffer",
+    "ClassID": 308,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Maximum Size",
+        "CamelCase": "MaximumSize",
+        "Final": "GeneralPurposeBuffer_MaximumSize",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Buffer Table",
+        "CamelCase": "BufferTable",
+        "Final": "GeneralPurposeBuffer_BufferTable",
+        "Index": 2
+      }
+    }
+  },
+  "309": {
+    "Name": "Multicast operations profile",
+    "Filename": "multicastoperationsprofile.go",
+    "CamelCase": "MulticastOperationsProfile",
+    "ClassID": 309,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Igmp Version",
+        "CamelCase": "IgmpVersion",
+        "Final": "MulticastOperationsProfile_IgmpVersion",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Igmp Function",
+        "CamelCase": "IgmpFunction",
+        "Final": "MulticastOperationsProfile_IgmpFunction",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Immediate Leave",
+        "CamelCase": "ImmediateLeave",
+        "Final": "MulticastOperationsProfile_ImmediateLeave",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Igmp Tci",
+        "CamelCase": "UpstreamIgmpTci",
+        "Final": "MulticastOperationsProfile_UpstreamIgmpTci",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Upstream Igmp Tag Control",
+        "CamelCase": "UpstreamIgmpTagControl",
+        "Final": "MulticastOperationsProfile_UpstreamIgmpTagControl",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Igmp Rate",
+        "CamelCase": "UpstreamIgmpRate",
+        "Final": "MulticastOperationsProfile_UpstreamIgmpRate",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Dynamic Access Control List Table",
+        "CamelCase": "DynamicAccessControlListTable",
+        "Final": "MulticastOperationsProfile_DynamicAccessControlListTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Static Access Control List Table",
+        "CamelCase": "StaticAccessControlListTable",
+        "Final": "MulticastOperationsProfile_StaticAccessControlListTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Lost Groups List Table",
+        "CamelCase": "LostGroupsListTable",
+        "Final": "MulticastOperationsProfile_LostGroupsListTable",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Robustness",
+        "CamelCase": "Robustness",
+        "Final": "MulticastOperationsProfile_Robustness",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Querier Ip Address",
+        "CamelCase": "QuerierIpAddress",
+        "Final": "MulticastOperationsProfile_QuerierIpAddress",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Query Interval",
+        "CamelCase": "QueryInterval",
+        "Final": "MulticastOperationsProfile_QueryInterval",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Query Max Response Time",
+        "CamelCase": "QueryMaxResponseTime",
+        "Final": "MulticastOperationsProfile_QueryMaxResponseTime",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Last Member Query Interval",
+        "CamelCase": "LastMemberQueryInterval",
+        "Final": "MulticastOperationsProfile_LastMemberQueryInterval",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Unauthorized Join Request Behaviour",
+        "CamelCase": "UnauthorizedJoinRequestBehaviour",
+        "Final": "MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Downstream IGMP and multicast TCI",
+        "CamelCase": "DownstreamIgmpAndMulticastTci",
+        "Final": "MulticastOperationsProfile_DownstreamIgmpAndMulticastTci",
+        "Index": 16
+      }
+    }
+  },
+  "310": {
+    "Name": "Multicast subscriber config info",
+    "Filename": "multicastsubscriberconfiginfo.go",
+    "CamelCase": "MulticastSubscriberConfigInfo",
+    "ClassID": 310,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Me Type",
+        "CamelCase": "MeType",
+        "Final": "MulticastSubscriberConfigInfo_MeType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Multicast Operations Profile Pointer",
+        "CamelCase": "MulticastOperationsProfilePointer",
+        "Final": "MulticastSubscriberConfigInfo_MulticastOperationsProfilePointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Max Simultaneous Groups",
+        "CamelCase": "MaxSimultaneousGroups",
+        "Final": "MulticastSubscriberConfigInfo_MaxSimultaneousGroups",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Max Multicast Bandwidth",
+        "CamelCase": "MaxMulticastBandwidth",
+        "Final": "MulticastSubscriberConfigInfo_MaxMulticastBandwidth",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Bandwidth Enforcement",
+        "CamelCase": "BandwidthEnforcement",
+        "Final": "MulticastSubscriberConfigInfo_BandwidthEnforcement",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Multicast Service Package Table",
+        "CamelCase": "MulticastServicePackageTable",
+        "Final": "MulticastSubscriberConfigInfo_MulticastServicePackageTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Allowed Preview Groups Table",
+        "CamelCase": "AllowedPreviewGroupsTable",
+        "Final": "MulticastSubscriberConfigInfo_AllowedPreviewGroupsTable",
+        "Index": 7
+      }
+    }
+  },
+  "311": {
+    "Name": "Multicast subscriber monitor",
+    "Filename": "multicastsubscribermonitor.go",
+    "CamelCase": "MulticastSubscriberMonitor",
+    "ClassID": 311,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Me Type",
+        "CamelCase": "MeType",
+        "Final": "MulticastSubscriberMonitor_MeType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Current Multicast Bandwidth",
+        "CamelCase": "CurrentMulticastBandwidth",
+        "Final": "MulticastSubscriberMonitor_CurrentMulticastBandwidth",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Join Messages Counter",
+        "CamelCase": "JoinMessagesCounter",
+        "Final": "MulticastSubscriberMonitor_JoinMessagesCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Bandwidth Exceeded Counter",
+        "CamelCase": "BandwidthExceededCounter",
+        "Final": "MulticastSubscriberMonitor_BandwidthExceededCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Ipv4 Active Group List Table",
+        "CamelCase": "Ipv4ActiveGroupListTable",
+        "Final": "MulticastSubscriberMonitor_Ipv4ActiveGroupListTable",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ipv6 Active Group List Table",
+        "CamelCase": "Ipv6ActiveGroupListTable",
+        "Final": "MulticastSubscriberMonitor_Ipv6ActiveGroupListTable",
+        "Index": 6
+      }
+    }
+  },
+  "312": {
+    "Name": "FEC performance monitoring history data",
+    "Filename": "fecperformancemonitoringhistorydata.go",
+    "CamelCase": "FecPerformanceMonitoringHistoryData",
+    "ClassID": 312,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "FecPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "FecPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Bytes",
+        "CamelCase": "CorrectedBytes",
+        "Final": "FecPerformanceMonitoringHistoryData_CorrectedBytes",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Corrected Code Words",
+        "CamelCase": "CorrectedCodeWords",
+        "Final": "FecPerformanceMonitoringHistoryData_CorrectedCodeWords",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Uncorrectable Code Words",
+        "CamelCase": "UncorrectableCodeWords",
+        "Final": "FecPerformanceMonitoringHistoryData_UncorrectableCodeWords",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Code Words",
+        "CamelCase": "TotalCodeWords",
+        "Final": "FecPerformanceMonitoringHistoryData_TotalCodeWords",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "FecPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 7
+      }
+    }
+  },
+  "313": {
+    "Name": "RE ANI-G",
+    "Filename": "reani-g.go",
+    "CamelCase": "ReAniG",
+    "ClassID": 313,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "ReAniG_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "ReAniG_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "ReAniG_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "ReAniG_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Optical Signal Level",
+        "CamelCase": "OpticalSignalLevel",
+        "Final": "ReAniG_OpticalSignalLevel",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Lower Optical Threshold",
+        "CamelCase": "LowerOpticalThreshold",
+        "Final": "ReAniG_LowerOpticalThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Upper Optical Threshold",
+        "CamelCase": "UpperOpticalThreshold",
+        "Final": "ReAniG_UpperOpticalThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Transmit Optical Level",
+        "CamelCase": "TransmitOpticalLevel",
+        "Final": "ReAniG_TransmitOpticalLevel",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Lower Transmit Power Threshold",
+        "CamelCase": "LowerTransmitPowerThreshold",
+        "Final": "ReAniG_LowerTransmitPowerThreshold",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upper Transmit Power Threshold",
+        "CamelCase": "UpperTransmitPowerThreshold",
+        "Final": "ReAniG_UpperTransmitPowerThreshold",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Usage Mode",
+        "CamelCase": "UsageMode",
+        "Final": "ReAniG_UsageMode",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Target Upstream Frequency",
+        "CamelCase": "TargetUpstreamFrequency",
+        "Final": "ReAniG_TargetUpstreamFrequency",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Target Downstream Frequency",
+        "CamelCase": "TargetDownstreamFrequency",
+        "Final": "ReAniG_TargetDownstreamFrequency",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Upstream Signal Transmission Mode",
+        "CamelCase": "UpstreamSignalTransmissionMode",
+        "Final": "ReAniG_UpstreamSignalTransmissionMode",
+        "Index": 14
+      }
+    }
+  },
+  "314": {
+    "Name": "Physical path termination point RE UNI",
+    "Filename": "physicalpathterminationpointreuni.go",
+    "CamelCase": "PhysicalPathTerminationPointReUni",
+    "ClassID": 314,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "PhysicalPathTerminationPointReUni_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "PhysicalPathTerminationPointReUni_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "PhysicalPathTerminationPointReUni_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "PhysicalPathTerminationPointReUni_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Re Ani_G Pointer",
+        "CamelCase": "ReAniGPointer",
+        "Final": "PhysicalPathTerminationPointReUni_ReAniGPointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Optical Receive Signal Level Table",
+        "CamelCase": "TotalOpticalReceiveSignalLevelTable",
+        "Final": "PhysicalPathTerminationPointReUni_TotalOpticalReceiveSignalLevelTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Per Burst Receive Signal Level Table",
+        "CamelCase": "PerBurstReceiveSignalLevelTable",
+        "Final": "PhysicalPathTerminationPointReUni_PerBurstReceiveSignalLevelTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Lower Receive Optical Threshold",
+        "CamelCase": "LowerReceiveOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_LowerReceiveOpticalThreshold",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Upper Receive Optical Threshold",
+        "CamelCase": "UpperReceiveOpticalThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_UpperReceiveOpticalThreshold",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Transmit Optical Level",
+        "CamelCase": "TransmitOpticalLevel",
+        "Final": "PhysicalPathTerminationPointReUni_TransmitOpticalLevel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Lower Transmit Power Threshold",
+        "CamelCase": "LowerTransmitPowerThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_LowerTransmitPowerThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Upper Transmit Power Threshold",
+        "CamelCase": "UpperTransmitPowerThreshold",
+        "Final": "PhysicalPathTerminationPointReUni_UpperTransmitPowerThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Additional Preamble",
+        "CamelCase": "AdditionalPreamble",
+        "Final": "PhysicalPathTerminationPointReUni_AdditionalPreamble",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Additional Guard Time",
+        "CamelCase": "AdditionalGuardTime",
+        "Final": "PhysicalPathTerminationPointReUni_AdditionalGuardTime",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Connected Onus Table",
+        "CamelCase": "ConnectedOnusTable",
+        "Final": "PhysicalPathTerminationPointReUni_ConnectedOnusTable",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Clear Onu Table",
+        "CamelCase": "ClearOnuTable",
+        "Final": "PhysicalPathTerminationPointReUni_ClearOnuTable",
+        "Index": 16
+      }
+    }
+  },
+  "315": {
+    "Name": "RE upstream amplifier",
+    "Filename": "reupstreamamplifier.go",
+    "CamelCase": "ReUpstreamAmplifier",
+    "ClassID": 315,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "ReUpstreamAmplifier_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "ReUpstreamAmplifier_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Operational Mode",
+        "CamelCase": "OperationalMode",
+        "Final": "ReUpstreamAmplifier_OperationalMode",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "ReUpstreamAmplifier_Arc",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "ReUpstreamAmplifier_ArcInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Re Downstream Amplifier Pointer",
+        "CamelCase": "ReDownstreamAmplifierPointer",
+        "Final": "ReUpstreamAmplifier_ReDownstreamAmplifierPointer",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Total Optical Receive Signal Level Table",
+        "CamelCase": "TotalOpticalReceiveSignalLevelTable",
+        "Final": "ReUpstreamAmplifier_TotalOpticalReceiveSignalLevelTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Per Burst Receive Signal Level Table",
+        "CamelCase": "PerBurstReceiveSignalLevelTable",
+        "Final": "ReUpstreamAmplifier_PerBurstReceiveSignalLevelTable",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Lower Receive Optical Threshold",
+        "CamelCase": "LowerReceiveOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_LowerReceiveOpticalThreshold",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Upper Receive Optical Threshold",
+        "CamelCase": "UpperReceiveOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_UpperReceiveOpticalThreshold",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Transmit Optical Signal Level",
+        "CamelCase": "TransmitOpticalSignalLevel",
+        "Final": "ReUpstreamAmplifier_TransmitOpticalSignalLevel",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Lower Transmit Optical Threshold",
+        "CamelCase": "LowerTransmitOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_LowerTransmitOpticalThreshold",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Upper Transmit Optical Threshold",
+        "CamelCase": "UpperTransmitOpticalThreshold",
+        "Final": "ReUpstreamAmplifier_UpperTransmitOpticalThreshold",
+        "Index": 13
+      }
+    }
+  },
+  "316": {
+    "Name": "RE downstream amplifier",
+    "Filename": "redownstreamamplifier.go",
+    "CamelCase": "ReDownstreamAmplifier",
+    "ClassID": 316,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "ReDownstreamAmplifier_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "ReDownstreamAmplifier_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Arc",
+        "CamelCase": "Arc",
+        "Final": "ReDownstreamAmplifier_Arc",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Arc Interval",
+        "CamelCase": "ArcInterval",
+        "Final": "ReDownstreamAmplifier_ArcInterval",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Operational Mode",
+        "CamelCase": "OperationalMode",
+        "Final": "ReDownstreamAmplifier_OperationalMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Input Optical Signal Level",
+        "CamelCase": "InputOpticalSignalLevel",
+        "Final": "ReDownstreamAmplifier_InputOpticalSignalLevel",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Lower Input Optical Threshold",
+        "CamelCase": "LowerInputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_LowerInputOpticalThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upper Input Optical Threshold",
+        "CamelCase": "UpperInputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_UpperInputOpticalThreshold",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Output Optical Signal Level",
+        "CamelCase": "OutputOpticalSignalLevel",
+        "Final": "ReDownstreamAmplifier_OutputOpticalSignalLevel",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Lower Output Optical Threshold",
+        "CamelCase": "LowerOutputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_LowerOutputOpticalThreshold",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Upper Output Optical Threshold",
+        "CamelCase": "UpperOutputOpticalThreshold",
+        "Final": "ReDownstreamAmplifier_UpperOutputOpticalThreshold",
+        "Index": 11
+      },
+      "12": {
+        "Name": "R S Splitter Coupling Ratio",
+        "CamelCase": "RSSplitterCouplingRatio",
+        "Final": "ReDownstreamAmplifier_RSSplitterCouplingRatio",
+        "Index": 12
+      }
+    }
+  },
+  "321": {
+    "Name": "Ethernet frame performance monitoring history data downstream",
+    "Filename": "ethernetframeperformancemonitoringhistorydatadownstream.go",
+    "CamelCase": "EthernetFramePerformanceMonitoringHistoryDataDownstream",
+    "ClassID": 321,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Packets",
+        "CamelCase": "Packets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Packets",
+        "CamelCase": "BroadcastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Packets",
+        "CamelCase": "MulticastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Packets",
+        "CamelCase": "CrcErroredPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Packets",
+        "CamelCase": "UndersizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Packets",
+        "CamelCase": "OversizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Packets 64 Octets",
+        "CamelCase": "Packets64Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Packets 65 To 127 Octets",
+        "CamelCase": "Packets65To127Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packets 128 To 255 Octets",
+        "CamelCase": "Packets128To255Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packets 256 To 511 Octets",
+        "CamelCase": "Packets256To511Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Packets 512 To 1023 Octets",
+        "CamelCase": "Packets512To1023Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Packets 1024 To 1518 Octets",
+        "CamelCase": "Packets1024To1518Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "322": {
+    "Name": "Ethernet frame performance monitoring history data upstream",
+    "Filename": "ethernetframeperformancemonitoringhistorydataupstream.go",
+    "CamelCase": "EthernetFramePerformanceMonitoringHistoryDataUpstream",
+    "ClassID": 322,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Packets",
+        "CamelCase": "Packets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Packets",
+        "CamelCase": "BroadcastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Packets",
+        "CamelCase": "MulticastPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Packets",
+        "CamelCase": "CrcErroredPackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Packets",
+        "CamelCase": "UndersizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Packets",
+        "CamelCase": "OversizePackets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Packets 64 Octets",
+        "CamelCase": "Packets64Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Packets 65 To 127 Octets",
+        "CamelCase": "Packets65To127Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Packets 128 To 255 Octets",
+        "CamelCase": "Packets128To255Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Packets 256 To 511 Octets",
+        "CamelCase": "Packets256To511Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Packets 512 To 1023 Octets",
+        "CamelCase": "Packets512To1023Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Packets 1024 To 1518 Octets",
+        "CamelCase": "Packets1024To1518Octets",
+        "Final": "EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "323": {
+    "Name": "VDSL2 line configuration extensions 2",
+    "Filename": "vdsl2lineconfigurationextensions2.go",
+    "CamelCase": "Vdsl2LineConfigurationExtensions2",
+    "ClassID": 323,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Sos Time Downstream",
+        "CamelCase": "SosTimeDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosTimeDownstream",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Sos Time Upstream",
+        "CamelCase": "SosTimeUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosTimeUpstream",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Sos Degraded Tones Threshold Downstream",
+        "CamelCase": "SosDegradedTonesThresholdDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdDownstream",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Sos Degraded Tones Threshold Upstream",
+        "CamelCase": "SosDegradedTonesThresholdUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdUpstream",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Sos Crc Threshold Downstream",
+        "CamelCase": "SosCrcThresholdDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosCrcThresholdDownstream",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Sos Crc Threshold Upstream",
+        "CamelCase": "SosCrcThresholdUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SosCrcThresholdUpstream",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Max Sos Downstream",
+        "CamelCase": "MaxSosDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_MaxSosDownstream",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Max Sos Upstream",
+        "CamelCase": "MaxSosUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_MaxSosUpstream",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Snr Max Offset Downstream",
+        "CamelCase": "SnrMaxOffsetDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SnrMaxOffsetDownstream",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Snr Max Offset Upstream",
+        "CamelCase": "SnrMaxOffsetUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_SnrMaxOffsetUpstream",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Roc Minimum Impulse Noise Protection Downstream",
+        "CamelCase": "RocMinimumImpulseNoiseProtectionDownstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionDownstream",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Roc Minimum Impulse Noise Protection Upstream",
+        "CamelCase": "RocMinimumImpulseNoiseProtectionUpstream",
+        "Final": "Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionUpstream",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Fext Downstream Transmitter Referred Virtual Noise Table",
+        "CamelCase": "FextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Final": "Vdsl2LineConfigurationExtensions2_FextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Next Downstream Transmitter Referred Virtual Noise Table",
+        "CamelCase": "NextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Final": "Vdsl2LineConfigurationExtensions2_NextDownstreamTransmitterReferredVirtualNoiseTable",
+        "Index": 14
+      }
+    }
+  },
+  "324": {
+    "Name": "xDSL impulse noise monitor performance monitoring history data",
+    "Filename": "xdslimpulsenoisemonitorperformancemonitoringhistorydata.go",
+    "CamelCase": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData",
+    "ClassID": 324,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Inm Inpeq Histogram Table",
+        "CamelCase": "InmInpeqHistogramTable",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramTable",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Inm Total Measurement",
+        "CamelCase": "InmTotalMeasurement",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurement",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Inm Iat Histogram",
+        "CamelCase": "InmIatHistogram",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogram",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Inm Inpeq Histogram Lfe Table",
+        "CamelCase": "InmInpeqHistogramLfeTable",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramLfeTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Inm Total Measurement Lfe",
+        "CamelCase": "InmTotalMeasurementLfe",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurementLfe",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Inm Iat Histogram Lfe",
+        "CamelCase": "InmIatHistogramLfe",
+        "Final": "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogramLfe",
+        "Index": 8
+      }
+    }
+  },
+  "325": {
+    "Name": "xDSL line inventory and status data part 5",
+    "Filename": "xdsllineinventoryandstatusdatapart5.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart5",
+    "ClassID": 325,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fext Downstream Snr Margin",
+        "CamelCase": "FextDownstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamSnrMargin",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Next Downstream Snr Margin",
+        "CamelCase": "NextDownstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamSnrMargin",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fext Upstream Snr Margin",
+        "CamelCase": "FextUpstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamSnrMargin",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Next Upstream Snr Margin",
+        "CamelCase": "NextUpstreamSnrMargin",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamSnrMargin",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Fext Downstream Maximum Attainable Data Rate",
+        "CamelCase": "FextDownstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamMaximumAttainableDataRate",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Next Downstream Maximum Attainable Data Rate",
+        "CamelCase": "NextDownstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamMaximumAttainableDataRate",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fext Upstream Maximum Attainable Data Rate",
+        "CamelCase": "FextUpstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamMaximumAttainableDataRate",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Next Upstream Maximum Attainable Data Rate",
+        "CamelCase": "NextUpstreamMaximumAttainableDataRate",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamMaximumAttainableDataRate",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Fext Downstream Actual Power Spectral Density",
+        "CamelCase": "FextDownstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamActualPowerSpectralDensity",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Next Downstream Actual Power Spectral Density",
+        "CamelCase": "NextDownstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamActualPowerSpectralDensity",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Fext Upstream Actual Power Spectral Density",
+        "CamelCase": "FextUpstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamActualPowerSpectralDensity",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Next Upstream Actual Power Spectral Density",
+        "CamelCase": "NextUpstreamActualPowerSpectralDensity",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamActualPowerSpectralDensity",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Fext Downstream Actual Aggregate Transmit Power",
+        "CamelCase": "FextDownstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextDownstreamActualAggregateTransmitPower",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Next Downstream Actual Aggregate Transmit Power",
+        "CamelCase": "NextDownstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextDownstreamActualAggregateTransmitPower",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Fext Upstream Actual Aggregate Transmit Power",
+        "CamelCase": "FextUpstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_FextUpstreamActualAggregateTransmitPower",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Next Upstream Actual Aggregate Transmit Power",
+        "CamelCase": "NextUpstreamActualAggregateTransmitPower",
+        "Final": "XdslLineInventoryAndStatusDataPart5_NextUpstreamActualAggregateTransmitPower",
+        "Index": 16
+      }
+    }
+  },
+  "328": {
+    "Name": "RE common amplifier parameters",
+    "Filename": "recommonamplifierparameters.go",
+    "CamelCase": "ReCommonAmplifierParameters",
+    "ClassID": 328,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Gain",
+        "CamelCase": "Gain",
+        "Final": "ReCommonAmplifierParameters_Gain",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Lower Gain Threshold",
+        "CamelCase": "LowerGainThreshold",
+        "Final": "ReCommonAmplifierParameters_LowerGainThreshold",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upper Gain Threshold",
+        "CamelCase": "UpperGainThreshold",
+        "Final": "ReCommonAmplifierParameters_UpperGainThreshold",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Target Gain",
+        "CamelCase": "TargetGain",
+        "Final": "ReCommonAmplifierParameters_TargetGain",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Device Temperature",
+        "CamelCase": "DeviceTemperature",
+        "Final": "ReCommonAmplifierParameters_DeviceTemperature",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Lower Device Temperature Threshold",
+        "CamelCase": "LowerDeviceTemperatureThreshold",
+        "Final": "ReCommonAmplifierParameters_LowerDeviceTemperatureThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Upper Device Temperature Threshold",
+        "CamelCase": "UpperDeviceTemperatureThreshold",
+        "Final": "ReCommonAmplifierParameters_UpperDeviceTemperatureThreshold",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Device Bias Current",
+        "CamelCase": "DeviceBiasCurrent",
+        "Final": "ReCommonAmplifierParameters_DeviceBiasCurrent",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Amplifier Saturation Output Power",
+        "CamelCase": "AmplifierSaturationOutputPower",
+        "Final": "ReCommonAmplifierParameters_AmplifierSaturationOutputPower",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Amplifier Noise Figure",
+        "CamelCase": "AmplifierNoiseFigure",
+        "Final": "ReCommonAmplifierParameters_AmplifierNoiseFigure",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Amplifier Saturation Gain",
+        "CamelCase": "AmplifierSaturationGain",
+        "Final": "ReCommonAmplifierParameters_AmplifierSaturationGain",
+        "Index": 11
+      }
+    }
+  },
+  "329": {
+    "Name": "Virtual Ethernet interface point",
+    "Filename": "virtualethernetinterfacepoint.go",
+    "CamelCase": "VirtualEthernetInterfacePoint",
+    "ClassID": 329,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "VirtualEthernetInterfacePoint_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "VirtualEthernetInterfacePoint_OperationalState",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Interdomain Name",
+        "CamelCase": "InterdomainName",
+        "Final": "VirtualEthernetInterfacePoint_InterdomainName",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tcp_Udp Pointer",
+        "CamelCase": "TcpUdpPointer",
+        "Final": "VirtualEthernetInterfacePoint_TcpUdpPointer",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Iana Assigned Port",
+        "CamelCase": "IanaAssignedPort",
+        "Final": "VirtualEthernetInterfacePoint_IanaAssignedPort",
+        "Index": 5
+      }
+    }
+  },
+  "332": {
+    "Name": "Enhanced security control",
+    "Filename": "enhancedsecuritycontrol.go",
+    "CamelCase": "EnhancedSecurityControl",
+    "ClassID": 332,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Olt Crypto Capabilities",
+        "CamelCase": "OltCryptoCapabilities",
+        "Final": "EnhancedSecurityControl_OltCryptoCapabilities",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Olt Random Challenge Table",
+        "CamelCase": "OltRandomChallengeTable",
+        "Final": "EnhancedSecurityControl_OltRandomChallengeTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Olt Challenge Status",
+        "CamelCase": "OltChallengeStatus",
+        "Final": "EnhancedSecurityControl_OltChallengeStatus",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Onu Selected Crypto Capabilities",
+        "CamelCase": "OnuSelectedCryptoCapabilities",
+        "Final": "EnhancedSecurityControl_OnuSelectedCryptoCapabilities",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Onu Random Challenge Table",
+        "CamelCase": "OnuRandomChallengeTable",
+        "Final": "EnhancedSecurityControl_OnuRandomChallengeTable",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Onu Authentication Result Table",
+        "CamelCase": "OnuAuthenticationResultTable",
+        "Final": "EnhancedSecurityControl_OnuAuthenticationResultTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Olt Authentication Result Table",
+        "CamelCase": "OltAuthenticationResultTable",
+        "Final": "EnhancedSecurityControl_OltAuthenticationResultTable",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Olt Result Status",
+        "CamelCase": "OltResultStatus",
+        "Final": "EnhancedSecurityControl_OltResultStatus",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Onu Authentication Status",
+        "CamelCase": "OnuAuthenticationStatus",
+        "Final": "EnhancedSecurityControl_OnuAuthenticationStatus",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Master Session Key Name",
+        "CamelCase": "MasterSessionKeyName",
+        "Final": "EnhancedSecurityControl_MasterSessionKeyName",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Broadcast Key Table",
+        "CamelCase": "BroadcastKeyTable",
+        "Final": "EnhancedSecurityControl_BroadcastKeyTable",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Effective Key Length",
+        "CamelCase": "EffectiveKeyLength",
+        "Final": "EnhancedSecurityControl_EffectiveKeyLength",
+        "Index": 12
+      }
+    }
+  },
+  "333": {
+    "Name": "MPLS pseudowire termination point",
+    "Filename": "mplspseudowireterminationpoint.go",
+    "CamelCase": "MplsPseudowireTerminationPoint",
+    "ClassID": 333,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "MplsPseudowireTerminationPoint_TpType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Tp Pointer",
+        "CamelCase": "TpPointer",
+        "Final": "MplsPseudowireTerminationPoint_TpPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Mpls Label Indicator",
+        "CamelCase": "MplsLabelIndicator",
+        "Final": "MplsPseudowireTerminationPoint_MplsLabelIndicator",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Mpls Pw Direction",
+        "CamelCase": "MplsPwDirection",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwDirection",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Mpls Pw Uplink Label",
+        "CamelCase": "MplsPwUplinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwUplinkLabel",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Mpls Pw Downlink Label",
+        "CamelCase": "MplsPwDownlinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwDownlinkLabel",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Mpls Pw Tc",
+        "CamelCase": "MplsPwTc",
+        "Final": "MplsPseudowireTerminationPoint_MplsPwTc",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Mpls Tunnel Direction",
+        "CamelCase": "MplsTunnelDirection",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelDirection",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Mpls Tunnel Uplink Label",
+        "CamelCase": "MplsTunnelUplinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelUplinkLabel",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Mpls Tunnel Downlink Label",
+        "CamelCase": "MplsTunnelDownlinkLabel",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelDownlinkLabel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Mpls Tunnel Tc",
+        "CamelCase": "MplsTunnelTc",
+        "Final": "MplsPseudowireTerminationPoint_MplsTunnelTc",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Pseudowire Type",
+        "CamelCase": "PseudowireType",
+        "Final": "MplsPseudowireTerminationPoint_PseudowireType",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Pseudowire Control Word Preference",
+        "CamelCase": "PseudowireControlWordPreference",
+        "Final": "MplsPseudowireTerminationPoint_PseudowireControlWordPreference",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "MplsPseudowireTerminationPoint_AdministrativeState",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Operational State",
+        "CamelCase": "OperationalState",
+        "Final": "MplsPseudowireTerminationPoint_OperationalState",
+        "Index": 15
+      }
+    }
+  },
+  "334": {
+    "Name": "Ethernet frame extended PM",
+    "Filename": "ethernetframeextendedpm.go",
+    "CamelCase": "EthernetFrameExtendedPm",
+    "ClassID": 334,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFrameExtendedPm_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Control Block",
+        "CamelCase": "ControlBlock",
+        "Final": "EthernetFrameExtendedPm_ControlBlock",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFrameExtendedPm_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFrameExtendedPm_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Frames",
+        "CamelCase": "Frames",
+        "Final": "EthernetFrameExtendedPm_Frames",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Frames",
+        "CamelCase": "BroadcastFrames",
+        "Final": "EthernetFrameExtendedPm_BroadcastFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Frames",
+        "CamelCase": "MulticastFrames",
+        "Final": "EthernetFrameExtendedPm_MulticastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Frames",
+        "CamelCase": "CrcErroredFrames",
+        "Final": "EthernetFrameExtendedPm_CrcErroredFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Frames",
+        "CamelCase": "UndersizeFrames",
+        "Final": "EthernetFrameExtendedPm_UndersizeFrames",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Frames",
+        "CamelCase": "OversizeFrames",
+        "Final": "EthernetFrameExtendedPm_OversizeFrames",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Frames 64 Octets",
+        "CamelCase": "Frames64Octets",
+        "Final": "EthernetFrameExtendedPm_Frames64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Frames 65 To 127 Octets",
+        "CamelCase": "Frames65To127Octets",
+        "Final": "EthernetFrameExtendedPm_Frames65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Frames 128 To 255 Octets",
+        "CamelCase": "Frames128To255Octets",
+        "Final": "EthernetFrameExtendedPm_Frames128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Frames 256 To 511 Octets",
+        "CamelCase": "Frames256To511Octets",
+        "Final": "EthernetFrameExtendedPm_Frames256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Frames 512 To 1 023 Octets",
+        "CamelCase": "Frames512To1023Octets",
+        "Final": "EthernetFrameExtendedPm_Frames512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Frames 1024 To 1518 Octets",
+        "CamelCase": "Frames1024To1518Octets",
+        "Final": "EthernetFrameExtendedPm_Frames1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "335": {
+    "Name": "SNMP configuration data",
+    "Filename": "snmpconfigurationdata.go",
+    "CamelCase": "SnmpConfigurationData",
+    "ClassID": 335,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Snmp Version",
+        "CamelCase": "SnmpVersion",
+        "Final": "SnmpConfigurationData_SnmpVersion",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Snmp Agent Address",
+        "CamelCase": "SnmpAgentAddress",
+        "Final": "SnmpConfigurationData_SnmpAgentAddress",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Snmp Server Address",
+        "CamelCase": "SnmpServerAddress",
+        "Final": "SnmpConfigurationData_SnmpServerAddress",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Snmp Server Port",
+        "CamelCase": "SnmpServerPort",
+        "Final": "SnmpConfigurationData_SnmpServerPort",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Security Name Pointer",
+        "CamelCase": "SecurityNamePointer",
+        "Final": "SnmpConfigurationData_SecurityNamePointer",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Community For Read",
+        "CamelCase": "CommunityForRead",
+        "Final": "SnmpConfigurationData_CommunityForRead",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Community For Write",
+        "CamelCase": "CommunityForWrite",
+        "Final": "SnmpConfigurationData_CommunityForWrite",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Sys Name Pointer",
+        "CamelCase": "SysNamePointer",
+        "Final": "SnmpConfigurationData_SysNamePointer",
+        "Index": 8
+      }
+    }
+  },
+  "336": {
+    "Name": "ONU dynamic power management control",
+    "Filename": "onudynamicpowermanagementcontrol.go",
+    "CamelCase": "OnuDynamicPowerManagementControl",
+    "ClassID": 336,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Power Reduction Management Capability",
+        "CamelCase": "PowerReductionManagementCapability",
+        "Final": "OnuDynamicPowerManagementControl_PowerReductionManagementCapability",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Power Reduction Management Mode",
+        "CamelCase": "PowerReductionManagementMode",
+        "Final": "OnuDynamicPowerManagementControl_PowerReductionManagementMode",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Itransinit",
+        "CamelCase": "Itransinit",
+        "Final": "OnuDynamicPowerManagementControl_Itransinit",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Itxinit",
+        "CamelCase": "Itxinit",
+        "Final": "OnuDynamicPowerManagementControl_Itxinit",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Sleep Interval",
+        "CamelCase": "MaximumSleepInterval",
+        "Final": "OnuDynamicPowerManagementControl_MaximumSleepInterval",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Maximum Receiver_Off Interval",
+        "CamelCase": "MaximumReceiverOffInterval",
+        "Final": "OnuDynamicPowerManagementControl_MaximumReceiverOffInterval",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Minimum Aware Interval",
+        "CamelCase": "MinimumAwareInterval",
+        "Final": "OnuDynamicPowerManagementControl_MinimumAwareInterval",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Minimum Active Held Interval",
+        "CamelCase": "MinimumActiveHeldInterval",
+        "Final": "OnuDynamicPowerManagementControl_MinimumActiveHeldInterval",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Maximum Sleep Interval Extension",
+        "CamelCase": "MaximumSleepIntervalExtension",
+        "Final": "OnuDynamicPowerManagementControl_MaximumSleepIntervalExtension",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Ethernet Passive Optical Network Epon Capability Extension",
+        "CamelCase": "EthernetPassiveOpticalNetworkEponCapabilityExtension",
+        "Final": "OnuDynamicPowerManagementControl_EthernetPassiveOpticalNetworkEponCapabilityExtension",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Epon Setup Extension",
+        "CamelCase": "EponSetupExtension",
+        "Final": "OnuDynamicPowerManagementControl_EponSetupExtension",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Missing Consecutive Bursts Threshold",
+        "CamelCase": "MissingConsecutiveBurstsThreshold",
+        "Final": "OnuDynamicPowerManagementControl_MissingConsecutiveBurstsThreshold",
+        "Index": 12
+      }
+    }
+  },
+  "337": {
+    "Name": "PW ATM configuration data",
+    "Filename": "pwatmconfigurationdata.go",
+    "CamelCase": "PwAtmConfigurationData",
+    "ClassID": 337,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "PwAtmConfigurationData_TpType",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Transport Tp Pointer",
+        "CamelCase": "TransportTpPointer",
+        "Final": "PwAtmConfigurationData_TransportTpPointer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Pptp Atm Uni Pointer",
+        "CamelCase": "PptpAtmUniPointer",
+        "Final": "PwAtmConfigurationData_PptpAtmUniPointer",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Max C Ell C Oncatenation",
+        "CamelCase": "MaxCEllCOncatenation",
+        "Final": "PwAtmConfigurationData_MaxCEllCOncatenation",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Far End M Ax C Ell C Oncatenation",
+        "CamelCase": "FarEndMAxCEllCOncatenation",
+        "Final": "PwAtmConfigurationData_FarEndMAxCEllCOncatenation",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Atm Cell Loss Priority Clp Qos Mapping",
+        "CamelCase": "AtmCellLossPriorityClpQosMapping",
+        "Final": "PwAtmConfigurationData_AtmCellLossPriorityClpQosMapping",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Timeout Mode",
+        "CamelCase": "TimeoutMode",
+        "Final": "PwAtmConfigurationData_TimeoutMode",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Pw Atm Mapping Table",
+        "CamelCase": "PwAtmMappingTable",
+        "Final": "PwAtmConfigurationData_PwAtmMappingTable",
+        "Index": 8
+      }
+    }
+  },
+  "338": {
+    "Name": "PW ATM performance monitoring history data",
+    "Filename": "pwatmperformancemonitoringhistorydata.go",
+    "CamelCase": "PwAtmPerformanceMonitoringHistoryData",
+    "ClassID": 338,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Missing Packets Counter",
+        "CamelCase": "DownstreamMissingPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_DownstreamMissingPacketsCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Reordered Packets Counter",
+        "CamelCase": "DownstreamReorderedPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_DownstreamReorderedPacketsCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Downstream Misordered Packets Counter",
+        "CamelCase": "DownstreamMisorderedPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_DownstreamMisorderedPacketsCounter",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Upstream Timeout Packets Counter",
+        "CamelCase": "UpstreamTimeoutPacketsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamTimeoutPacketsCounter",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Upstream Transmitted Cells Counter",
+        "CamelCase": "UpstreamTransmittedCellsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamTransmittedCellsCounter",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Upstream Dropped Cells Counter",
+        "CamelCase": "UpstreamDroppedCellsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamDroppedCellsCounter",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Upstream Received Cells Counter",
+        "CamelCase": "UpstreamReceivedCellsCounter",
+        "Final": "PwAtmPerformanceMonitoringHistoryData_UpstreamReceivedCellsCounter",
+        "Index": 9
+      }
+    }
+  },
+  "339": {
+    "Name": "PW Ethernet configuration data",
+    "Filename": "pwethernetconfigurationdata.go",
+    "CamelCase": "PwEthernetConfigurationData",
+    "ClassID": 339,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mpls Pseudowire Tp Pointer",
+        "CamelCase": "MplsPseudowireTpPointer",
+        "Final": "PwEthernetConfigurationData_MplsPseudowireTpPointer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Tp Type",
+        "CamelCase": "TpType",
+        "Final": "PwEthernetConfigurationData_TpType",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Uni Pointer",
+        "CamelCase": "UniPointer",
+        "Final": "PwEthernetConfigurationData_UniPointer",
+        "Index": 3
+      }
+    }
+  },
+  "340": {
+    "Name": "BBF TR-069 management server",
+    "Filename": "bbftr-069managementserver.go",
+    "CamelCase": "BbfTr069ManagementServer",
+    "ClassID": 340,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Administrative State",
+        "CamelCase": "AdministrativeState",
+        "Final": "BbfTr069ManagementServer_AdministrativeState",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Acs Network Address",
+        "CamelCase": "AcsNetworkAddress",
+        "Final": "BbfTr069ManagementServer_AcsNetworkAddress",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Associated Tag",
+        "CamelCase": "AssociatedTag",
+        "Final": "BbfTr069ManagementServer_AssociatedTag",
+        "Index": 3
+      }
+    }
+  },
+  "341": {
+    "Name": "GEM port network CTP performance monitoring history data",
+    "Filename": "gemportnetworkctpperformancemonitoringhistorydata.go",
+    "CamelCase": "GemPortNetworkCtpPerformanceMonitoringHistoryData",
+    "ClassID": 341,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Transmitted Gem Frames",
+        "CamelCase": "TransmittedGemFrames",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Received Gem Frames",
+        "CamelCase": "ReceivedGemFrames",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Received Payload Bytes",
+        "CamelCase": "ReceivedPayloadBytes",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted Payload Bytes",
+        "CamelCase": "TransmittedPayloadBytes",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Encryption Key Errors",
+        "CamelCase": "EncryptionKeyErrors",
+        "Final": "GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors",
+        "Index": 7
+      }
+    }
+  },
+  "342": {
+    "Name": "TCP/UDP performance monitoring history data",
+    "Filename": "tcpudpperformancemonitoringhistorydata.go",
+    "CamelCase": "TcpUdpPerformanceMonitoringHistoryData",
+    "ClassID": 342,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Socket Failed",
+        "CamelCase": "SocketFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_SocketFailed",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Listen Failed",
+        "CamelCase": "ListenFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_ListenFailed",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Bind Failed",
+        "CamelCase": "BindFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_BindFailed",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Accept Failed",
+        "CamelCase": "AcceptFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_AcceptFailed",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Select Failed",
+        "CamelCase": "SelectFailed",
+        "Final": "TcpUdpPerformanceMonitoringHistoryData_SelectFailed",
+        "Index": 7
+      }
+    }
+  },
+  "343": {
+    "Name": "Energy consumption performance monitoring history data",
+    "Filename": "energyconsumptionperformancemonitoringhistorydata.go",
+    "CamelCase": "EnergyConsumptionPerformanceMonitoringHistoryData",
+    "ClassID": 343,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Doze Time",
+        "CamelCase": "DozeTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_DozeTime",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Cyclic Sleep Time",
+        "CamelCase": "CyclicSleepTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_CyclicSleepTime",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Watchful Sleep Time",
+        "CamelCase": "WatchfulSleepTime",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_WatchfulSleepTime",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Energy Consumed",
+        "CamelCase": "EnergyConsumed",
+        "Final": "EnergyConsumptionPerformanceMonitoringHistoryData_EnergyConsumed",
+        "Index": 6
+      }
+    }
+  },
+  "344": {
+    "Name": "XG-PON TC performance monitoring history data",
+    "Filename": "xg-pontcperformancemonitoringhistorydata.go",
+    "CamelCase": "XgPonTcPerformanceMonitoringHistoryData",
+    "ClassID": 344,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Psbd Hec Error Count",
+        "CamelCase": "PsbdHecErrorCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xgtc Hec Error Count",
+        "CamelCase": "XgtcHecErrorCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Unknown Profile Count",
+        "CamelCase": "UnknownProfileCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted Xg_Pon Encapsulation Method Xgem Frames",
+        "CamelCase": "TransmittedXgPonEncapsulationMethodXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fragment Xgem Frames",
+        "CamelCase": "FragmentXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xgem Hec Lost Words Count",
+        "CamelCase": "XgemHecLostWordsCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Xgem Key Errors",
+        "CamelCase": "XgemKeyErrors",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Xgem Hec Error Count",
+        "CamelCase": "XgemHecErrorCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Transmitted Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TransmittedBytesInNonIdleXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Received Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "ReceivedBytesInNonIdleXgemFrames",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Loss Of Downstream Synchronization Lods Event Count",
+        "CamelCase": "LossOfDownstreamSynchronizationLodsEventCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lods Event Restored Count",
+        "CamelCase": "LodsEventRestoredCount",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Onu Reactivation By Lods Events",
+        "CamelCase": "OnuReactivationByLodsEvents",
+        "Final": "XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents",
+        "Index": 15
+      }
+    }
+  },
+  "345": {
+    "Name": "XG-PON downstream management performance monitoring history data",
+    "Filename": "xg-pondownstreammanagementperformancemonitoringhistorydata.go",
+    "CamelCase": "XgPonDownstreamManagementPerformanceMonitoringHistoryData",
+    "ClassID": 345,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ploam Message Integrity Check Mic Error Count",
+        "CamelCase": "PloamMessageIntegrityCheckMicErrorCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_PloamMessageIntegrityCheckMicErrorCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Ploam Messages Count",
+        "CamelCase": "DownstreamPloamMessagesCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_DownstreamPloamMessagesCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Profile Messages Received",
+        "CamelCase": "ProfileMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_ProfileMessagesReceived",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Ranging_Time Messages Received",
+        "CamelCase": "RangingTimeMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_RangingTimeMessagesReceived",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Deactivate_Onu_Id Messages Received",
+        "CamelCase": "DeactivateOnuIdMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_DeactivateOnuIdMessagesReceived",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Disable_Serial_Number Messages Received",
+        "CamelCase": "DisableSerialNumberMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_DisableSerialNumberMessagesReceived",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Request_Registration Messages Received",
+        "CamelCase": "RequestRegistrationMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_RequestRegistrationMessagesReceived",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Assign_Alloc_Id Messages Received",
+        "CamelCase": "AssignAllocIdMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignAllocIdMessagesReceived",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Key_Control Messages Received",
+        "CamelCase": "KeyControlMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_KeyControlMessagesReceived",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Sleep_Allow Messages Received",
+        "CamelCase": "SleepAllowMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_SleepAllowMessagesReceived",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Baseline Omci Messages Received Count",
+        "CamelCase": "BaselineOmciMessagesReceivedCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_BaselineOmciMessagesReceivedCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Extended Omci Messages Received Count",
+        "CamelCase": "ExtendedOmciMessagesReceivedCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_ExtendedOmciMessagesReceivedCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Assign_Onu_Id Messages Received",
+        "CamelCase": "AssignOnuIdMessagesReceived",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignOnuIdMessagesReceived",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Omci Mic Error Count",
+        "CamelCase": "OmciMicErrorCount",
+        "Final": "XgPonDownstreamManagementPerformanceMonitoringHistoryData_OmciMicErrorCount",
+        "Index": 16
+      }
+    }
+  },
+  "346": {
+    "Name": "XG-PON upstream management performance monitoring history data",
+    "Filename": "xg-ponupstreammanagementperformancemonitoringhistorydata.go",
+    "CamelCase": "XgPonUpstreamManagementPerformanceMonitoringHistoryData",
+    "ClassID": 346,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upstream Ploam Message Count",
+        "CamelCase": "UpstreamPloamMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_UpstreamPloamMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Serial_Number_Onu Message Count",
+        "CamelCase": "SerialNumberOnuMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_SerialNumberOnuMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Registration Message Count",
+        "CamelCase": "RegistrationMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_RegistrationMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Key_Report Message Count",
+        "CamelCase": "KeyReportMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_KeyReportMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Acknowledge Message Count",
+        "CamelCase": "AcknowledgeMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_AcknowledgeMessageCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Sleep_Request Message Count",
+        "CamelCase": "SleepRequestMessageCount",
+        "Final": "XgPonUpstreamManagementPerformanceMonitoringHistoryData_SleepRequestMessageCount",
+        "Index": 8
+      }
+    }
+  },
+  "348": {
+    "Name": "MAC bridge port ICMPv6 process pre-assign table",
+    "Filename": "macbridgeporticmpv6processpre-assigntable.go",
+    "CamelCase": "MacBridgePortIcmpv6ProcessPreAssignTable",
+    "ClassID": 348,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Icmpv6 Error Messages Processing",
+        "CamelCase": "Icmpv6ErrorMessagesProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6ErrorMessagesProcessing",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Icmpv6 Informational Messages Processing",
+        "CamelCase": "Icmpv6InformationalMessagesProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6InformationalMessagesProcessing",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Router Solicitation Processing",
+        "CamelCase": "RouterSolicitationProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_RouterSolicitationProcessing",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Router Advertisement Processing",
+        "CamelCase": "RouterAdvertisementProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_RouterAdvertisementProcessing",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Neighbour Solicitation Processing",
+        "CamelCase": "NeighbourSolicitationProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourSolicitationProcessing",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Neighbour Advertisement Processing",
+        "CamelCase": "NeighbourAdvertisementProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourAdvertisementProcessing",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Redirect Processing",
+        "CamelCase": "RedirectProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_RedirectProcessing",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Multicast Listener Query Processing",
+        "CamelCase": "MulticastListenerQueryProcessing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_MulticastListenerQueryProcessing",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Unknown Icmpv6 Processing",
+        "CamelCase": "UnknownIcmpv6Processing",
+        "Final": "MacBridgePortIcmpv6ProcessPreAssignTable_UnknownIcmpv6Processing",
+        "Index": 9
+      }
+    }
+  },
+  "400": {
+    "Name": "Ethernet pseudowire parameters",
+    "Filename": "ethernetpseudowireparameters.go",
+    "CamelCase": "EthernetPseudowireParameters",
+    "ClassID": 400,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Mtu",
+        "CamelCase": "Mtu",
+        "Final": "EthernetPseudowireParameters_Mtu",
+        "Index": 1
+      }
+    }
+  },
+  "406": {
+    "Name": "EPON downstream performance monitoring configuration",
+    "Filename": "epondownstreamperformancemonitoringconfiguration.go",
+    "CamelCase": "EponDownstreamPerformanceMonitoringConfiguration",
+    "ClassID": 406,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Errored Symbol Period Window",
+        "CamelCase": "ErroredSymbolPeriodWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodWindow",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Errored Symbol Period Threshold",
+        "CamelCase": "ErroredSymbolPeriodThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodThreshold",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Errored Frame Window",
+        "CamelCase": "ErroredFrameWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameWindow",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Errored Frame Threshold",
+        "CamelCase": "ErroredFrameThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameThreshold",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Errored Frame Period Window",
+        "CamelCase": "ErroredFramePeriodWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodWindow",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Errored Frame Period Threshold",
+        "CamelCase": "ErroredFramePeriodThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodThreshold",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Errored Frame Seconds Summary Window",
+        "CamelCase": "ErroredFrameSecondsSummaryWindow",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryWindow",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Errored Frame Seconds Summary Threshold",
+        "CamelCase": "ErroredFrameSecondsSummaryThreshold",
+        "Final": "EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryThreshold",
+        "Index": 8
+      }
+    }
+  },
+  "407": {
+    "Name": "SIP agent config data 2",
+    "Filename": "sipagentconfigdata2.go",
+    "CamelCase": "SipAgentConfigData2",
+    "ClassID": 407,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "In_Use_Options_Timer",
+        "CamelCase": "InUseOptionsTimer",
+        "Final": "SipAgentConfigData2_InUseOptionsTimer",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Alternate_Options_Timer",
+        "CamelCase": "AlternateOptionsTimer",
+        "Final": "SipAgentConfigData2_AlternateOptionsTimer",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Revertive",
+        "CamelCase": "Revertive",
+        "Final": "SipAgentConfigData2_Revertive",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Current Proxy Server Resolved Address",
+        "CamelCase": "CurrentProxyServerResolvedAddress",
+        "Final": "SipAgentConfigData2_CurrentProxyServerResolvedAddress",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Current Proxy Server Resolved Name",
+        "CamelCase": "CurrentProxyServerResolvedName",
+        "Final": "SipAgentConfigData2_CurrentProxyServerResolvedName",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Alternate Proxy Server Resolved Address",
+        "CamelCase": "AlternateProxyServerResolvedAddress",
+        "Final": "SipAgentConfigData2_AlternateProxyServerResolvedAddress",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Alternate Proxy Server Resolved Name",
+        "CamelCase": "AlternateProxyServerResolvedName",
+        "Final": "SipAgentConfigData2_AlternateProxyServerResolvedName",
+        "Index": 7
+      }
+    }
+  },
+  "408": {
+    "Name": "xDSL xTU-C performance monitoring history data part 2",
+    "Filename": "xdslxtu-cperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "XdslXtuCPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 408,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Leftr Defect Seconds",
+        "CamelCase": "LeftrDefectSeconds",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_LeftrDefectSeconds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Error_Free Bits Counter",
+        "CamelCase": "ErrorFreeBitsCounter",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_ErrorFreeBitsCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Minimum Error_Free Throughput Mineftr",
+        "CamelCase": "MinimumErrorFreeThroughputMineftr",
+        "Final": "XdslXtuCPerformanceMonitoringHistoryDataPart2_MinimumErrorFreeThroughputMineftr",
+        "Index": 5
+      }
+    }
+  },
+  "410": {
+    "Name": "VDSL2 line configuration extensions 3",
+    "Filename": "vdsl2lineconfigurationextensions3.go",
+    "CamelCase": "Vdsl2LineConfigurationExtensions3",
+    "ClassID": 410,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Ripolicyds",
+        "CamelCase": "Ripolicyds",
+        "Final": "Vdsl2LineConfigurationExtensions3_Ripolicyds",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Ripolicyus",
+        "CamelCase": "Ripolicyus",
+        "Final": "Vdsl2LineConfigurationExtensions3_Ripolicyus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Reinit_Time_Thresholdds",
+        "CamelCase": "ReinitTimeThresholdds",
+        "Final": "Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Reinit_Time_Thresholdus",
+        "CamelCase": "ReinitTimeThresholdus",
+        "Final": "Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rxrefvnsfus",
+        "CamelCase": "Rxrefvnsfus",
+        "Final": "Vdsl2LineConfigurationExtensions3_Rxrefvnsfus",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Txrefvnsfds",
+        "CamelCase": "Txrefvnsfds",
+        "Final": "Vdsl2LineConfigurationExtensions3_Txrefvnsfds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rtx_Modeds",
+        "CamelCase": "RtxModeds",
+        "Final": "Vdsl2LineConfigurationExtensions3_RtxModeds",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Rtx_Modeus",
+        "CamelCase": "RtxModeus",
+        "Final": "Vdsl2LineConfigurationExtensions3_RtxModeus",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Leftr_Thresh",
+        "CamelCase": "LeftrThresh",
+        "Final": "Vdsl2LineConfigurationExtensions3_LeftrThresh",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Maxdelayoctet_Split Parameter Mdosplit",
+        "CamelCase": "MaxdelayoctetSplitParameterMdosplit",
+        "Final": "Vdsl2LineConfigurationExtensions3_MaxdelayoctetSplitParameterMdosplit",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Attndr Method Attndr_Method",
+        "CamelCase": "AttndrMethodAttndrMethod",
+        "Final": "Vdsl2LineConfigurationExtensions3_AttndrMethodAttndrMethod",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Attndr Maxdelayoctet_Split Parameter Attndr_Mdosplit",
+        "CamelCase": "AttndrMaxdelayoctetSplitParameterAttndrMdosplit",
+        "Final": "Vdsl2LineConfigurationExtensions3_AttndrMaxdelayoctetSplitParameterAttndrMdosplit",
+        "Index": 12
+      }
+    }
+  },
+  "412": {
+    "Name": "xDSL channel configuration profile part 2",
+    "Filename": "xdslchannelconfigurationprofilepart2.go",
+    "CamelCase": "XdslChannelConfigurationProfilePart2",
+    "ClassID": 412,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Minimum Expected Throughput For Retransmission Minetr_Rtx",
+        "CamelCase": "MinimumExpectedThroughputForRetransmissionMinetrRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumExpectedThroughputForRetransmissionMinetrRtx",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Maximum Expected Throughput For Retransmission Maxetr_Rtx",
+        "CamelCase": "MaximumExpectedThroughputForRetransmissionMaxetrRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MaximumExpectedThroughputForRetransmissionMaxetrRtx",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Maximum Net Data Rate For Retransmission Maxndr_Rtx",
+        "CamelCase": "MaximumNetDataRateForRetransmissionMaxndrRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MaximumNetDataRateForRetransmissionMaxndrRtx",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Maximum Delay For Retransmission Delaymax_Rtx",
+        "CamelCase": "MaximumDelayForRetransmissionDelaymaxRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MaximumDelayForRetransmissionDelaymaxRtx",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Minimum Delay For Retransmission Delaymin_Rtx",
+        "CamelCase": "MinimumDelayForRetransmissionDelayminRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumDelayForRetransmissionDelayminRtx",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Minimum Impulse Noise Protection Against Single High Impulse Noise Event Shine For Retransmission Inpmin_Shine_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Minimum Impulse Noise Protection Against Shine For Retransmission For Systems Using 8.625 Khz Subcarrier Spacing Inpmin8_Shine_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Shineratio_Rtx",
+        "CamelCase": "ShineratioRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_ShineratioRtx",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Minimum Impulse Noise Protection Against Rein For Retransmission Inpmin_Rein_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Minimum Impulse Noise Protection Against Rein For Retransmission For Systems Using 8.625_Khz Subcarrier Spacing Inpmin8_Rein_Rtx",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rein Inter_Arrival Time For Retransmission Iat_Rein_Rtx",
+        "CamelCase": "ReinInterArrivalTimeForRetransmissionIatReinRtx",
+        "Final": "XdslChannelConfigurationProfilePart2_ReinInterArrivalTimeForRetransmissionIatReinRtx",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Target Net Data Rate Target_Ndr",
+        "CamelCase": "TargetNetDataRateTargetNdr",
+        "Final": "XdslChannelConfigurationProfilePart2_TargetNetDataRateTargetNdr",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Target Expected Throughput For Retransmission Target_Etr",
+        "CamelCase": "TargetExpectedThroughputForRetransmissionTargetEtr",
+        "Final": "XdslChannelConfigurationProfilePart2_TargetExpectedThroughputForRetransmissionTargetEtr",
+        "Index": 13
+      }
+    }
+  },
+  "413": {
+    "Name": "xTU data gathering configuration",
+    "Filename": "xtudatagatheringconfiguration.go",
+    "CamelCase": "XtuDataGatheringConfiguration",
+    "ClassID": 413,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Logging Depth Event Percentage Per Event _ Vtu_O Logging_Depth_Event_Percentage_Oi Table",
+        "CamelCase": "LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Logging Depth Event Percentage Per Event _ Vtu_R Logging_Depth_Event_Percentage_Ri Table",
+        "CamelCase": "LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Logging Depth For Vtu_O Reporting _ Vtu_R Logging_Depth_Reporting_O",
+        "CamelCase": "LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Logging Depth For Vtu_R Reporting _ Vtu_R Logging_Depth_Reporting_R",
+        "CamelCase": "LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR",
+        "Final": "XtuDataGatheringConfiguration_LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Logging Data Report Newer Events First _ Vtu_R Logging_Report_Newer_First",
+        "CamelCase": "LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst",
+        "Final": "XtuDataGatheringConfiguration_LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst",
+        "Index": 5
+      }
+    }
+  },
+  "414": {
+    "Name": "xDSL line inventory and status data part 8",
+    "Filename": "xdsllineinventoryandstatusdatapart8.go",
+    "CamelCase": "XdslLineInventoryAndStatusDataPart8",
+    "ClassID": 414,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Retransmission Used Downstream Rtx_Usedds",
+        "CamelCase": "RetransmissionUsedDownstreamRtxUsedds",
+        "Final": "XdslLineInventoryAndStatusDataPart8_RetransmissionUsedDownstreamRtxUsedds",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Retransmission Used Upstream Rtx_Usedus",
+        "CamelCase": "RetransmissionUsedUpstreamRtxUsedus",
+        "Final": "XdslLineInventoryAndStatusDataPart8_RetransmissionUsedUpstreamRtxUsedus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Date_Time_Stamping Of Near_End Test Parameters Stamp_Test_Ne",
+        "CamelCase": "DateTimeStampingOfNearEndTestParametersStampTestNe",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfNearEndTestParametersStampTestNe",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Date_Time_Stamping Of Far_End Test Parameters Stamp_Test_Fe",
+        "CamelCase": "DateTimeStampingOfFarEndTestParametersStampTestFe",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfFarEndTestParametersStampTestFe",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Olr Operation Stamp_Olr_Ds",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Date_Time_Stamping Of Last Successful Upstream Olr Operation Stamp_Olr_Us",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs",
+        "Final": "XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs",
+        "Index": 6
+      }
+    }
+  },
+  "415": {
+    "Name": "VDSL2 line inventory and status data part 4",
+    "Filename": "vdsl2lineinventoryandstatusdatapart4.go",
+    "CamelCase": "Vdsl2LineInventoryAndStatusDataPart4",
+    "ClassID": 415,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Vtu_O Estimated Upstream Power Back_Off Electrical Length Per Band Upbokle_Pb",
+        "CamelCase": "VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Vtu_R Estimated Upstream Power Back_Off Electrical Length Per Band Upbokle_R_Pb",
+        "CamelCase": "VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upbo Downstream Receiver Signal Level Threshold Rxthrshds",
+        "CamelCase": "UpboDownstreamReceiverSignalLevelThresholdRxthrshds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_UpboDownstreamReceiverSignalLevelThresholdRxthrshds",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upbo Upstream Receiver Signal Level Threshold Rxthrshus",
+        "CamelCase": "UpboUpstreamReceiverSignalLevelThresholdRxthrshus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_UpboUpstreamReceiverSignalLevelThresholdRxthrshus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Actual Alternative Electrical Length Estimation Mod E Act_Aele_Mode",
+        "CamelCase": "ActualAlternativeElectricalLengthEstimationModEActAeleMode",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_ActualAlternativeElectricalLengthEstimationModEActAeleMode",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Actual Downstream Ripolicy Actripolicyds",
+        "CamelCase": "ActualDownstreamRipolicyActripolicyds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_ActualDownstreamRipolicyActripolicyds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Actual Upstream Ripolicy Actripolicyus",
+        "CamelCase": "ActualUpstreamRipolicyActripolicyus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_ActualUpstreamRipolicyActripolicyus",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Attndr Actual M Ethod Attndr_Actmethod",
+        "CamelCase": "AttndrActualMEthodAttndrActmethod",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrActualMEthodAttndrActmethod",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Attndr Downstream A Ctual Impulse Noise Protection Attndr_Actinpds",
+        "CamelCase": "AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Attndr Upstream A Ctual Impulse Noise Protection Attndr_Actinpus",
+        "CamelCase": "AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Attndr Downstream A Ctual Impulse Noise Protection Against Rein Attndr_Actinp_Reinds",
+        "CamelCase": "AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Attndr Upstream A Ctual Impulse Noise Protection Against Rein Attndr_Actinp_Reinus",
+        "CamelCase": "AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Attndr Downstream Actual Delay Attndr_Actdelayds",
+        "CamelCase": "AttndrDownstreamActualDelayAttndrActdelayds",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamActualDelayAttndrActdelayds",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Attndr Upstream A Ctual Delay Attndr_Actdelayus",
+        "CamelCase": "AttndrUpstreamACtualDelayAttndrActdelayus",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualDelayAttndrActdelayus",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Near_End A Ggregate Achievable Net Data Rate Aggachndr_Ne",
+        "CamelCase": "NearEndAGgregateAchievableNetDataRateAggachndrNe",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_NearEndAGgregateAchievableNetDataRateAggachndrNe",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Far_End Aggregate Achievable Net Data Rate Aggachndr_Fe",
+        "CamelCase": "FarEndAggregateAchievableNetDataRateAggachndrFe",
+        "Final": "Vdsl2LineInventoryAndStatusDataPart4_FarEndAggregateAchievableNetDataRateAggachndrFe",
+        "Index": 16
+      }
+    }
+  },
+  "418": {
+    "Name": "EFM bonding group",
+    "Filename": "efmbondinggroup.go",
+    "CamelCase": "EfmBondingGroup",
+    "ClassID": 418,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Group Id",
+        "CamelCase": "GroupId",
+        "Final": "EfmBondingGroup_GroupId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Minimum Upstream Group Rate",
+        "CamelCase": "MinimumUpstreamGroupRate",
+        "Final": "EfmBondingGroup_MinimumUpstreamGroupRate",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Minimum Downstream Group Rate",
+        "CamelCase": "MinimumDownstreamGroupRate",
+        "Final": "EfmBondingGroup_MinimumDownstreamGroupRate",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Group Alarm Enable",
+        "CamelCase": "GroupAlarmEnable",
+        "Final": "EfmBondingGroup_GroupAlarmEnable",
+        "Index": 4
+      }
+    }
+  },
+  "419": {
+    "Name": "EFM bonding link",
+    "Filename": "efmbondinglink.go",
+    "CamelCase": "EfmBondingLink",
+    "ClassID": 419,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Associated Group Me Id",
+        "CamelCase": "AssociatedGroupMeId",
+        "Final": "EfmBondingLink_AssociatedGroupMeId",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Link Alarm Enable",
+        "CamelCase": "LinkAlarmEnable",
+        "Final": "EfmBondingLink_LinkAlarmEnable",
+        "Index": 2
+      }
+    }
+  },
+  "420": {
+    "Name": "EFM bonding group performance monitoring history data",
+    "Filename": "efmbondinggroupperformancemonitoringhistorydata.go",
+    "CamelCase": "EfmBondingGroupPerformanceMonitoringHistoryData",
+    "ClassID": 420,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Bad Fragments",
+        "CamelCase": "RxBadFragments",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxBadFragments",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rx Lost Fragments",
+        "CamelCase": "RxLostFragments",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxLostFragments",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Lost Starts",
+        "CamelCase": "RxLostStarts",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxLostStarts",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Rx Lost Ends",
+        "CamelCase": "RxLostEnds",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxLostEnds",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Frames",
+        "CamelCase": "RxFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Frames",
+        "CamelCase": "TxFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Bytes",
+        "CamelCase": "RxBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_RxBytes",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Bytes",
+        "CamelCase": "TxBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxBytes",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tx Discarded Frames",
+        "CamelCase": "TxDiscardedFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Discarded Bytes",
+        "CamelCase": "TxDiscardedBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedBytes",
+        "Index": 12
+      }
+    }
+  },
+  "421": {
+    "Name": "EFM bonding group performance monitoring history data part 2",
+    "Filename": "efmbondinggroupperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 421,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Unicast Frames",
+        "CamelCase": "RxUnicastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tx Unicast Frames",
+        "CamelCase": "TxUnicastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Unicast Bytes",
+        "CamelCase": "RxUnicastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tx Unicast Bytes",
+        "CamelCase": "TxUnicastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Broadcast Frames",
+        "CamelCase": "RxBroadcastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Broadcast Frames",
+        "CamelCase": "TxBroadcastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Broadcast Bytes",
+        "CamelCase": "RxBroadcastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Broadcast Bytes",
+        "CamelCase": "TxBroadcastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rx Multicast Frames",
+        "CamelCase": "RxMulticastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Multicast Frames",
+        "CamelCase": "TxMulticastFrames",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Rx Multicast Bytes",
+        "CamelCase": "RxMulticastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastBytes",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tx Multicast Bytes",
+        "CamelCase": "TxMulticastBytes",
+        "Final": "EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastBytes",
+        "Index": 14
+      }
+    }
+  },
+  "422": {
+    "Name": "EFM bonding link performance monitoring history data",
+    "Filename": "efmbondinglinkperformancemonitoringhistorydata.go",
+    "CamelCase": "EfmBondingLinkPerformanceMonitoringHistoryData",
+    "ClassID": 422,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Errored Fragments",
+        "CamelCase": "RxErroredFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxErroredFragments",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Rx Small Fragments",
+        "CamelCase": "RxSmallFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxSmallFragments",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Large Fragments",
+        "CamelCase": "RxLargeFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxLargeFragments",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Rx Discarded Fragments",
+        "CamelCase": "RxDiscardedFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxDiscardedFragments",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Fcs Errors",
+        "CamelCase": "RxFcsErrors",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxFcsErrors",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Rx Coding Errors",
+        "CamelCase": "RxCodingErrors",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxCodingErrors",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Fragments",
+        "CamelCase": "RxFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_RxFragments",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Fragments",
+        "CamelCase": "TxFragments",
+        "Final": "EfmBondingLinkPerformanceMonitoringHistoryData_TxFragments",
+        "Index": 10
+      }
+    }
+  },
+  "423": {
+    "Name": "EFM bonding port performance monitoring history data",
+    "Filename": "efmbondingportperformancemonitoringhistorydata.go",
+    "CamelCase": "EfmBondingPortPerformanceMonitoringHistoryData",
+    "ClassID": 423,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Frames",
+        "CamelCase": "RxFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_RxFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tx Frames",
+        "CamelCase": "TxFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Bytes",
+        "CamelCase": "RxBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_RxBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tx Bytes",
+        "CamelCase": "TxBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tx Discarded Frames",
+        "CamelCase": "TxDiscardedFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Discarded Bytes",
+        "CamelCase": "TxDiscardedBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedBytes",
+        "Index": 8
+      }
+    }
+  },
+  "424": {
+    "Name": "EFM bonding port performance monitoring history data part 2",
+    "Filename": "efmbondingportperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 424,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Rx Unicast Frames",
+        "CamelCase": "RxUnicastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tx Unicast Frames",
+        "CamelCase": "TxUnicastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastFrames",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Rx Unicast Bytes",
+        "CamelCase": "RxUnicastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastBytes",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tx Unicast Bytes",
+        "CamelCase": "TxUnicastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastBytes",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Rx Broadcast Frames",
+        "CamelCase": "RxBroadcastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tx Broadcast Frames",
+        "CamelCase": "TxBroadcastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rx Broadcast Bytes",
+        "CamelCase": "RxBroadcastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tx Broadcast Bytes",
+        "CamelCase": "TxBroadcastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rx Multicast Frames",
+        "CamelCase": "RxMulticastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tx Multicast Frames",
+        "CamelCase": "TxMulticastFrames",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Rx Multicast Bytes",
+        "CamelCase": "RxMulticastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastBytes",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tx Multicast Bytes",
+        "CamelCase": "TxMulticastBytes",
+        "Final": "EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastBytes",
+        "Index": 14
+      }
+    }
+  },
+  "425": {
+    "Name": "Ethernet frame extended PM 64-bit",
+    "Filename": "ethernetframeextendedpm64-bit.go",
+    "CamelCase": "EthernetFrameExtendedPm64Bit",
+    "ClassID": 425,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EthernetFrameExtendedPm64Bit_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Control Block",
+        "CamelCase": "ControlBlock",
+        "Final": "EthernetFrameExtendedPm64Bit_ControlBlock",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Drop Events",
+        "CamelCase": "DropEvents",
+        "Final": "EthernetFrameExtendedPm64Bit_DropEvents",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Octets",
+        "CamelCase": "Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Octets",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Frames",
+        "CamelCase": "Frames",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Broadcast Frames",
+        "CamelCase": "BroadcastFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_BroadcastFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Multicast Frames",
+        "CamelCase": "MulticastFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_MulticastFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Crc Errored Frames",
+        "CamelCase": "CrcErroredFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_CrcErroredFrames",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Undersize Frames",
+        "CamelCase": "UndersizeFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_UndersizeFrames",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Oversize Frames",
+        "CamelCase": "OversizeFrames",
+        "Final": "EthernetFrameExtendedPm64Bit_OversizeFrames",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Frames 64 Octets",
+        "CamelCase": "Frames64Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames64Octets",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Frames 65 To 127 Octets",
+        "CamelCase": "Frames65To127Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames65To127Octets",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Frames 128 To 255 Octets",
+        "CamelCase": "Frames128To255Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames128To255Octets",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Frames 256 To 511 Octets",
+        "CamelCase": "Frames256To511Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames256To511Octets",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Frames 512 To 1023 Octets",
+        "CamelCase": "Frames512To1023Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames512To1023Octets",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Frames 1024 To 1518 Octets",
+        "CamelCase": "Frames1024To1518Octets",
+        "Final": "EthernetFrameExtendedPm64Bit_Frames1024To1518Octets",
+        "Index": 16
+      }
+    }
+  },
+  "427": {
+    "Name": "Physical path termination point xDSL UNI part 3",
+    "Filename": "physicalpathterminationpointxdslunipart3.go",
+    "CamelCase": "PhysicalPathTerminationPointXdslUniPart3",
+    "ClassID": 427,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fast Line Configuration Profile",
+        "CamelCase": "FastLineConfigurationProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastLineConfigurationProfile",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Fast Data Path Configuration Profile",
+        "CamelCase": "FastDataPathConfigurationProfile",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastDataPathConfigurationProfile",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Fast Channel Configuration Profile For Bearer Channel 0 Downstream",
+        "CamelCase": "FastChannelConfigurationProfileForBearerChannel0Downstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastChannelConfigurationProfileForBearerChannel0Downstream",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Fast Xdsl Channel Configuration Profile For Bearer Channel 0 Upstream",
+        "CamelCase": "FastXdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Final": "PhysicalPathTerminationPointXdslUniPart3_FastXdslChannelConfigurationProfileForBearerChannel0Upstream",
+        "Index": 4
+      }
+    }
+  },
+  "432": {
+    "Name": "FAST channel configuration profile",
+    "Filename": "fastchannelconfigurationprofile.go",
+    "CamelCase": "FastChannelConfigurationProfile",
+    "ClassID": 432,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Maximum Net Data Rate Maxndr",
+        "CamelCase": "MaximumNetDataRateMaxndr",
+        "Final": "FastChannelConfigurationProfile_MaximumNetDataRateMaxndr",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Minimum Expected Throughput Minetr",
+        "CamelCase": "MinimumExpectedThroughputMinetr",
+        "Final": "FastChannelConfigurationProfile_MinimumExpectedThroughputMinetr",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Maximum Gamma Data Rate Maxgdr",
+        "CamelCase": "MaximumGammaDataRateMaxgdr",
+        "Final": "FastChannelConfigurationProfile_MaximumGammaDataRateMaxgdr",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Minimum Gamma Data Rate Mingdr",
+        "CamelCase": "MinimumGammaDataRateMingdr",
+        "Final": "FastChannelConfigurationProfile_MinimumGammaDataRateMingdr",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Maximum Delay Delaymax",
+        "CamelCase": "MaximumDelayDelaymax",
+        "Final": "FastChannelConfigurationProfile_MaximumDelayDelaymax",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Minimum Impulse Noise Protection Against Shine Inpmin_Shine",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstShineInpminShine",
+        "Final": "FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstShineInpminShine",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Shine Ratio Shineratio",
+        "CamelCase": "ShineRatioShineratio",
+        "Final": "FastChannelConfigurationProfile_ShineRatioShineratio",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Minimum Impulse Noise Protection Against Rein Inpmin_Rein",
+        "CamelCase": "MinimumImpulseNoiseProtectionAgainstReinInpminRein",
+        "Final": "FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstReinInpminRein",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Rein Inter_Arrival Time Iat_Rein",
+        "CamelCase": "ReinInterArrivalTimeIatRein",
+        "Final": "FastChannelConfigurationProfile_ReinInterArrivalTimeIatRein",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Minimum Reed_Solomon Rfec_Nfec Ratio Rnratio",
+        "CamelCase": "MinimumReedSolomonRfecNfecRatioRnratio",
+        "Final": "FastChannelConfigurationProfile_MinimumReedSolomonRfecNfecRatioRnratio",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Rtx_Tc Testmode Rtx_Testmode",
+        "CamelCase": "RtxTcTestmodeRtxTestmode",
+        "Final": "FastChannelConfigurationProfile_RtxTcTestmodeRtxTestmode",
+        "Index": 11
+      }
+    }
+  },
+  "433": {
+    "Name": "FAST data path configuration profile",
+    "Filename": "fastdatapathconfigurationprofile.go",
+    "CamelCase": "FastDataPathConfigurationProfile",
+    "ClassID": 433,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Tps_Tc Testmode Tps_Testmode",
+        "CamelCase": "TpsTcTestmodeTpsTestmode",
+        "Final": "FastDataPathConfigurationProfile_TpsTcTestmodeTpsTestmode",
+        "Index": 1
+      }
+    }
+  },
+  "434": {
+    "Name": "FAST vectoring line configuration extensions",
+    "Filename": "fastvectoringlineconfigurationextensions.go",
+    "CamelCase": "FastVectoringLineConfigurationExtensions",
+    "ClassID": 434,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Fext Cancellation Enabling_Disabling Upstream Fext_To_Cancel_Enableus",
+        "CamelCase": "FextCancellationEnablingDisablingUpstreamFextToCancelEnableus",
+        "Final": "FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingUpstreamFextToCancelEnableus",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Fext Cancellation Enabling_Disabling Downstream Fext_To_Cancel_Enableds",
+        "CamelCase": "FextCancellationEnablingDisablingDownstreamFextToCancelEnableds",
+        "Final": "FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingDownstreamFextToCancelEnableds",
+        "Index": 2
+      }
+    }
+  },
+  "436": {
+    "Name": "FAST line inventory and status data part 2",
+    "Filename": "fastlineinventoryandstatusdatapart2.go",
+    "CamelCase": "FastLineInventoryAndStatusDataPart2",
+    "ClassID": 436,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Fra Operation Stamp_Frads",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Date_Time_Stamping Of Last Successful Upstream Fra Operation Stamp_Fraus",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Rpa Operation Stamp_Rpads",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Date_Time_Stamping Of Last Successful Upstream Rpa Operation Stamp_Rpaus",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Date_Time_Stamping Of Last Successful Downstream Tiga Operation Stamp_Tiga",
+        "CamelCase": "DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga",
+        "Final": "FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga",
+        "Index": 5
+      }
+    }
+  },
+  "437": {
+    "Name": "FAST xTU-C performance monitoring history data",
+    "Filename": "fastxtu-cperformancemonitoringhistorydata.go",
+    "CamelCase": "FastXtuCPerformanceMonitoringHistoryData",
+    "ClassID": 437,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Successful Fra Counter",
+        "CamelCase": "SuccessfulFraCounter",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_SuccessfulFraCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Successful Rpa Counter",
+        "CamelCase": "SuccessfulRpaCounter",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_SuccessfulRpaCounter",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Successful Tiga Counter",
+        "CamelCase": "SuccessfulTigaCounter",
+        "Final": "FastXtuCPerformanceMonitoringHistoryData_SuccessfulTigaCounter",
+        "Index": 5
+      }
+    }
+  },
+  "438": {
+    "Name": "FAST xTU-R performance monitoring history data",
+    "Filename": "fastxtu-rperformancemonitoringhistorydata.go",
+    "CamelCase": "FastXtuRPerformanceMonitoringHistoryData",
+    "ClassID": 438,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Successful Fra Counter",
+        "CamelCase": "SuccessfulFraCounter",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_SuccessfulFraCounter",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Successful Rpa Counter",
+        "CamelCase": "SuccessfulRpaCounter",
+        "Final": "FastXtuRPerformanceMonitoringHistoryData_SuccessfulRpaCounter",
+        "Index": 4
+      }
+    }
+  },
+  "440": {
+    "Name": "Time Status Message",
+    "Filename": "timestatusmessage.go",
+    "CamelCase": "TimeStatusMessage",
+    "ClassID": 440,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Domain Number",
+        "CamelCase": "DomainNumber",
+        "Final": "TimeStatusMessage_DomainNumber",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Flag Field",
+        "CamelCase": "FlagField",
+        "Final": "TimeStatusMessage_FlagField",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Currentutcoffset",
+        "CamelCase": "Currentutcoffset",
+        "Final": "TimeStatusMessage_Currentutcoffset",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Priority1",
+        "CamelCase": "Priority1",
+        "Final": "TimeStatusMessage_Priority1",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Clockclass",
+        "CamelCase": "Clockclass",
+        "Final": "TimeStatusMessage_Clockclass",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Accuracy",
+        "CamelCase": "Accuracy",
+        "Final": "TimeStatusMessage_Accuracy",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Offsetscaledlogvariance",
+        "CamelCase": "Offsetscaledlogvariance",
+        "Final": "TimeStatusMessage_Offsetscaledlogvariance",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Priority2",
+        "CamelCase": "Priority2",
+        "Final": "TimeStatusMessage_Priority2",
+        "Index": 8
+      }
+    }
+  },
+  "441": {
+    "Name": "ONU3-G",
+    "Filename": "onu3-g.go",
+    "CamelCase": "Onu3G",
+    "ClassID": 441,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Flash Memory Performance Value",
+        "CamelCase": "FlashMemoryPerformanceValue",
+        "Final": "Onu3G_FlashMemoryPerformanceValue",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Latest Restart Reason",
+        "CamelCase": "LatestRestartReason",
+        "Final": "Onu3G_LatestRestartReason",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Total Number Of Status Snapshots",
+        "CamelCase": "TotalNumberOfStatusSnapshots",
+        "Final": "Onu3G_TotalNumberOfStatusSnapshots",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Number Of Valid Status Snapshots",
+        "CamelCase": "NumberOfValidStatusSnapshots",
+        "Final": "Onu3G_NumberOfValidStatusSnapshots",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Next Status Snapshot Index",
+        "CamelCase": "NextStatusSnapshotIndex",
+        "Final": "Onu3G_NextStatusSnapshotIndex",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Status Snapshot Record Table",
+        "CamelCase": "StatusSnapshotRecordTable",
+        "Final": "Onu3G_StatusSnapshotRecordTable",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Snap Action",
+        "CamelCase": "SnapAction",
+        "Final": "Onu3G_SnapAction",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Most Recent Status Snapshot",
+        "CamelCase": "MostRecentStatusSnapshot",
+        "Final": "Onu3G_MostRecentStatusSnapshot",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Reset Action",
+        "CamelCase": "ResetAction",
+        "Final": "Onu3G_ResetAction",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Enhanced Mode",
+        "CamelCase": "EnhancedMode",
+        "Final": "Onu3G_EnhancedMode",
+        "Index": 10
+      }
+    }
+  },
+  "443": {
+    "Name": "TWDM channel managed entity",
+    "Filename": "twdmchannelmanagedentity.go",
+    "CamelCase": "TwdmChannelManagedEntity",
+    "ClassID": 443,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Active Channel Indication",
+        "CamelCase": "ActiveChannelIndication",
+        "Final": "TwdmChannelManagedEntity_ActiveChannelIndication",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Operational Channel Indication",
+        "CamelCase": "OperationalChannelIndication",
+        "Final": "TwdmChannelManagedEntity_OperationalChannelIndication",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Downstream Wavelength Channel",
+        "CamelCase": "DownstreamWavelengthChannel",
+        "Final": "TwdmChannelManagedEntity_DownstreamWavelengthChannel",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Upstream Wavelength Channel",
+        "CamelCase": "UpstreamWavelengthChannel",
+        "Final": "TwdmChannelManagedEntity_UpstreamWavelengthChannel",
+        "Index": 4
+      }
+    }
+  },
+  "444": {
+    "Name": "TWDM channel PHY/LODS performance monitoring history data",
+    "Filename": "twdmchannelphylodsperformancemonitoringhistorydata.go",
+    "CamelCase": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData",
+    "ClassID": 444,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Total Received Words Protected By Bit_Interleaved Parity_32 Bip_32",
+        "CamelCase": "TotalReceivedWordsProtectedByBitInterleavedParity32Bip32",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalReceivedWordsProtectedByBitInterleavedParity32Bip32",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Bip_32 Bit Error Count",
+        "CamelCase": "Bip32BitErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_Bip32BitErrorCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Corrected Psbd Hec Error Count",
+        "CamelCase": "CorrectedPsbdHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedPsbdHecErrorCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Uncorrectable Psbd Hec Error Count",
+        "CamelCase": "UncorrectablePsbdHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectablePsbdHecErrorCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Corrected Downstream Fs Header Hec Error Count",
+        "CamelCase": "CorrectedDownstreamFsHeaderHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedDownstreamFsHeaderHecErrorCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Uncorrectable Downstream Fs Header Hec Error Count",
+        "CamelCase": "UncorrectableDownstreamFsHeaderHecErrorCount",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectableDownstreamFsHeaderHecErrorCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Total Number Of Lods Events",
+        "CamelCase": "TotalNumberOfLodsEvents",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalNumberOfLodsEvents",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Lods Events Restored In Operating Twdm Channel",
+        "CamelCase": "LodsEventsRestoredInOperatingTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInOperatingTwdmChannel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Lods Events Restored In Protection Twdm Channel",
+        "CamelCase": "LodsEventsRestoredInProtectionTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInProtectionTwdmChannel",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Lods Events Restored In Discretionary Twdm Channel",
+        "CamelCase": "LodsEventsRestoredInDiscretionaryTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInDiscretionaryTwdmChannel",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Lods Events Resulting In Reactivation",
+        "CamelCase": "LodsEventsResultingInReactivation",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivation",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lods Events Resulting In Reactivation After Retuning To Protection Twdm Channel",
+        "CamelCase": "LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Lods Events Resulting In Reactivation After Retuning To Discretionary Twdm Channel",
+        "CamelCase": "LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel",
+        "Final": "TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel",
+        "Index": 15
+      }
+    }
+  },
+  "445": {
+    "Name": "TWDM channel XGEM performance monitoring history data",
+    "Filename": "twdmchannelxgemperformancemonitoringhistorydata.go",
+    "CamelCase": "TwdmChannelXgemPerformanceMonitoringHistoryData",
+    "ClassID": 445,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 64 Bit Id",
+        "CamelCase": "ThresholdData64BitId",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_ThresholdData64BitId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Total Transmitted Xgem Frames",
+        "CamelCase": "TotalTransmittedXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedXgemFrames",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Transmitted Xgem Frames With Lf Bit Not Set",
+        "CamelCase": "TransmittedXgemFramesWithLfBitNotSet",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TransmittedXgemFramesWithLfBitNotSet",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Total Received Xgem Frames",
+        "CamelCase": "TotalReceivedXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedXgemFrames",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Received Xgem Frames With Xgem Header Hec Errors",
+        "CamelCase": "ReceivedXgemFramesWithXgemHeaderHecErrors",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_ReceivedXgemFramesWithXgemHeaderHecErrors",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fs Words Lost To Xgem Header Hec Errors",
+        "CamelCase": "FsWordsLostToXgemHeaderHecErrors",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_FsWordsLostToXgemHeaderHecErrors",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xgem Encryption Key Errors",
+        "CamelCase": "XgemEncryptionKeyErrors",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_XgemEncryptionKeyErrors",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Total Transmitted Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TotalTransmittedBytesInNonIdleXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedBytesInNonIdleXgemFrames",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Total Received Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TotalReceivedBytesInNonIdleXgemFrames",
+        "Final": "TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedBytesInNonIdleXgemFrames",
+        "Index": 10
+      }
+    }
+  },
+  "446": {
+    "Name": "TWDM channel PLOAM performance monitoring history data part 1",
+    "Filename": "twdmchannelploamperformancemonitoringhistorydatapart1.go",
+    "CamelCase": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1",
+    "ClassID": 446,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Ploam Mic Errors",
+        "CamelCase": "PloamMicErrors",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_PloamMicErrors",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Downstream Ploam Message Count",
+        "CamelCase": "DownstreamPloamMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_DownstreamPloamMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Ranging_Time Message Count",
+        "CamelCase": "RangingTimeMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_RangingTimeMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Protection_Control Message Count",
+        "CamelCase": "ProtectionControlMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ProtectionControlMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Adjust_Tx_Wavelength Message Count",
+        "CamelCase": "AdjustTxWavelengthMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthMessageCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Adjust_Tx_Wavelength Adjustment Amplitude",
+        "CamelCase": "AdjustTxWavelengthAdjustmentAmplitude",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthAdjustmentAmplitude",
+        "Index": 8
+      }
+    }
+  },
+  "447": {
+    "Name": "TWDM channel PLOAM performance monitoring history data part 2",
+    "Filename": "twdmchannelploamperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 447,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "System_Profile Message Count",
+        "CamelCase": "SystemProfileMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SystemProfileMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Channel_Profile Message Count",
+        "CamelCase": "ChannelProfileMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ChannelProfileMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Burst_Profile Message Count",
+        "CamelCase": "BurstProfileMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_BurstProfileMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Assign_Onu_Id Message Count",
+        "CamelCase": "AssignOnuIdMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignOnuIdMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Unsatisfied Adjust_Tx_Wavelength Requests",
+        "CamelCase": "UnsatisfiedAdjustTxWavelengthRequests",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_UnsatisfiedAdjustTxWavelengthRequests",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Deactivate_Onu_Id Message Count",
+        "CamelCase": "DeactivateOnuIdMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DeactivateOnuIdMessageCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Disable_Serial_Number Message Count",
+        "CamelCase": "DisableSerialNumberMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DisableSerialNumberMessageCount",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Request_Registration Message Count",
+        "CamelCase": "RequestRegistrationMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_RequestRegistrationMessageCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Assign_Alloc_Id Message Count",
+        "CamelCase": "AssignAllocIdMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignAllocIdMessageCount",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Key_Control Message Count",
+        "CamelCase": "KeyControlMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_KeyControlMessageCount",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Sleep_Allow Message Count",
+        "CamelCase": "SleepAllowMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SleepAllowMessageCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tuning_Control_Request Message Count",
+        "CamelCase": "TuningControlRequestMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlRequestMessageCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tuning_Control_Complete_D Message Count",
+        "CamelCase": "TuningControlCompleteDMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlCompleteDMessageCount",
+        "Index": 15
+      },
+      "16": {
+        "Name": "Calibration_Request Message Count",
+        "CamelCase": "CalibrationRequestMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_CalibrationRequestMessageCount",
+        "Index": 16
+      }
+    }
+  },
+  "448": {
+    "Name": "TWDM channel PLOAM performance monitoring history data part 3",
+    "Filename": "twdmchannelploamperformancemonitoringhistorydatapart3.go",
+    "CamelCase": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3",
+    "ClassID": 448,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Upstream Ploam Message Count",
+        "CamelCase": "UpstreamPloamMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_UpstreamPloamMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Serial_Number_Onu In_Band Message Count",
+        "CamelCase": "SerialNumberOnuInBandMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuInBandMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Serial_Number_Onu Amcc Message Count",
+        "CamelCase": "SerialNumberOnuAmccMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuAmccMessageCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Registration Message Count",
+        "CamelCase": "RegistrationMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_RegistrationMessageCount",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Key_Report Message Count",
+        "CamelCase": "KeyReportMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_KeyReportMessageCount",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Acknowledgement Message Count",
+        "CamelCase": "AcknowledgementMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_AcknowledgementMessageCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Sleep_Request Message Count",
+        "CamelCase": "SleepRequestMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SleepRequestMessageCount",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning_Response Ack_Nack Message Count",
+        "CamelCase": "TuningResponseAckNackMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseAckNackMessageCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tuning_Response Complete_U_Rollback Message Count",
+        "CamelCase": "TuningResponseCompleteURollbackMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseCompleteURollbackMessageCount",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Power_Consumption_Report Message Count",
+        "CamelCase": "PowerConsumptionReportMessageCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_PowerConsumptionReportMessageCount",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Change_Power_Level Parameter Error Count",
+        "CamelCase": "ChangePowerLevelParameterErrorCount",
+        "Final": "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ChangePowerLevelParameterErrorCount",
+        "Index": 13
+      }
+    }
+  },
+  "449": {
+    "Name": "TWDM channel tuning performance monitoring history data part 1",
+    "Filename": "twdmchanneltuningperformancemonitoringhistorydatapart1.go",
+    "CamelCase": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1",
+    "ClassID": 449,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tuning Control Requests For Rx Only Or Rx And Tx",
+        "CamelCase": "TuningControlRequestsForRxOnlyOrRxAndTx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForRxOnlyOrRxAndTx",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tuning Control Requests For Tx Only",
+        "CamelCase": "TuningControlRequestsForTxOnly",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForTxOnly",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tuning Control Requests Rejected_Int_Sfc",
+        "CamelCase": "TuningControlRequestsRejectedIntSfc",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedIntSfc",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tuning Control Requests Rejected_Ds_Xxx",
+        "CamelCase": "TuningControlRequestsRejectedDsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedDsXxx",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tuning Control Requests Rejected_Us_Xxx",
+        "CamelCase": "TuningControlRequestsRejectedUsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedUsXxx",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tuning Control Requests Fulfilled With Onu Reacquired At Target Channel",
+        "CamelCase": "TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Tuning Control Requests Failed Due To Target Ds Wavelength Channel Not Found",
+        "CamelCase": "TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning Control Requests Failed Due To No Feedback In Target Ds Wavelength Channel",
+        "CamelCase": "TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tuning Control Requests Resolved With Onu Reacquired At Discretionary Channel",
+        "CamelCase": "TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tuning Control Requests Rollback_Com_Ds",
+        "CamelCase": "TuningControlRequestsRollbackComDs",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackComDs",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tuning Control Requests Rollback_Ds_Xxx",
+        "CamelCase": "TuningControlRequestsRollbackDsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackDsXxx",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tuning Control Requests Rollback_Us_Xxx",
+        "CamelCase": "TuningControlRequestsRollbackUsXxx",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackUsXxx",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tuning Control Requests Failed With Onu Reactivation",
+        "CamelCase": "TuningControlRequestsFailedWithOnuReactivation",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedWithOnuReactivation",
+        "Index": 15
+      }
+    }
+  },
+  "450": {
+    "Name": "TWDM channel tuning performance monitoring history data part 2",
+    "Filename": "twdmchanneltuningperformancemonitoringhistorydatapart2.go",
+    "CamelCase": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2",
+    "ClassID": 450,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tuning Control Requests Rejected_Ds_Albl",
+        "CamelCase": "TuningControlRequestsRejectedDsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsAlbl",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tuning Control Requests Rejected_Ds_Void",
+        "CamelCase": "TuningControlRequestsRejectedDsVoid",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsVoid",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tuning Control Requests Rejected_Ds_Part",
+        "CamelCase": "TuningControlRequestsRejectedDsPart",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsPart",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tuning Control Requests Rejected_Ds_Tunr",
+        "CamelCase": "TuningControlRequestsRejectedDsTunr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsTunr",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tuning Control Requests Rejected_Ds_Lnrt",
+        "CamelCase": "TuningControlRequestsRejectedDsLnrt",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLnrt",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tuning Control Requests Rejected_Ds_Lncd",
+        "CamelCase": "TuningControlRequestsRejectedDsLncd",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLncd",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Tuning Control Requests Rejected_Us_Albl",
+        "CamelCase": "TuningControlRequestsRejectedUsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsAlbl",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning Control Requests Rejected_Us_Void",
+        "CamelCase": "TuningControlRequestsRejectedUsVoid",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsVoid",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Tuning Control Requests Rejected_Us_Tunr",
+        "CamelCase": "TuningControlRequestsRejectedUsTunr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsTunr",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Tuning Control Requests Rejected_Us_Clbr",
+        "CamelCase": "TuningControlRequestsRejectedUsClbr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsClbr",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Tuning Control Requests Rejected_Us_Lktp",
+        "CamelCase": "TuningControlRequestsRejectedUsLktp",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLktp",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Tuning Control Requests Rejected_Us_Lnrt",
+        "CamelCase": "TuningControlRequestsRejectedUsLnrt",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLnrt",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Tuning Control Requests Rejected_Us_Lncd",
+        "CamelCase": "TuningControlRequestsRejectedUsLncd",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLncd",
+        "Index": 15
+      }
+    }
+  },
+  "451": {
+    "Name": "TWDM channel tuning performance monitoring history data part 3",
+    "Filename": "twdmchanneltuningperformancemonitoringhistorydatapart3.go",
+    "CamelCase": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3",
+    "ClassID": 451,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Tuning Control Requests Rollback_Ds_Albl",
+        "CamelCase": "TuningControlRequestsRollbackDsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsAlbl",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Tuning Control Requests Rollback_Ds_Lktp",
+        "CamelCase": "TuningControlRequestsRollbackDsLktp",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsLktp",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Tuning Control Requests Rollback_Us_Albl",
+        "CamelCase": "TuningControlRequestsRollbackUsAlbl",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsAlbl",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Tuning Control Requests Rollback_Us_Void",
+        "CamelCase": "TuningControlRequestsRollbackUsVoid",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsVoid",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Tuning Control Requests Rollback_Us_Tunr",
+        "CamelCase": "TuningControlRequestsRollbackUsTunr",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsTunr",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Tuning Control Requests Rollback_Us_Lktp",
+        "CamelCase": "TuningControlRequestsRollbackUsLktp",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLktp",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Tuning Control Requests Rollback_Us_Lnrt",
+        "CamelCase": "TuningControlRequestsRollbackUsLnrt",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLnrt",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Tuning Control Requests Rollback_Us_Lncd",
+        "CamelCase": "TuningControlRequestsRollbackUsLncd",
+        "Final": "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLncd",
+        "Index": 10
+      }
+    }
+  },
+  "452": {
+    "Name": "TWDM channel OMCI performance monitoring history data",
+    "Filename": "twdmchannelomciperformancemonitoringhistorydata.go",
+    "CamelCase": "TwdmChannelOmciPerformanceMonitoringHistoryData",
+    "ClassID": 452,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 1_2 Id",
+        "CamelCase": "ThresholdData12Id",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_ThresholdData12Id",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Omci Baseline Message Count",
+        "CamelCase": "OmciBaselineMessageCount",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_OmciBaselineMessageCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Omci Extended Message Count",
+        "CamelCase": "OmciExtendedMessageCount",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_OmciExtendedMessageCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Omci Mic Error Count",
+        "CamelCase": "OmciMicErrorCount",
+        "Final": "TwdmChannelOmciPerformanceMonitoringHistoryData_OmciMicErrorCount",
+        "Index": 5
+      }
+    }
+  },
+  "453": {
+    "Name": "Enhanced FEC performance monitoring history data",
+    "Filename": "enhancedfecperformancemonitoringhistorydata.go",
+    "CamelCase": "EnhancedFecPerformanceMonitoringHistoryData",
+    "ClassID": 453,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 64 Bit Id",
+        "CamelCase": "ThresholdData64BitId",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_ThresholdData64BitId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Corrected Bytes",
+        "CamelCase": "CorrectedBytes",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_CorrectedBytes",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Corrected Code Words",
+        "CamelCase": "CorrectedCodeWords",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_CorrectedCodeWords",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Uncorrectable Code Words",
+        "CamelCase": "UncorrectableCodeWords",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_UncorrectableCodeWords",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Total Code Words",
+        "CamelCase": "TotalCodeWords",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_TotalCodeWords",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fec Seconds",
+        "CamelCase": "FecSeconds",
+        "Final": "EnhancedFecPerformanceMonitoringHistoryData_FecSeconds",
+        "Index": 7
+      }
+    }
+  },
+  "454": {
+    "Name": "Enhanced TC performance monitoring history data",
+    "Filename": "enhancedtcperformancemonitoringhistorydata.go",
+    "CamelCase": "EnhancedTcPerformanceMonitoringHistoryData",
+    "ClassID": 454,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Interval End Time",
+        "CamelCase": "IntervalEndTime",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_IntervalEndTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Threshold Data 64 Bit Id",
+        "CamelCase": "ThresholdData64BitId",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_ThresholdData64BitId",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Psbd Hec Error Count",
+        "CamelCase": "PsbdHecErrorCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_PsbdHecErrorCount",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Xgtc Hec Error Count",
+        "CamelCase": "XgtcHecErrorCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgtcHecErrorCount",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Unknown Profile Count",
+        "CamelCase": "UnknownProfileCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_UnknownProfileCount",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Transmitted Xgem Frames",
+        "CamelCase": "TransmittedXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_TransmittedXgemFrames",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Fragment Xgem Frames",
+        "CamelCase": "FragmentXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_FragmentXgemFrames",
+        "Index": 7
+      },
+      "8": {
+        "Name": "Xgem Hec Lost Words Count",
+        "CamelCase": "XgemHecLostWordsCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount",
+        "Index": 8
+      },
+      "9": {
+        "Name": "Xgem Key Errors",
+        "CamelCase": "XgemKeyErrors",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgemKeyErrors",
+        "Index": 9
+      },
+      "10": {
+        "Name": "Xgem Hec Error Count",
+        "CamelCase": "XgemHecErrorCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_XgemHecErrorCount",
+        "Index": 10
+      },
+      "11": {
+        "Name": "Transmitted Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "TransmittedBytesInNonIdleXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames",
+        "Index": 11
+      },
+      "12": {
+        "Name": "Received Bytes In Non_Idle Xgem Frames",
+        "CamelCase": "ReceivedBytesInNonIdleXgemFrames",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames",
+        "Index": 12
+      },
+      "13": {
+        "Name": "Lods Event Count",
+        "CamelCase": "LodsEventCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_LodsEventCount",
+        "Index": 13
+      },
+      "14": {
+        "Name": "Lods Event Restored Count",
+        "CamelCase": "LodsEventRestoredCount",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_LodsEventRestoredCount",
+        "Index": 14
+      },
+      "15": {
+        "Name": "Onu Reactivation By Lods Events",
+        "CamelCase": "OnuReactivationByLodsEvents",
+        "Final": "EnhancedTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents",
+        "Index": 15
+      }
+    }
+  },
+  "456": {
+    "Name": "ONU manufacturing data",
+    "Filename": "onumanufacturingdata.go",
+    "CamelCase": "OnuManufacturingData",
+    "ClassID": 456,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Manufacturer Name",
+        "CamelCase": "ManufacturerName",
+        "Final": "OnuManufacturingData_ManufacturerName",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Serial Number 1",
+        "CamelCase": "SerialNumber1",
+        "Final": "OnuManufacturingData_SerialNumber1",
+        "Index": 2
+      },
+      "3": {
+        "Name": "Serial Number 2",
+        "CamelCase": "SerialNumber2",
+        "Final": "OnuManufacturingData_SerialNumber2",
+        "Index": 3
+      },
+      "4": {
+        "Name": "Model Name",
+        "CamelCase": "ModelName",
+        "Final": "OnuManufacturingData_ModelName",
+        "Index": 4
+      },
+      "5": {
+        "Name": "Manufacturing Date",
+        "CamelCase": "ManufacturingDate",
+        "Final": "OnuManufacturingData_ManufacturingDate",
+        "Index": 5
+      },
+      "6": {
+        "Name": "Hardware_Revision",
+        "CamelCase": "HardwareRevision",
+        "Final": "OnuManufacturingData_HardwareRevision",
+        "Index": 6
+      },
+      "7": {
+        "Name": "Firmware_Revision",
+        "CamelCase": "FirmwareRevision",
+        "Final": "OnuManufacturingData_FirmwareRevision",
+        "Index": 7
+      }
+    }
+  },
+  "457": {
+    "Name": "ONU time configuration",
+    "Filename": "onutimeconfiguration.go",
+    "CamelCase": "OnuTimeConfiguration",
+    "ClassID": 457,
+    "Attributes": {
+      "0": {
+        "Name": "Managed Entity Id",
+        "CamelCase": "ManagedEntityId",
+        "Final": "ManagedEntityId",
+        "Index": 0
+      },
+      "1": {
+        "Name": "Current Local Onu Time",
+        "CamelCase": "CurrentLocalOnuTime",
+        "Final": "OnuTimeConfiguration_CurrentLocalOnuTime",
+        "Index": 1
+      },
+      "2": {
+        "Name": "Time Qualification Block",
+        "CamelCase": "TimeQualificationBlock",
+        "Final": "OnuTimeConfiguration_TimeQualificationBlock",
+        "Index": 2
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go
index 4956e89..030ff0a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/attribute.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -36,6 +36,9 @@
 	"github.com/google/gopacket"
 )
 
+// ManagedEntityID is a string constant that can be used for the 16-bit Entity ID
+const ManagedEntityID = "ManagedEntityId"
+
 // Attribute types
 type AttributeType uint8
 
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go
index 43d73da..1eb2deb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/attributeme.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -132,26 +132,38 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const AttributeMe_Name = "Name"
+const AttributeMe_Size = "Size"
+const AttributeMe_Access = "Access"
+const AttributeMe_Format = "Format"
+const AttributeMe_LowerLimit = "LowerLimit"
+const AttributeMe_UpperLimit = "UpperLimit"
+const AttributeMe_BitField = "BitField"
+const AttributeMe_CodePointsTable = "CodePointsTable"
+const AttributeMe_Support = "Support"
+
 func init() {
 	attributemeBME = &ManagedEntityDefinition{
 		Name:    "AttributeMe",
-		ClassID: 289,
+		ClassID: AttributeMeClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("Name", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("Size", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Access", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: ByteField("Format", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("LowerLimit", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("UpperLimit", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("BitField", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: TableField("CodePointsTable", TableAttributeType, 0x0100, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 8),
-			9: ByteField("Support", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(AttributeMe_Name, OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(AttributeMe_Size, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(AttributeMe_Access, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField(AttributeMe_Format, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(AttributeMe_LowerLimit, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(AttributeMe_UpperLimit, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(AttributeMe_BitField, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: TableField(AttributeMe_CodePointsTable, TableAttributeType, 0x0100, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 8),
+			9: ByteField(AttributeMe_Support, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go
index fd1eb1b..d4ef4e2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/authenticationsecuritymethod.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -84,10 +84,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const AuthenticationSecurityMethod_ValidationScheme = "ValidationScheme"
+const AuthenticationSecurityMethod_Username1 = "Username1"
+const AuthenticationSecurityMethod_Password = "Password"
+const AuthenticationSecurityMethod_Realm = "Realm"
+const AuthenticationSecurityMethod_Username2 = "Username2"
+
 func init() {
 	authenticationsecuritymethodBME = &ManagedEntityDefinition{
 		Name:    "AuthenticationSecurityMethod",
-		ClassID: 148,
+		ClassID: AuthenticationSecurityMethodClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -96,12 +104,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("ValidationScheme", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: MultiByteField("Username1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: MultiByteField("Password", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("Realm", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: MultiByteField("Username2", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(AuthenticationSecurityMethod_ValidationScheme, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField(AuthenticationSecurityMethod_Username1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField(AuthenticationSecurityMethod_Password, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(AuthenticationSecurityMethod_Realm, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: MultiByteField(AuthenticationSecurityMethod_Username2, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go
index 6aab0a9..5831e6f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/bbftr-069managementserver.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,20 +72,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const BbfTr069ManagementServer_AdministrativeState = "AdministrativeState"
+const BbfTr069ManagementServer_AcsNetworkAddress = "AcsNetworkAddress"
+const BbfTr069ManagementServer_AssociatedTag = "AssociatedTag"
+
 func init() {
 	bbftr069managementserverBME = &ManagedEntityDefinition{
 		Name:    "BbfTr069ManagementServer",
-		ClassID: 340,
+		ClassID: BbfTr069ManagementServerClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: Uint16Field("AcsNetworkAddress", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint16Field("AssociatedTag", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(BbfTr069ManagementServer_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field(BbfTr069ManagementServer_AcsNetworkAddress, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint16Field(BbfTr069ManagementServer_AssociatedTag, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go
index d901177..ac6bbf8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/callcontrolperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,10 +80,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const CallControlPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const CallControlPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const CallControlPerformanceMonitoringHistoryData_CallSetupFailures = "CallSetupFailures"
+const CallControlPerformanceMonitoringHistoryData_CallSetupTimer = "CallSetupTimer"
+const CallControlPerformanceMonitoringHistoryData_CallTerminateFailures = "CallTerminateFailures"
+const CallControlPerformanceMonitoringHistoryData_AnalogPortReleases = "AnalogPortReleases"
+const CallControlPerformanceMonitoringHistoryData_AnalogPortOffHookTimer = "AnalogPortOffHookTimer"
+
 func init() {
 	callcontrolperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "CallControlPerformanceMonitoringHistoryData",
-		ClassID: 140,
+		ClassID: CallControlPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -93,14 +103,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CallSetupFailures", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CallSetupTimer", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("CallTerminateFailures", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("AnalogPortReleases", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("AnalogPortOffHookTimer", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(CallControlPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(CallControlPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(CallControlPerformanceMonitoringHistoryData_CallSetupFailures, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(CallControlPerformanceMonitoringHistoryData_CallSetupTimer, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(CallControlPerformanceMonitoringHistoryData_CallTerminateFailures, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(CallControlPerformanceMonitoringHistoryData_AnalogPortReleases, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(CallControlPerformanceMonitoringHistoryData_AnalogPortOffHookTimer, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go
index 5b996c6..0434f5e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/cardholder.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -164,26 +164,38 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Cardholder_ActualPlugInUnitType = "ActualPlugInUnitType"
+const Cardholder_ExpectedPlugInUnitType = "ExpectedPlugInUnitType"
+const Cardholder_ExpectedPortCount = "ExpectedPortCount"
+const Cardholder_ExpectedEquipmentId = "ExpectedEquipmentId"
+const Cardholder_ActualEquipmentId = "ActualEquipmentId"
+const Cardholder_ProtectionProfilePointer = "ProtectionProfilePointer"
+const Cardholder_InvokeProtectionSwitch = "InvokeProtectionSwitch"
+const Cardholder_AlarmReportingControl = "AlarmReportingControl"
+const Cardholder_ArcInterval = "ArcInterval"
+
 func init() {
 	cardholderBME = &ManagedEntityDefinition{
 		Name:    "Cardholder",
-		ClassID: 5,
+		ClassID: CardholderClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("ActualPlugInUnitType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, false, false, 1),
-			2: ByteField("ExpectedPlugInUnitType", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("ExpectedPortCount", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: MultiByteField("ExpectedEquipmentId", StringAttributeType, 0x1000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: MultiByteField("ActualEquipmentId", StringAttributeType, 0x0800, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, true, false, 5),
-			6: ByteField("ProtectionProfilePointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: ByteField("InvokeProtectionSwitch", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8: ByteField("AlarmReportingControl", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
-			9: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(Cardholder_ActualPlugInUnitType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, false, false, 1),
+			2: ByteField(Cardholder_ExpectedPlugInUnitType, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(Cardholder_ExpectedPortCount, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: MultiByteField(Cardholder_ExpectedEquipmentId, StringAttributeType, 0x1000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: MultiByteField(Cardholder_ActualEquipmentId, StringAttributeType, 0x0800, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: ByteField(Cardholder_ProtectionProfilePointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: ByteField(Cardholder_InvokeProtectionSwitch, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: ByteField(Cardholder_AlarmReportingControl, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9: ByteField(Cardholder_ArcInterval, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go
index ad20760..0344d19 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/cesserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const CesServiceProfile_CesBufferedCdvTolerance = "CesBufferedCdvTolerance"
+const CesServiceProfile_ChannelAssociatedSignallingCas = "ChannelAssociatedSignallingCas"
+
 func init() {
 	cesserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "CesServiceProfile",
-		ClassID: 21,
+		ClassID: CesServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,9 +89,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("CesBufferedCdvTolerance", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("ChannelAssociatedSignallingCas", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(CesServiceProfile_CesBufferedCdvTolerance, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(CesServiceProfile_ChannelAssociatedSignallingCas, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go
index 0fa6a4e..277219e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/circuitpack.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -163,10 +163,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const CircuitPack_Type = "Type"
+const CircuitPack_NumberOfPorts = "NumberOfPorts"
+const CircuitPack_SerialNumber = "SerialNumber"
+const CircuitPack_Version = "Version"
+const CircuitPack_VendorId = "VendorId"
+const CircuitPack_AdministrativeState = "AdministrativeState"
+const CircuitPack_OperationalState = "OperationalState"
+const CircuitPack_BridgedOrIpInd = "BridgedOrIpInd"
+const CircuitPack_EquipmentId = "EquipmentId"
+const CircuitPack_CardConfiguration = "CardConfiguration"
+const CircuitPack_TotalTContBufferNumber = "TotalTContBufferNumber"
+const CircuitPack_TotalPriorityQueueNumber = "TotalPriorityQueueNumber"
+const CircuitPack_TotalTrafficSchedulerNumber = "TotalTrafficSchedulerNumber"
+const CircuitPack_PowerShedOverride = "PowerShedOverride"
+
 func init() {
 	circuitpackBME = &ManagedEntityDefinition{
 		Name:    "CircuitPack",
-		ClassID: 6,
+		ClassID: CircuitPackClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -175,21 +192,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("Type", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 1),
-			2:  ByteField("NumberOfPorts", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
-			3:  MultiByteField("SerialNumber", OctetsAttributeType, 0x2000, 8, toOctets("ICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 3),
-			4:  MultiByteField("Version", OctetsAttributeType, 0x1000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 4),
-			5:  MultiByteField("VendorId", StringAttributeType, 0x0800, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("OperationalState", EnumerationAttributeType, 0x0200, 2, mapset.NewSetWith(Read), true, true, false, 7),
-			8:  ByteField("BridgedOrIpInd", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  MultiByteField("EquipmentId", StringAttributeType, 0x0080, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("CardConfiguration", EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("TotalTContBufferNumber", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: ByteField("TotalPriorityQueueNumber", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: ByteField("TotalTrafficSchedulerNumber", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("PowerShedOverride", BitFieldAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(CircuitPack_Type, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 1),
+			2:  ByteField(CircuitPack_NumberOfPorts, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
+			3:  MultiByteField(CircuitPack_SerialNumber, OctetsAttributeType, 0x2000, 8, toOctets("ICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  MultiByteField(CircuitPack_Version, OctetsAttributeType, 0x1000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField(CircuitPack_VendorId, StringAttributeType, 0x0800, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(CircuitPack_AdministrativeState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(CircuitPack_OperationalState, EnumerationAttributeType, 0x0200, 2, mapset.NewSetWith(Read), true, true, false, 7),
+			8:  ByteField(CircuitPack_BridgedOrIpInd, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  MultiByteField(CircuitPack_EquipmentId, StringAttributeType, 0x0080, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(CircuitPack_CardConfiguration, EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(CircuitPack_TotalTContBufferNumber, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: ByteField(CircuitPack_TotalPriorityQueueNumber, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: ByteField(CircuitPack_TotalTrafficSchedulerNumber, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(CircuitPack_PowerShedOverride, BitFieldAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go
index e38986f..4a2e255 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/classaccess.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go
index eef38d7..64c1ad6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/classidmap.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go
index 90b85d9..6162119 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/classsupport.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go
index 4358c0c..89ccf6f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/decodeerror.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go
index 08dda58..780fed8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agcfmstack.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -128,20 +128,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgCfmStack_Layer2Type = "Layer2Type"
+const Dot1AgCfmStack_MpStatusTable = "MpStatusTable"
+const Dot1AgCfmStack_ConfigurationErrorListTable = "ConfigurationErrorListTable"
+
 func init() {
 	dot1agcfmstackBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgCfmStack",
-		ClassID: 305,
+		ClassID: Dot1AgCfmStackClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("MpStatusTable", TableAttributeType, 0x4000, TableInfo{nil, 18}, mapset.NewSetWith(Read), false, false, false, 2),
-			3: TableField("ConfigurationErrorListTable", TableAttributeType, 0x2000, TableInfo{nil, 5}, mapset.NewSetWith(Read), true, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(Dot1AgCfmStack_Layer2Type, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField(Dot1AgCfmStack_MpStatusTable, TableAttributeType, 0x4000, TableInfo{nil, 18}, mapset.NewSetWith(Read), false, false, false, 2),
+			3: TableField(Dot1AgCfmStack_ConfigurationErrorListTable, TableAttributeType, 0x2000, TableInfo{nil, 5}, mapset.NewSetWith(Read), true, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go
index 75d0106..60539c2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agchassis-managementinfo.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -113,27 +113,40 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgChassisManagementInfo_ChassisIdLength = "ChassisIdLength"
+const Dot1AgChassisManagementInfo_ChassisIdSubtype = "ChassisIdSubtype"
+const Dot1AgChassisManagementInfo_ChassisIdPart1 = "ChassisIdPart1"
+const Dot1AgChassisManagementInfo_ChassisIdPart2 = "ChassisIdPart2"
+const Dot1AgChassisManagementInfo_ManagementAddressDomainLength = "ManagementAddressDomainLength"
+const Dot1AgChassisManagementInfo_ManagementAddressDomain1 = "ManagementAddressDomain1"
+const Dot1AgChassisManagementInfo_ManagementAddressDomain2 = "ManagementAddressDomain2"
+const Dot1AgChassisManagementInfo_ManagementAddressLength = "ManagementAddressLength"
+const Dot1AgChassisManagementInfo_ManagementAddress1 = "ManagementAddress1"
+const Dot1AgChassisManagementInfo_ManagementAddress2 = "ManagementAddress2"
+
 func init() {
 	dot1agchassismanagementinfoBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgChassisManagementInfo",
-		ClassID: 306,
+		ClassID: Dot1AgChassisManagementInfoClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ChassisIdLength", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("ChassisIdSubtype", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  MultiByteField("ChassisIdPart1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  MultiByteField("ChassisIdPart2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("ManagementAddressDomainLength", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  MultiByteField("ManagementAddressDomain1", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  MultiByteField("ManagementAddressDomain2", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("ManagementAddressLength", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  MultiByteField("ManagementAddress1", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: MultiByteField("ManagementAddress2", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Dot1AgChassisManagementInfo_ChassisIdLength, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(Dot1AgChassisManagementInfo_ChassisIdSubtype, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  MultiByteField(Dot1AgChassisManagementInfo_ChassisIdPart1, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  MultiByteField(Dot1AgChassisManagementInfo_ChassisIdPart2, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(Dot1AgChassisManagementInfo_ManagementAddressDomainLength, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  MultiByteField(Dot1AgChassisManagementInfo_ManagementAddressDomain1, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  MultiByteField(Dot1AgChassisManagementInfo_ManagementAddressDomain2, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(Dot1AgChassisManagementInfo_ManagementAddressLength, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  MultiByteField(Dot1AgChassisManagementInfo_ManagementAddress1, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: MultiByteField(Dot1AgChassisManagementInfo_ManagementAddress2, OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go
index 0d1e13e..457aa8d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agdefaultmdlevel.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -152,10 +152,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgDefaultMdLevel_Layer2Type = "Layer2Type"
+const Dot1AgDefaultMdLevel_CatchallLevel = "CatchallLevel"
+const Dot1AgDefaultMdLevel_CatchallMhfCreation = "CatchallMhfCreation"
+const Dot1AgDefaultMdLevel_CatchallSenderIdPermission = "CatchallSenderIdPermission"
+const Dot1AgDefaultMdLevel_DefaultMdLevelTable = "DefaultMdLevelTable"
+
 func init() {
 	dot1agdefaultmdlevelBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgDefaultMdLevel",
-		ClassID: 301,
+		ClassID: Dot1AgDefaultMdLevelClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -164,12 +172,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("CatchallLevel", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("CatchallMhfCreation", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("CatchallSenderIdPermission", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: TableField("DefaultMdLevelTable", TableAttributeType, 0x0800, TableInfo{nil, 29}, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(Dot1AgDefaultMdLevel_Layer2Type, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(Dot1AgDefaultMdLevel_CatchallLevel, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(Dot1AgDefaultMdLevel_CatchallMhfCreation, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(Dot1AgDefaultMdLevel_CatchallSenderIdPermission, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: TableField(Dot1AgDefaultMdLevel_DefaultMdLevelTable, TableAttributeType, 0x0800, TableInfo{nil, 29}, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go
index b898665..9122a6c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenanceassociation.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -135,10 +135,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgMaintenanceAssociation_MdPointer = "MdPointer"
+const Dot1AgMaintenanceAssociation_ShortMaNameFormat = "ShortMaNameFormat"
+const Dot1AgMaintenanceAssociation_ShortMaName1 = "ShortMaName1"
+const Dot1AgMaintenanceAssociation_ShortMaName2 = "ShortMaName2"
+const Dot1AgMaintenanceAssociation_ContinuityCheckMessageCcmInterval = "ContinuityCheckMessageCcmInterval"
+const Dot1AgMaintenanceAssociation_AssociatedVlans = "AssociatedVlans"
+const Dot1AgMaintenanceAssociation_MhfCreation = "MhfCreation"
+
 func init() {
 	dot1agmaintenanceassociationBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgMaintenanceAssociation",
-		ClassID: 300,
+		ClassID: Dot1AgMaintenanceAssociationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -147,14 +157,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MdPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("ShortMaNameFormat", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: MultiByteField("ShortMaName1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("ShortMaName2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("ContinuityCheckMessageCcmInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint16Field("AssociatedVlans", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: ByteField("MhfCreation", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(Dot1AgMaintenanceAssociation_MdPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Dot1AgMaintenanceAssociation_ShortMaNameFormat, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: MultiByteField(Dot1AgMaintenanceAssociation_ShortMaName1, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(Dot1AgMaintenanceAssociation_ShortMaName2, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(Dot1AgMaintenanceAssociation_ContinuityCheckMessageCcmInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field(Dot1AgMaintenanceAssociation_AssociatedVlans, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: ByteField(Dot1AgMaintenanceAssociation_MhfCreation, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go
index 5f191a5..f64688d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmaintenancedomain.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,10 +118,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgMaintenanceDomain_MdLevel = "MdLevel"
+const Dot1AgMaintenanceDomain_MdNameFormat = "MdNameFormat"
+const Dot1AgMaintenanceDomain_MdName1 = "MdName1"
+const Dot1AgMaintenanceDomain_MdName2 = "MdName2"
+const Dot1AgMaintenanceDomain_MaintenanceDomainIntermediatePointHalfFunctionMhfCreation = "MaintenanceDomainIntermediatePointHalfFunctionMhfCreation"
+const Dot1AgMaintenanceDomain_SenderIdPermission = "SenderIdPermission"
+
 func init() {
 	dot1agmaintenancedomainBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgMaintenanceDomain",
-		ClassID: 299,
+		ClassID: Dot1AgMaintenanceDomainClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,13 +139,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("MdLevel", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("MdNameFormat", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: MultiByteField("MdName1", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("MdName2", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("MaintenanceDomainIntermediatePointHalfFunctionMhfCreation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: ByteField("SenderIdPermission", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(Dot1AgMaintenanceDomain_MdLevel, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Dot1AgMaintenanceDomain_MdNameFormat, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: MultiByteField(Dot1AgMaintenanceDomain_MdName1, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(Dot1AgMaintenanceDomain_MdName2, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(Dot1AgMaintenanceDomain_MaintenanceDomainIntermediatePointHalfFunctionMhfCreation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: ByteField(Dot1AgMaintenanceDomain_SenderIdPermission, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go
index 44cce8c..60eb007 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1agmep.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -141,10 +141,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1AgMep_Layer2EntityPointer = "Layer2EntityPointer"
+const Dot1AgMep_Layer2Type = "Layer2Type"
+const Dot1AgMep_MaPointer = "MaPointer"
+const Dot1AgMep_MepId = "MepId"
+const Dot1AgMep_MepControl = "MepControl"
+const Dot1AgMep_PrimaryVlan = "PrimaryVlan"
+const Dot1AgMep_AdministrativeState = "AdministrativeState"
+const Dot1AgMep_CcmAndLtmPriority = "CcmAndLtmPriority"
+const Dot1AgMep_EgressIdentifier = "EgressIdentifier"
+const Dot1AgMep_PeerMepIds = "PeerMepIds"
+const Dot1AgMep_EthAisControl = "EthAisControl"
+const Dot1AgMep_FaultAlarmThreshold = "FaultAlarmThreshold"
+const Dot1AgMep_AlarmDeclarationSoakTime = "AlarmDeclarationSoakTime"
+const Dot1AgMep_AlarmClearSoakTime = "AlarmClearSoakTime"
+
 func init() {
 	dot1agmepBME = &ManagedEntityDefinition{
 		Name:    "Dot1AgMep",
-		ClassID: 302,
+		ClassID: Dot1AgMepClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -153,21 +170,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("Layer2EntityPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("Layer2Type", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("MaPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("MepId", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("MepControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("PrimaryVlan", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("CcmAndLtmPriority", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint64Field("EgressIdentifier", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: MultiByteField("PeerMepIds", OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: ByteField("EthAisControl", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: ByteField("FaultAlarmThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: Uint16Field("AlarmDeclarationSoakTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
-			14: Uint16Field("AlarmClearSoakTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(Dot1AgMep_Layer2EntityPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(Dot1AgMep_Layer2Type, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(Dot1AgMep_MaPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(Dot1AgMep_MepId, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(Dot1AgMep_MepControl, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(Dot1AgMep_PrimaryVlan, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(Dot1AgMep_AdministrativeState, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(Dot1AgMep_CcmAndLtmPriority, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint64Field(Dot1AgMep_EgressIdentifier, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: MultiByteField(Dot1AgMep_PeerMepIds, OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(Dot1AgMep_EthAisControl, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField(Dot1AgMep_FaultAlarmThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: Uint16Field(Dot1AgMep_AlarmDeclarationSoakTime, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			14: Uint16Field(Dot1AgMep_AlarmClearSoakTime, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go
index 71c88c5..4bae87c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1ratelimiter.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1RateLimiter_ParentMePointer = "ParentMePointer"
+const Dot1RateLimiter_TpType = "TpType"
+const Dot1RateLimiter_UpstreamUnicastFloodRatePointer = "UpstreamUnicastFloodRatePointer"
+const Dot1RateLimiter_UpstreamBroadcastRatePointer = "UpstreamBroadcastRatePointer"
+const Dot1RateLimiter_UpstreamMulticastPayloadRatePointer = "UpstreamMulticastPayloadRatePointer"
+
 func init() {
 	dot1ratelimiterBME = &ManagedEntityDefinition{
 		Name:    "Dot1RateLimiter",
-		ClassID: 298,
+		ClassID: Dot1RateLimiterClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -90,12 +98,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("ParentMePointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("TpType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("UpstreamUnicastFloodRatePointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4: Uint16Field("UpstreamBroadcastRatePointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: Uint16Field("UpstreamMulticastPayloadRatePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(Dot1RateLimiter_ParentMePointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(Dot1RateLimiter_TpType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(Dot1RateLimiter_UpstreamUnicastFloodRatePointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint16Field(Dot1RateLimiter_UpstreamBroadcastRatePointer, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: Uint16Field(Dot1RateLimiter_UpstreamMulticastPayloadRatePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go
index ad53d44..bb41523 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -110,27 +110,40 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1XConfigurationProfile_CircuitIdPrefix = "CircuitIdPrefix"
+const Dot1XConfigurationProfile_FallbackPolicy = "FallbackPolicy"
+const Dot1XConfigurationProfile_AuthServer1 = "AuthServer1"
+const Dot1XConfigurationProfile_SharedSecretAuth1 = "SharedSecretAuth1"
+const Dot1XConfigurationProfile_AuthServer2 = "AuthServer2"
+const Dot1XConfigurationProfile_SharedSecretAuth2 = "SharedSecretAuth2"
+const Dot1XConfigurationProfile_AuthServer3 = "AuthServer3"
+const Dot1XConfigurationProfile_SharedSecretAuth3 = "SharedSecretAuth3"
+const Dot1XConfigurationProfile_OltProxyAddress = "OltProxyAddress"
+const Dot1XConfigurationProfile_CallingStationIdFormat = "CallingStationIdFormat"
+
 func init() {
 	dot1xconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "Dot1XConfigurationProfile",
-		ClassID: 291,
+		ClassID: Dot1XConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint16Field("CircuitIdPrefix", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("FallbackPolicy", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint16Field("AuthServer1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  MultiByteField("SharedSecretAuth1", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("AuthServer2", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  MultiByteField("SharedSecretAuth2", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  Uint16Field("AuthServer3", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  MultiByteField("SharedSecretAuth3", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  Uint32Field("OltProxyAddress", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("CallingStationIdFormat", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field(Dot1XConfigurationProfile_CircuitIdPrefix, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(Dot1XConfigurationProfile_FallbackPolicy, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field(Dot1XConfigurationProfile_AuthServer1, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  MultiByteField(Dot1XConfigurationProfile_SharedSecretAuth1, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field(Dot1XConfigurationProfile_AuthServer2, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField(Dot1XConfigurationProfile_SharedSecretAuth2, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  Uint16Field(Dot1XConfigurationProfile_AuthServer3, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField(Dot1XConfigurationProfile_SharedSecretAuth3, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint32Field(Dot1XConfigurationProfile_OltProxyAddress, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(Dot1XConfigurationProfile_CallingStationIdFormat, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go
index e9d2177..8530a26 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -102,10 +102,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1XPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const Dot1XPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const Dot1XPerformanceMonitoringHistoryData_EapolFramesReceived = "EapolFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapolFramesTransmitted = "EapolFramesTransmitted"
+const Dot1XPerformanceMonitoringHistoryData_EapolStartFramesReceived = "EapolStartFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapolLogoffFramesReceived = "EapolLogoffFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_InvalidEapolFramesReceived = "InvalidEapolFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapRespIdFramesReceived = "EapRespIdFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapResponseFramesReceived = "EapResponseFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapInitialRequestFramesTransmitted = "EapInitialRequestFramesTransmitted"
+const Dot1XPerformanceMonitoringHistoryData_EapRequestFramesTransmitted = "EapRequestFramesTransmitted"
+const Dot1XPerformanceMonitoringHistoryData_EapLengthErrorFramesReceived = "EapLengthErrorFramesReceived"
+const Dot1XPerformanceMonitoringHistoryData_EapSuccessFramesGeneratedAutonomously = "EapSuccessFramesGeneratedAutonomously"
+const Dot1XPerformanceMonitoringHistoryData_EapFailureFramesGeneratedAutonomously = "EapFailureFramesGeneratedAutonomously"
+
 func init() {
 	dot1xperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "Dot1XPerformanceMonitoringHistoryData",
-		ClassID: 292,
+		ClassID: Dot1XPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -115,21 +132,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("EapolFramesReceived", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("EapolFramesTransmitted", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("EapolStartFramesReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("EapolLogoffFramesReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("InvalidEapolFramesReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("EapRespIdFramesReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("EapResponseFramesReceived", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("EapInitialRequestFramesTransmitted", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("EapRequestFramesTransmitted", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("EapLengthErrorFramesReceived", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("EapSuccessFramesGeneratedAutonomously", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("EapFailureFramesGeneratedAutonomously", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Dot1XPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(Dot1XPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolFramesReceived, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolFramesTransmitted, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolStartFramesReceived, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapolLogoffFramesReceived, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_InvalidEapolFramesReceived, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapRespIdFramesReceived, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapResponseFramesReceived, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapInitialRequestFramesTransmitted, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapRequestFramesTransmitted, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapLengthErrorFramesReceived, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapSuccessFramesGeneratedAutonomously, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(Dot1XPerformanceMonitoringHistoryData_EapFailureFramesGeneratedAutonomously, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go
index 8970c4a..47e147d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/dot1xportextensionpackage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -167,29 +167,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Dot1XPortExtensionPackage_Dot1XEnable = "Dot1XEnable"
+const Dot1XPortExtensionPackage_ActionRegister = "ActionRegister"
+const Dot1XPortExtensionPackage_AuthenticatorPaeState = "AuthenticatorPaeState"
+const Dot1XPortExtensionPackage_BackendAuthenticationState = "BackendAuthenticationState"
+const Dot1XPortExtensionPackage_AdminControlledDirections = "AdminControlledDirections"
+const Dot1XPortExtensionPackage_OperationalControlledDirections = "OperationalControlledDirections"
+const Dot1XPortExtensionPackage_AuthenticatorControlledPortStatus = "AuthenticatorControlledPortStatus"
+const Dot1XPortExtensionPackage_QuietPeriod = "QuietPeriod"
+const Dot1XPortExtensionPackage_ServerTimeoutPeriod = "ServerTimeoutPeriod"
+const Dot1XPortExtensionPackage_ReAuthenticationPeriod = "ReAuthenticationPeriod"
+const Dot1XPortExtensionPackage_ReAuthenticationEnabled = "ReAuthenticationEnabled"
+const Dot1XPortExtensionPackage_KeyTransmissionEnabled = "KeyTransmissionEnabled"
+
 func init() {
 	dot1xportextensionpackageBME = &ManagedEntityDefinition{
 		Name:    "Dot1XPortExtensionPackage",
-		ClassID: 290,
+		ClassID: Dot1XPortExtensionPackageClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Dot1XEnable", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("ActionRegister", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Write), false, false, false, 2),
-			3:  ByteField("AuthenticatorPaeState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  ByteField("BackendAuthenticationState", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  ByteField("AdminControlledDirections", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  ByteField("OperationalControlledDirections", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  ByteField("AuthenticatorControlledPortStatus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint16Field("QuietPeriod", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  Uint16Field("ServerTimeoutPeriod", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("ReAuthenticationPeriod", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("ReAuthenticationEnabled", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("KeyTransmissionEnabled", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Dot1XPortExtensionPackage_Dot1XEnable, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(Dot1XPortExtensionPackage_ActionRegister, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Write), false, false, false, 2),
+			3:  ByteField(Dot1XPortExtensionPackage_AuthenticatorPaeState, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField(Dot1XPortExtensionPackage_BackendAuthenticationState, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  ByteField(Dot1XPortExtensionPackage_AdminControlledDirections, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField(Dot1XPortExtensionPackage_OperationalControlledDirections, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField(Dot1XPortExtensionPackage_AuthenticatorControlledPortStatus, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint16Field(Dot1XPortExtensionPackage_QuietPeriod, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint16Field(Dot1XPortExtensionPackage_ServerTimeoutPeriod, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(Dot1XPortExtensionPackage_ReAuthenticationPeriod, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(Dot1XPortExtensionPackage_ReAuthenticationEnabled, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Dot1XPortExtensionPackage_KeyTransmissionEnabled, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go
index b569180..93f0c1b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroup.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -86,10 +86,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingGroup_GroupId = "GroupId"
+const EfmBondingGroup_MinimumUpstreamGroupRate = "MinimumUpstreamGroupRate"
+const EfmBondingGroup_MinimumDownstreamGroupRate = "MinimumDownstreamGroupRate"
+const EfmBondingGroup_GroupAlarmEnable = "GroupAlarmEnable"
+
 func init() {
 	efmbondinggroupBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroup",
-		ClassID: 418,
+		ClassID: EfmBondingGroupClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,11 +105,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("GroupId", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("MinimumUpstreamGroupRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint32Field("MinimumDownstreamGroupRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("GroupAlarmEnable", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(EfmBondingGroup_GroupId, OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(EfmBondingGroup_MinimumUpstreamGroupRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint32Field(EfmBondingGroup_MinimumDownstreamGroupRate, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(EfmBondingGroup_GroupAlarmEnable, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go
index 55a24c3..47263da 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -89,10 +89,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingGroupPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EfmBondingGroupPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxBadFragments = "RxBadFragments"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxLostFragments = "RxLostFragments"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxLostStarts = "RxLostStarts"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxLostEnds = "RxLostEnds"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxFrames = "RxFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxFrames = "TxFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryData_RxBytes = "RxBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxBytes = "TxBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedFrames = "TxDiscardedFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedBytes = "TxDiscardedBytes"
+
 func init() {
 	efmbondinggroupperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroupPerformanceMonitoringHistoryData",
-		ClassID: 420,
+		ClassID: EfmBondingGroupPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -102,19 +117,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxBadFragments", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("RxLostFragments", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("RxLostStarts", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("RxLostEnds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TxFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("RxBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("TxBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TxDiscardedFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TxDiscardedBytes", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingGroupPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingGroupPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxBadFragments, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxLostFragments, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxLostStarts, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxLostEnds, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryData_RxBytes, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxBytes, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryData_TxDiscardedBytes, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
index ed3a34c..3138dbf 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinggroupperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -98,10 +98,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastFrames = "RxUnicastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastFrames = "TxUnicastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastBytes = "RxUnicastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastBytes = "TxUnicastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames = "RxBroadcastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames = "TxBroadcastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes = "RxBroadcastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes = "TxBroadcastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastFrames = "RxMulticastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastFrames = "TxMulticastFrames"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastBytes = "RxMulticastBytes"
+const EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastBytes = "TxMulticastBytes"
+
 func init() {
 	efmbondinggroupperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "EfmBondingGroupPerformanceMonitoringHistoryDataPart2",
-		ClassID: 421,
+		ClassID: EfmBondingGroupPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -111,21 +128,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxUnicastFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TxUnicastFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint64Field("RxUnicastBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint64Field("TxUnicastBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxBroadcastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TxBroadcastFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("RxBroadcastBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("TxBroadcastBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("RxMulticastFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TxMulticastFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint64Field("RxMulticastBytes", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint64Field("TxMulticastBytes", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxUnicastBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxUnicastBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_RxMulticastBytes, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint64Field(EfmBondingGroupPerformanceMonitoringHistoryDataPart2_TxMulticastBytes, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go
index 4df2d36..a38e1c5 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglink.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingLink_AssociatedGroupMeId = "AssociatedGroupMeId"
+const EfmBondingLink_LinkAlarmEnable = "LinkAlarmEnable"
+
 func init() {
 	efmbondinglinkBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingLink",
-		ClassID: 419,
+		ClassID: EfmBondingLinkClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,9 +89,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("AssociatedGroupMeId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("LinkAlarmEnable", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(EfmBondingLink_AssociatedGroupMeId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(EfmBondingLink_LinkAlarmEnable, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go
index 2ef9f2a..f0721e3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondinglinkperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingLinkPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EfmBondingLinkPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxErroredFragments = "RxErroredFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxSmallFragments = "RxSmallFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxLargeFragments = "RxLargeFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxDiscardedFragments = "RxDiscardedFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxFcsErrors = "RxFcsErrors"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxCodingErrors = "RxCodingErrors"
+const EfmBondingLinkPerformanceMonitoringHistoryData_RxFragments = "RxFragments"
+const EfmBondingLinkPerformanceMonitoringHistoryData_TxFragments = "TxFragments"
+
 func init() {
 	efmbondinglinkperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingLinkPerformanceMonitoringHistoryData",
-		ClassID: 422,
+		ClassID: EfmBondingLinkPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,17 +105,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxErroredFragments", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("RxSmallFragments", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("RxLargeFragments", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("RxDiscardedFragments", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxFcsErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("RxCodingErrors", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("RxFragments", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TxFragments", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingLinkPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingLinkPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxErroredFragments, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxSmallFragments, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxLargeFragments, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxDiscardedFragments, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxFcsErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxCodingErrors, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_RxFragments, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EfmBondingLinkPerformanceMonitoringHistoryData_TxFragments, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go
index 6585ce3..90fe2b6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingPortPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EfmBondingPortPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingPortPerformanceMonitoringHistoryData_RxFrames = "RxFrames"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxFrames = "TxFrames"
+const EfmBondingPortPerformanceMonitoringHistoryData_RxBytes = "RxBytes"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxBytes = "TxBytes"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedFrames = "TxDiscardedFrames"
+const EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedBytes = "TxDiscardedBytes"
+
 func init() {
 	efmbondingportperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EfmBondingPortPerformanceMonitoringHistoryData",
-		ClassID: 423,
+		ClassID: EfmBondingPortPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,15 +102,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("RxFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("TxFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("RxBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("TxBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("TxDiscardedFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("TxDiscardedBytes", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EfmBondingPortPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EfmBondingPortPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_RxFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_RxBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryData_TxDiscardedBytes, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go
index f2a1f15..767228b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/efmbondingportperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -99,10 +99,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastFrames = "RxUnicastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastFrames = "TxUnicastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastBytes = "RxUnicastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastBytes = "TxUnicastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames = "RxBroadcastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames = "TxBroadcastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes = "RxBroadcastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes = "TxBroadcastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastFrames = "RxMulticastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastFrames = "TxMulticastFrames"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastBytes = "RxMulticastBytes"
+const EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastBytes = "TxMulticastBytes"
+
 func init() {
 	efmbondingportperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "EfmBondingPortPerformanceMonitoringHistoryDataPart2",
-		ClassID: 424,
+		ClassID: EfmBondingPortPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -112,21 +129,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("RxUnicastFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TxUnicastFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("RxUnicastBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TxUnicastBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("RxBroadcastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TxBroadcastFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("RxBroadcastBytes", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TxBroadcastBytes", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("RxMulticastFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TxMulticastFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("RxMulticastBytes", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TxMulticastBytes", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EfmBondingPortPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxUnicastBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxUnicastBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxBroadcastBytes, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxBroadcastBytes, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_RxMulticastBytes, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EfmBondingPortPerformanceMonitoringHistoryDataPart2_TxMulticastBytes, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go
index d831e3e..7bf30a9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/energyconsumptionperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnergyConsumptionPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EnergyConsumptionPerformanceMonitoringHistoryData_DozeTime = "DozeTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_CyclicSleepTime = "CyclicSleepTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_WatchfulSleepTime = "WatchfulSleepTime"
+const EnergyConsumptionPerformanceMonitoringHistoryData_EnergyConsumed = "EnergyConsumed"
+
 func init() {
 	energyconsumptionperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EnergyConsumptionPerformanceMonitoringHistoryData",
-		ClassID: 343,
+		ClassID: EnergyConsumptionPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,13 +100,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("DozeTime", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CyclicSleepTime", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("WatchfulSleepTime", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("EnergyConsumed", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EnergyConsumptionPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EnergyConsumptionPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_DozeTime, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_CyclicSleepTime, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_WatchfulSleepTime, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(EnergyConsumptionPerformanceMonitoringHistoryData_EnergyConsumed, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go
index b3da774..0c3ac9f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedfecperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -77,10 +77,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnhancedFecPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EnhancedFecPerformanceMonitoringHistoryData_ThresholdData64BitId = "ThresholdData64BitId"
+const EnhancedFecPerformanceMonitoringHistoryData_CorrectedBytes = "CorrectedBytes"
+const EnhancedFecPerformanceMonitoringHistoryData_CorrectedCodeWords = "CorrectedCodeWords"
+const EnhancedFecPerformanceMonitoringHistoryData_UncorrectableCodeWords = "UncorrectableCodeWords"
+const EnhancedFecPerformanceMonitoringHistoryData_TotalCodeWords = "TotalCodeWords"
+const EnhancedFecPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+
 func init() {
 	enhancedfecperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EnhancedFecPerformanceMonitoringHistoryData",
-		ClassID: 453,
+		ClassID: EnhancedFecPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -90,14 +100,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint64Field("CorrectedBytes", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint64Field("CorrectedCodeWords", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint64Field("UncorrectableCodeWords", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint64Field("TotalCodeWords", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("FecSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EnhancedFecPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EnhancedFecPerformanceMonitoringHistoryData_ThresholdData64BitId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_CorrectedBytes, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_CorrectedCodeWords, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_UncorrectableCodeWords, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint64Field(EnhancedFecPerformanceMonitoringHistoryData_TotalCodeWords, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(EnhancedFecPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go
index 7c2948a..5c74bb0 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedsecuritycontrol.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -238,10 +238,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnhancedSecurityControl_OltCryptoCapabilities = "OltCryptoCapabilities"
+const EnhancedSecurityControl_OltRandomChallengeTable = "OltRandomChallengeTable"
+const EnhancedSecurityControl_OltChallengeStatus = "OltChallengeStatus"
+const EnhancedSecurityControl_OnuSelectedCryptoCapabilities = "OnuSelectedCryptoCapabilities"
+const EnhancedSecurityControl_OnuRandomChallengeTable = "OnuRandomChallengeTable"
+const EnhancedSecurityControl_OnuAuthenticationResultTable = "OnuAuthenticationResultTable"
+const EnhancedSecurityControl_OltAuthenticationResultTable = "OltAuthenticationResultTable"
+const EnhancedSecurityControl_OltResultStatus = "OltResultStatus"
+const EnhancedSecurityControl_OnuAuthenticationStatus = "OnuAuthenticationStatus"
+const EnhancedSecurityControl_MasterSessionKeyName = "MasterSessionKeyName"
+const EnhancedSecurityControl_BroadcastKeyTable = "BroadcastKeyTable"
+const EnhancedSecurityControl_EffectiveKeyLength = "EffectiveKeyLength"
+
 func init() {
 	enhancedsecuritycontrolBME = &ManagedEntityDefinition{
 		Name:    "EnhancedSecurityControl",
-		ClassID: 332,
+		ClassID: EnhancedSecurityControlClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -249,19 +264,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("OltCryptoCapabilities", OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 1),
-			2:  TableField("OltRandomChallengeTable", TableAttributeType, 0x4000, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OltChallengeStatus", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("OnuSelectedCryptoCapabilities", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  TableField("OnuRandomChallengeTable", TableAttributeType, 0x0800, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 5),
-			6:  TableField("OnuAuthenticationResultTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 6),
-			7:  TableField("OltAuthenticationResultTable", TableAttributeType, 0x0200, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("OltResultStatus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("OnuAuthenticationStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
-			10: MultiByteField("MasterSessionKeyName", OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
-			11: TableField("BroadcastKeyTable", TableAttributeType, 0x0020, TableInfo{nil, 18}, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("EffectiveKeyLength", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(EnhancedSecurityControl_OltCryptoCapabilities, OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 1),
+			2:  TableField(EnhancedSecurityControl_OltRandomChallengeTable, TableAttributeType, 0x4000, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(EnhancedSecurityControl_OltChallengeStatus, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(EnhancedSecurityControl_OnuSelectedCryptoCapabilities, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  TableField(EnhancedSecurityControl_OnuRandomChallengeTable, TableAttributeType, 0x0800, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 5),
+			6:  TableField(EnhancedSecurityControl_OnuAuthenticationResultTable, TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read), true, false, false, 6),
+			7:  TableField(EnhancedSecurityControl_OltAuthenticationResultTable, TableAttributeType, 0x0200, TableInfo{nil, 17}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(EnhancedSecurityControl_OltResultStatus, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(EnhancedSecurityControl_OnuAuthenticationStatus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: MultiByteField(EnhancedSecurityControl_MasterSessionKeyName, OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
+			11: TableField(EnhancedSecurityControl_BroadcastKeyTable, TableAttributeType, 0x0020, TableInfo{nil, 18}, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field(EnhancedSecurityControl_EffectiveKeyLength, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go
index ddc1605..9c51d30 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/enhancedtcperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -121,10 +121,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EnhancedTcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EnhancedTcPerformanceMonitoringHistoryData_ThresholdData64BitId = "ThresholdData64BitId"
+const EnhancedTcPerformanceMonitoringHistoryData_PsbdHecErrorCount = "PsbdHecErrorCount"
+const EnhancedTcPerformanceMonitoringHistoryData_XgtcHecErrorCount = "XgtcHecErrorCount"
+const EnhancedTcPerformanceMonitoringHistoryData_UnknownProfileCount = "UnknownProfileCount"
+const EnhancedTcPerformanceMonitoringHistoryData_TransmittedXgemFrames = "TransmittedXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_FragmentXgemFrames = "FragmentXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount = "XgemHecLostWordsCount"
+const EnhancedTcPerformanceMonitoringHistoryData_XgemKeyErrors = "XgemKeyErrors"
+const EnhancedTcPerformanceMonitoringHistoryData_XgemHecErrorCount = "XgemHecErrorCount"
+const EnhancedTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames = "TransmittedBytesInNonIdleXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames = "ReceivedBytesInNonIdleXgemFrames"
+const EnhancedTcPerformanceMonitoringHistoryData_LodsEventCount = "LodsEventCount"
+const EnhancedTcPerformanceMonitoringHistoryData_LodsEventRestoredCount = "LodsEventRestoredCount"
+const EnhancedTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents = "OnuReactivationByLodsEvents"
+
 func init() {
 	enhancedtcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EnhancedTcPerformanceMonitoringHistoryData",
-		ClassID: 454,
+		ClassID: EnhancedTcPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -134,22 +152,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint64Field("TransmittedXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint64Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint64Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint64Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("LodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EnhancedTcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EnhancedTcPerformanceMonitoringHistoryData_ThresholdData64BitId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_PsbdHecErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_XgtcHecErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_UnknownProfileCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_TransmittedXgemFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_FragmentXgemFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_XgemKeyErrors, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_XgemHecErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field(EnhancedTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_LodsEventCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_LodsEventRestoredCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(EnhancedTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go
index 8ee5afc..a1be9fb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/epondownstreamperformancemonitoringconfiguration.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,25 +83,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodWindow = "ErroredSymbolPeriodWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodThreshold = "ErroredSymbolPeriodThreshold"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameWindow = "ErroredFrameWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameThreshold = "ErroredFrameThreshold"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodWindow = "ErroredFramePeriodWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodThreshold = "ErroredFramePeriodThreshold"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryWindow = "ErroredFrameSecondsSummaryWindow"
+const EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryThreshold = "ErroredFrameSecondsSummaryThreshold"
+
 func init() {
 	epondownstreamperformancemonitoringconfigurationBME = &ManagedEntityDefinition{
 		Name:    "EponDownstreamPerformanceMonitoringConfiguration",
-		ClassID: 406,
+		ClassID: EponDownstreamPerformanceMonitoringConfigurationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint64Field("ErroredSymbolPeriodWindow", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: Uint64Field("ErroredSymbolPeriodThreshold", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("ErroredFrameWindow", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint32Field("ErroredFrameThreshold", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint32Field("ErroredFramePeriodWindow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6: Uint32Field("ErroredFramePeriodThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7: Uint16Field("ErroredFrameSecondsSummaryWindow", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8: Uint16Field("ErroredFrameSecondsSummaryThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint64Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodWindow, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint64Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredSymbolPeriodThreshold, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameWindow, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint32Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameThreshold, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint32Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodWindow, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6: Uint32Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFramePeriodThreshold, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: Uint16Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryWindow, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: Uint16Field(EponDownstreamPerformanceMonitoringConfiguration_ErroredFrameSecondsSummaryThreshold, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go
index 22bca67..c37dc0b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/equipmentextensionpackage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -90,19 +90,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EquipmentExtensionPackage_EnvironmentalSense = "EnvironmentalSense"
+const EquipmentExtensionPackage_ContactClosureOutput = "ContactClosureOutput"
+
 func init() {
 	equipmentextensionpackageBME = &ManagedEntityDefinition{
 		Name:    "EquipmentExtensionPackage",
-		ClassID: 160,
+		ClassID: EquipmentExtensionPackageClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("EnvironmentalSense", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: Uint16Field("ContactClosureOutput", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(EquipmentExtensionPackage_EnvironmentalSense, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint16Field(EquipmentExtensionPackage_ContactClosureOutput, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go
index d2401d8..0225950 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetflowterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -82,10 +82,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFlowTerminationPoint_DestinationMac = "DestinationMac"
+const EthernetFlowTerminationPoint_SourceMac = "SourceMac"
+const EthernetFlowTerminationPoint_TagPolicy = "TagPolicy"
+const EthernetFlowTerminationPoint_Tci = "Tci"
+const EthernetFlowTerminationPoint_Loopback = "Loopback"
+
 func init() {
 	ethernetflowterminationpointBME = &ManagedEntityDefinition{
 		Name:    "EthernetFlowTerminationPoint",
-		ClassID: 286,
+		ClassID: EthernetFlowTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,12 +102,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("DestinationMac", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: MultiByteField("SourceMac", OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("TagPolicy", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("Tci", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: ByteField("Loopback", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(EthernetFlowTerminationPoint_DestinationMac, OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: MultiByteField(EthernetFlowTerminationPoint_SourceMac, OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(EthernetFlowTerminationPoint_TagPolicy, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(EthernetFlowTerminationPoint_Tci, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField(EthernetFlowTerminationPoint_Loopback, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go
index bad6912..215ebc1 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -203,10 +203,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFrameExtendedPm_IntervalEndTime = "IntervalEndTime"
+const EthernetFrameExtendedPm_ControlBlock = "ControlBlock"
+const EthernetFrameExtendedPm_DropEvents = "DropEvents"
+const EthernetFrameExtendedPm_Octets = "Octets"
+const EthernetFrameExtendedPm_Frames = "Frames"
+const EthernetFrameExtendedPm_BroadcastFrames = "BroadcastFrames"
+const EthernetFrameExtendedPm_MulticastFrames = "MulticastFrames"
+const EthernetFrameExtendedPm_CrcErroredFrames = "CrcErroredFrames"
+const EthernetFrameExtendedPm_UndersizeFrames = "UndersizeFrames"
+const EthernetFrameExtendedPm_OversizeFrames = "OversizeFrames"
+const EthernetFrameExtendedPm_Frames64Octets = "Frames64Octets"
+const EthernetFrameExtendedPm_Frames65To127Octets = "Frames65To127Octets"
+const EthernetFrameExtendedPm_Frames128To255Octets = "Frames128To255Octets"
+const EthernetFrameExtendedPm_Frames256To511Octets = "Frames256To511Octets"
+const EthernetFrameExtendedPm_Frames512To1023Octets = "Frames512To1023Octets"
+const EthernetFrameExtendedPm_Frames1024To1518Octets = "Frames1024To1518Octets"
+
 func init() {
 	ethernetframeextendedpmBME = &ManagedEntityDefinition{
 		Name:    "EthernetFrameExtendedPm",
-		ClassID: 334,
+		ClassID: EthernetFrameExtendedPmClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -216,23 +235,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  MultiByteField("ControlBlock", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Frames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("CrcErroredFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("UndersizeFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("OversizeFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Frames64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Frames65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Frames128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Frames256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Frames512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Frames1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFrameExtendedPm_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField(EthernetFrameExtendedPm_ControlBlock, OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetFrameExtendedPm_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetFrameExtendedPm_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetFrameExtendedPm_Frames, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetFrameExtendedPm_BroadcastFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetFrameExtendedPm_MulticastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetFrameExtendedPm_CrcErroredFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetFrameExtendedPm_UndersizeFrames, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetFrameExtendedPm_OversizeFrames, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetFrameExtendedPm_Frames64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetFrameExtendedPm_Frames65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetFrameExtendedPm_Frames128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetFrameExtendedPm_Frames256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetFrameExtendedPm_Frames512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetFrameExtendedPm_Frames1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go
index 4d3eb90..b4d333f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeextendedpm64-bit.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -202,10 +202,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFrameExtendedPm64Bit_IntervalEndTime = "IntervalEndTime"
+const EthernetFrameExtendedPm64Bit_ControlBlock = "ControlBlock"
+const EthernetFrameExtendedPm64Bit_DropEvents = "DropEvents"
+const EthernetFrameExtendedPm64Bit_Octets = "Octets"
+const EthernetFrameExtendedPm64Bit_Frames = "Frames"
+const EthernetFrameExtendedPm64Bit_BroadcastFrames = "BroadcastFrames"
+const EthernetFrameExtendedPm64Bit_MulticastFrames = "MulticastFrames"
+const EthernetFrameExtendedPm64Bit_CrcErroredFrames = "CrcErroredFrames"
+const EthernetFrameExtendedPm64Bit_UndersizeFrames = "UndersizeFrames"
+const EthernetFrameExtendedPm64Bit_OversizeFrames = "OversizeFrames"
+const EthernetFrameExtendedPm64Bit_Frames64Octets = "Frames64Octets"
+const EthernetFrameExtendedPm64Bit_Frames65To127Octets = "Frames65To127Octets"
+const EthernetFrameExtendedPm64Bit_Frames128To255Octets = "Frames128To255Octets"
+const EthernetFrameExtendedPm64Bit_Frames256To511Octets = "Frames256To511Octets"
+const EthernetFrameExtendedPm64Bit_Frames512To1023Octets = "Frames512To1023Octets"
+const EthernetFrameExtendedPm64Bit_Frames1024To1518Octets = "Frames1024To1518Octets"
+
 func init() {
 	ethernetframeextendedpm64bitBME = &ManagedEntityDefinition{
 		Name:    "EthernetFrameExtendedPm64Bit",
-		ClassID: 425,
+		ClassID: EthernetFrameExtendedPm64BitClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -215,23 +234,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  MultiByteField("ControlBlock", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint64Field("Frames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint64Field("BroadcastFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint64Field("MulticastFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint64Field("CrcErroredFrames", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("UndersizeFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("OversizeFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint64Field("Frames64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint64Field("Frames65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint64Field("Frames128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint64Field("Frames256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint64Field("Frames512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint64Field("Frames1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFrameExtendedPm64Bit_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField(EthernetFrameExtendedPm64Bit_ControlBlock, OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(EthernetFrameExtendedPm64Bit_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(EthernetFrameExtendedPm64Bit_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field(EthernetFrameExtendedPm64Bit_Frames, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field(EthernetFrameExtendedPm64Bit_BroadcastFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field(EthernetFrameExtendedPm64Bit_MulticastFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint64Field(EthernetFrameExtendedPm64Bit_CrcErroredFrames, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(EthernetFrameExtendedPm64Bit_UndersizeFrames, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(EthernetFrameExtendedPm64Bit_OversizeFrames, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field(EthernetFrameExtendedPm64Bit_Frames64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field(EthernetFrameExtendedPm64Bit_Frames65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint64Field(EthernetFrameExtendedPm64Bit_Frames128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint64Field(EthernetFrameExtendedPm64Bit_Frames256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint64Field(EthernetFrameExtendedPm64Bit_Frames512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint64Field(EthernetFrameExtendedPm64Bit_Frames1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
index de3bb40..b1101a8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydatadownstream.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -116,10 +116,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime = "IntervalEndTime"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id = "ThresholdData12Id"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents = "DropEvents"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets = "Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets = "Packets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets = "BroadcastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets = "MulticastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets = "CrcErroredPackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets = "UndersizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets = "OversizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets = "Packets64Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets = "Packets65To127Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets = "Packets128To255Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets = "Packets256To511Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets = "Packets512To1023Octets"
+const EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets = "Packets1024To1518Octets"
+
 func init() {
 	ethernetframeperformancemonitoringhistorydatadownstreamBME = &ManagedEntityDefinition{
 		Name:    "EthernetFramePerformanceMonitoringHistoryDataDownstream",
-		ClassID: 321,
+		ClassID: EthernetFramePerformanceMonitoringHistoryDataDownstreamClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -129,23 +148,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("CrcErroredPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("OversizePackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFramePerformanceMonitoringHistoryDataDownstream_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_BroadcastPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_MulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_CrcErroredPackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_UndersizePackets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_OversizePackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataDownstream_Packets1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go
index 6970c10..54cf90f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetframeperformancemonitoringhistorydataupstream.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -124,10 +124,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime = "IntervalEndTime"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id = "ThresholdData12Id"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents = "DropEvents"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets = "Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets = "Packets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets = "BroadcastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets = "MulticastPackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets = "CrcErroredPackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets = "UndersizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets = "OversizePackets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets = "Packets64Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets = "Packets65To127Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets = "Packets128To255Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets = "Packets256To511Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets = "Packets512To1023Octets"
+const EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets = "Packets1024To1518Octets"
+
 func init() {
 	ethernetframeperformancemonitoringhistorydataupstreamBME = &ManagedEntityDefinition{
 		Name:    "EthernetFramePerformanceMonitoringHistoryDataUpstream",
-		ClassID: 322,
+		ClassID: EthernetFramePerformanceMonitoringHistoryDataUpstreamClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -137,23 +156,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("CrcErroredPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("OversizePackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetFramePerformanceMonitoringHistoryDataUpstream_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_BroadcastPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_MulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_CrcErroredPackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_UndersizePackets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_OversizePackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetFramePerformanceMonitoringHistoryDataUpstream_Packets1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go
index 37e2876..ea56521 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,10 +118,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const EthernetPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const EthernetPerformanceMonitoringHistoryData_FcsErrors = "FcsErrors"
+const EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter = "ExcessiveCollisionCounter"
+const EthernetPerformanceMonitoringHistoryData_LateCollisionCounter = "LateCollisionCounter"
+const EthernetPerformanceMonitoringHistoryData_FramesTooLong = "FramesTooLong"
+const EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive = "BufferOverflowsOnReceive"
+const EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit = "BufferOverflowsOnTransmit"
+const EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter = "SingleCollisionFrameCounter"
+const EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter = "MultipleCollisionsFrameCounter"
+const EthernetPerformanceMonitoringHistoryData_SqeCounter = "SqeCounter"
+const EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter = "DeferredTransmissionCounter"
+const EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter = "InternalMacTransmitErrorCounter"
+const EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter = "CarrierSenseErrorCounter"
+const EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter = "AlignmentErrorCounter"
+const EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter = "InternalMacReceiveErrorCounter"
+
 func init() {
 	ethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "EthernetPerformanceMonitoringHistoryData",
-		ClassID: 24,
+		ClassID: EthernetPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -131,23 +150,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("FcsErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("ExcessiveCollisionCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("LateCollisionCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("FramesTooLong", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("BufferOverflowsOnReceive", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("BufferOverflowsOnTransmit", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("SingleCollisionFrameCounter", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("MultipleCollisionsFrameCounter", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("SqeCounter", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("DeferredTransmissionCounter", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("InternalMacTransmitErrorCounter", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("CarrierSenseErrorCounter", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("AlignmentErrorCounter", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("InternalMacReceiveErrorCounter", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetPerformanceMonitoringHistoryData_FcsErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetPerformanceMonitoringHistoryData_ExcessiveCollisionCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetPerformanceMonitoringHistoryData_LateCollisionCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetPerformanceMonitoringHistoryData_FramesTooLong, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnReceive, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetPerformanceMonitoringHistoryData_BufferOverflowsOnTransmit, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetPerformanceMonitoringHistoryData_SingleCollisionFrameCounter, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetPerformanceMonitoringHistoryData_MultipleCollisionsFrameCounter, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetPerformanceMonitoringHistoryData_SqeCounter, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetPerformanceMonitoringHistoryData_DeferredTransmissionCounter, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetPerformanceMonitoringHistoryData_InternalMacTransmitErrorCounter, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetPerformanceMonitoringHistoryData_CarrierSenseErrorCounter, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetPerformanceMonitoringHistoryData_AlignmentErrorCounter, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetPerformanceMonitoringHistoryData_InternalMacReceiveErrorCounter, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go
index 6bb6fa1..93068cf 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -64,10 +64,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPerformanceMonitoringHistoryData2_IntervalEndTime = "IntervalEndTime"
+const EthernetPerformanceMonitoringHistoryData2_ThresholdData12Id = "ThresholdData12Id"
+const EthernetPerformanceMonitoringHistoryData2_PppoeFilteredFrameCounter = "PppoeFilteredFrameCounter"
+
 func init() {
 	ethernetperformancemonitoringhistorydata2BME = &ManagedEntityDefinition{
 		Name:    "EthernetPerformanceMonitoringHistoryData2",
-		ClassID: 89,
+		ClassID: EthernetPerformanceMonitoringHistoryData2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -77,10 +83,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("PppoeFilteredFrameCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(EthernetPerformanceMonitoringHistoryData2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(EthernetPerformanceMonitoringHistoryData2_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(EthernetPerformanceMonitoringHistoryData2_PppoeFilteredFrameCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go
index 8149d84..d09db2b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetperformancemonitoringhistorydata3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -133,10 +133,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPerformanceMonitoringHistoryData3_IntervalEndTime = "IntervalEndTime"
+const EthernetPerformanceMonitoringHistoryData3_ThresholdData12Id = "ThresholdData12Id"
+const EthernetPerformanceMonitoringHistoryData3_DropEvents = "DropEvents"
+const EthernetPerformanceMonitoringHistoryData3_Octets = "Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets = "Packets"
+const EthernetPerformanceMonitoringHistoryData3_BroadcastPackets = "BroadcastPackets"
+const EthernetPerformanceMonitoringHistoryData3_MulticastPackets = "MulticastPackets"
+const EthernetPerformanceMonitoringHistoryData3_UndersizePackets = "UndersizePackets"
+const EthernetPerformanceMonitoringHistoryData3_Fragments = "Fragments"
+const EthernetPerformanceMonitoringHistoryData3_Jabbers = "Jabbers"
+const EthernetPerformanceMonitoringHistoryData3_Packets64Octets = "Packets64Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets65To127Octets = "Packets65To127Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets128To255Octets = "Packets128To255Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets256To511Octets = "Packets256To511Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets512To1023Octets = "Packets512To1023Octets"
+const EthernetPerformanceMonitoringHistoryData3_Packets1024To1518Octets = "Packets1024To1518Octets"
+
 func init() {
 	ethernetperformancemonitoringhistorydata3BME = &ManagedEntityDefinition{
 		Name:    "EthernetPerformanceMonitoringHistoryData3",
-		ClassID: 296,
+		ClassID: EthernetPerformanceMonitoringHistoryData3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -146,23 +165,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("DropEvents", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Octets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Packets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("BroadcastPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("UndersizePackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("Fragments", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("Jabbers", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("Packets64Octets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("Packets65To127Octets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Packets128To255Octets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Packets256To511Octets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Packets512To1023Octets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("Packets1024To1518Octets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(EthernetPerformanceMonitoringHistoryData3_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(EthernetPerformanceMonitoringHistoryData3_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_DropEvents, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_Octets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_BroadcastPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_MulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_UndersizePackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(EthernetPerformanceMonitoringHistoryData3_Fragments, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Jabbers, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets64Octets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets65To127Octets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets128To255Octets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets256To511Octets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets512To1023Octets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(EthernetPerformanceMonitoringHistoryData3_Packets1024To1518Octets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go
index cd64e28..a6dd980 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ethernetpseudowireparameters.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -54,10 +54,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const EthernetPseudowireParameters_Mtu = "Mtu"
+
 func init() {
 	ethernetpseudowireparametersBME = &ManagedEntityDefinition{
 		Name:    "EthernetPseudowireParameters",
-		ClassID: 400,
+		ClassID: EthernetPseudowireParametersClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -66,8 +70,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("Mtu", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(EthernetPseudowireParameters_Mtu, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go
index 0487c71..d72f000 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/extendedvlantaggingoperationconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -554,10 +554,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ExtendedVlanTaggingOperationConfigurationData_AssociationType = "AssociationType"
+const ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTableMaxSize = "ReceivedFrameVlanTaggingOperationTableMaxSize"
+const ExtendedVlanTaggingOperationConfigurationData_InputTpid = "InputTpid"
+const ExtendedVlanTaggingOperationConfigurationData_OutputTpid = "OutputTpid"
+const ExtendedVlanTaggingOperationConfigurationData_DownstreamMode = "DownstreamMode"
+const ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable = "ReceivedFrameVlanTaggingOperationTable"
+const ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer = "AssociatedMePointer"
+const ExtendedVlanTaggingOperationConfigurationData_DscpToPBitMapping = "DscpToPBitMapping"
+const ExtendedVlanTaggingOperationConfigurationData_EnhancedMode = "EnhancedMode"
+const ExtendedVlanTaggingOperationConfigurationData_EnhancedReceivedFrameClassificationAndProcessingTable = "EnhancedReceivedFrameClassificationAndProcessingTable"
+
 func init() {
 	extendedvlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "ExtendedVlanTaggingOperationConfigurationData",
-		ClassID: 171,
+		ClassID: ExtendedVlanTaggingOperationConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -568,17 +581,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("AssociationType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("ReceivedFrameVlanTaggingOperationTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("InputTpid", UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("OutputTpid", UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("DownstreamMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  TableField("ReceivedFrameVlanTaggingOperationTable", TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("EnhancedMode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 9),
-			10: TableField("EnhancedReceivedFrameClassificationAndProcessingTable", TableAttributeType, 0x0040, TableInfo{nil, 28}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(ExtendedVlanTaggingOperationConfigurationData_AssociationType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTableMaxSize, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_InputTpid, UnsignedIntegerAttributeType, 0x2000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_OutputTpid, UnsignedIntegerAttributeType, 0x1000, 34984, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(ExtendedVlanTaggingOperationConfigurationData_DownstreamMode, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  TableField(ExtendedVlanTaggingOperationConfigurationData_ReceivedFrameVlanTaggingOperationTable, TableAttributeType, 0x0400, TableInfo{nil, 16}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(ExtendedVlanTaggingOperationConfigurationData_AssociatedMePointer, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  MultiByteField(ExtendedVlanTaggingOperationConfigurationData_DscpToPBitMapping, OctetsAttributeType, 0x0100, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(ExtendedVlanTaggingOperationConfigurationData_EnhancedMode, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 9),
+			10: TableField(ExtendedVlanTaggingOperationConfigurationData_EnhancedReceivedFrameClassificationAndProcessingTable, TableAttributeType, 0x0040, TableInfo{nil, 28}, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go
index 72d15d6..bd52332 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastchannelconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -40,6 +40,10 @@
 //		1.
 //
 //	Attributes
+//		Managed Entity Id
+//			This attribute uniquely identifies each instance of this ME. The value 0 is reserved. (R, set-
+//			by-create) (mandatory) (2 bytes)
+//
 //		Maximum Net Data Rate Maxndr
 //			Maximum net data rate (MAXNDR): This attribute specifies the value of the maximum net data rate.
 //			See clause 11.4.2.2 of [ITU-T G.9701]. Valid values range from 0 (0-kbit/s) to 4294967295
@@ -126,29 +130,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastChannelConfigurationProfile_MaximumNetDataRateMaxndr = "MaximumNetDataRateMaxndr"
+const FastChannelConfigurationProfile_MinimumExpectedThroughputMinetr = "MinimumExpectedThroughputMinetr"
+const FastChannelConfigurationProfile_MaximumGammaDataRateMaxgdr = "MaximumGammaDataRateMaxgdr"
+const FastChannelConfigurationProfile_MinimumGammaDataRateMingdr = "MinimumGammaDataRateMingdr"
+const FastChannelConfigurationProfile_MaximumDelayDelaymax = "MaximumDelayDelaymax"
+const FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstShineInpminShine = "MinimumImpulseNoiseProtectionAgainstShineInpminShine"
+const FastChannelConfigurationProfile_ShineRatioShineratio = "ShineRatioShineratio"
+const FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstReinInpminRein = "MinimumImpulseNoiseProtectionAgainstReinInpminRein"
+const FastChannelConfigurationProfile_ReinInterArrivalTimeIatRein = "ReinInterArrivalTimeIatRein"
+const FastChannelConfigurationProfile_MinimumReedSolomonRfecNfecRatioRnratio = "MinimumReedSolomonRfecNfecRatioRnratio"
+const FastChannelConfigurationProfile_RtxTcTestmodeRtxTestmode = "RtxTcTestmodeRtxTestmode"
+
 func init() {
 	fastchannelconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "FastChannelConfigurationProfile",
-		ClassID: 432,
+		ClassID: FastChannelConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
 			Get,
 			Set,
 		),
-		AllowedAttributeMask: 0xffc0,
+		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint32Field("MaximumNetDataRateMaxndr", UnknownAttributeType, 0x0000, 0, mapset.NewSetWith(Read, Write), false, false, false, 0),
-			1:  Uint32Field("MinimumExpectedThroughputMinetr", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  Uint32Field("MaximumGammaDataRateMaxgdr", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint32Field("MinimumGammaDataRateMingdr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint32Field("MaximumDelayDelaymax", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("MinimumImpulseNoiseProtectionAgainstShineInpminShine", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("ShineRatioShineratio", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("MinimumImpulseNoiseProtectionAgainstReinInpminRein", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("ReinInterArrivalTimeIatRein", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("MinimumReedSolomonRfecNfecRatioRnratio", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("RtxTcTestmodeRtxTestmode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field(FastChannelConfigurationProfile_MaximumNetDataRateMaxndr, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint32Field(FastChannelConfigurationProfile_MinimumExpectedThroughputMinetr, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint32Field(FastChannelConfigurationProfile_MaximumGammaDataRateMaxgdr, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint32Field(FastChannelConfigurationProfile_MinimumGammaDataRateMingdr, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint32Field(FastChannelConfigurationProfile_MaximumDelayDelaymax, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstShineInpminShine, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(FastChannelConfigurationProfile_ShineRatioShineratio, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(FastChannelConfigurationProfile_MinimumImpulseNoiseProtectionAgainstReinInpminRein, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(FastChannelConfigurationProfile_ReinInterArrivalTimeIatRein, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(FastChannelConfigurationProfile_MinimumReedSolomonRfecNfecRatioRnratio, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(FastChannelConfigurationProfile_RtxTcTestmodeRtxTestmode, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go
index f7d9546..b759115 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastdatapathconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -54,10 +54,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastDataPathConfigurationProfile_TpsTcTestmodeTpsTestmode = "TpsTcTestmodeTpsTestmode"
+
 func init() {
 	fastdatapathconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "FastDataPathConfigurationProfile",
-		ClassID: 433,
+		ClassID: FastDataPathConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -66,8 +70,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("TpsTcTestmodeTpsTestmode", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastDataPathConfigurationProfile_TpsTcTestmodeTpsTestmode, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go
index ae25b7f..a90dd37 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastlineinventoryandstatusdatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,21 +83,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads = "DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus = "DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads = "DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus = "DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus"
+const FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga = "DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga"
+
 func init() {
 	fastlineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
 		Name:    "FastLineInventoryAndStatusDataPart2",
-		ClassID: 436,
+		ClassID: FastLineInventoryAndStatusDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
-			2: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus", OctetsAttributeType, 0x4000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
-			3: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads", OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
-			4: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus", OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
-			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga", OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamFraOperationStampFrads, OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
+			2: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamFraOperationStampFraus, OctetsAttributeType, 0x4000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
+			3: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamRpaOperationStampRpads, OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulUpstreamRpaOperationStampRpaus, OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField(FastLineInventoryAndStatusDataPart2_DateTimeStampingOfLastSuccessfulDownstreamTigaOperationStampTiga, OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go
index acbe8d3..2697de5 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastvectoringlineconfigurationextensions.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -62,10 +62,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingUpstreamFextToCancelEnableus = "FextCancellationEnablingDisablingUpstreamFextToCancelEnableus"
+const FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingDownstreamFextToCancelEnableds = "FextCancellationEnablingDisablingDownstreamFextToCancelEnableds"
+
 func init() {
 	fastvectoringlineconfigurationextensionsBME = &ManagedEntityDefinition{
 		Name:    "FastVectoringLineConfigurationExtensions",
-		ClassID: 434,
+		ClassID: FastVectoringLineConfigurationExtensionsClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -74,9 +79,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("FextCancellationEnablingDisablingUpstreamFextToCancelEnableus", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("FextCancellationEnablingDisablingDownstreamFextToCancelEnableds", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingUpstreamFextToCancelEnableus, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(FastVectoringLineConfigurationExtensions_FextCancellationEnablingDisablingDownstreamFextToCancelEnableds, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go
index 0c2d554..a701cee 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-cperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastXtuCPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const FastXtuCPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const FastXtuCPerformanceMonitoringHistoryData_SuccessfulFraCounter = "SuccessfulFraCounter"
+const FastXtuCPerformanceMonitoringHistoryData_SuccessfulRpaCounter = "SuccessfulRpaCounter"
+const FastXtuCPerformanceMonitoringHistoryData_SuccessfulTigaCounter = "SuccessfulTigaCounter"
+
 func init() {
 	fastxtucperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "FastXtuCPerformanceMonitoringHistoryData",
-		ClassID: 437,
+		ClassID: FastXtuCPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,12 +92,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SuccessfulFraCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("SuccessfulRpaCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint32Field("SuccessfulTigaCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastXtuCPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(FastXtuCPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(FastXtuCPerformanceMonitoringHistoryData_SuccessfulFraCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(FastXtuCPerformanceMonitoringHistoryData_SuccessfulRpaCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field(FastXtuCPerformanceMonitoringHistoryData_SuccessfulTigaCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go
index 579f46f..5d2bde7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fastxtu-rperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -67,10 +67,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FastXtuRPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const FastXtuRPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const FastXtuRPerformanceMonitoringHistoryData_SuccessfulFraCounter = "SuccessfulFraCounter"
+const FastXtuRPerformanceMonitoringHistoryData_SuccessfulRpaCounter = "SuccessfulRpaCounter"
+
 func init() {
 	fastxturperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "FastXtuRPerformanceMonitoringHistoryData",
-		ClassID: 438,
+		ClassID: FastXtuRPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -79,11 +86,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SuccessfulFraCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("SuccessfulRpaCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FastXtuRPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(FastXtuRPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(FastXtuRPerformanceMonitoringHistoryData_SuccessfulFraCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(FastXtuRPerformanceMonitoringHistoryData_SuccessfulRpaCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go
index 1633e36..c39ff6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/fecperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const FecPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const FecPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const FecPerformanceMonitoringHistoryData_CorrectedBytes = "CorrectedBytes"
+const FecPerformanceMonitoringHistoryData_CorrectedCodeWords = "CorrectedCodeWords"
+const FecPerformanceMonitoringHistoryData_UncorrectableCodeWords = "UncorrectableCodeWords"
+const FecPerformanceMonitoringHistoryData_TotalCodeWords = "TotalCodeWords"
+const FecPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+
 func init() {
 	fecperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "FecPerformanceMonitoringHistoryData",
-		ClassID: 312,
+		ClassID: FecPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,14 +101,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CorrectedBytes", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("CorrectedCodeWords", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("UncorrectableCodeWords", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("TotalCodeWords", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("FecSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(FecPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(FecPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(FecPerformanceMonitoringHistoryData_CorrectedBytes, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(FecPerformanceMonitoringHistoryData_CorrectedCodeWords, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(FecPerformanceMonitoringHistoryData_UncorrectableCodeWords, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(FecPerformanceMonitoringHistoryData_TotalCodeWords, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(FecPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go
index 808da29..6d3846a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -62,10 +62,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GalEthernetPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const GalEthernetPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const GalEthernetPerformanceMonitoringHistoryData_DiscardedFrames = "DiscardedFrames"
+
 func init() {
 	galethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "GalEthernetPerformanceMonitoringHistoryData",
-		ClassID: 276,
+		ClassID: GalEthernetPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -75,10 +81,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("DiscardedFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(GalEthernetPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(GalEthernetPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(GalEthernetPerformanceMonitoringHistoryData_DiscardedFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go
index 9521dc6..ea44cee 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/galethernetprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -55,10 +55,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GalEthernetProfile_MaximumGemPayloadSize = "MaximumGemPayloadSize"
+
 func init() {
 	galethernetprofileBME = &ManagedEntityDefinition{
 		Name:    "GalEthernetProfile",
-		ClassID: 272,
+		ClassID: GalEthernetProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -67,8 +71,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MaximumGemPayloadSize", UnsignedIntegerAttributeType, 0x8000, 48, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(GalEthernetProfile_MaximumGemPayloadSize, UnsignedIntegerAttributeType, 0x8000, 48, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go
index 575d6f9..c0c9142 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/geminterworkingterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -151,10 +151,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer = "GemPortNetworkCtpConnectivityPointer"
+const GemInterworkingTerminationPoint_InterworkingOption = "InterworkingOption"
+const GemInterworkingTerminationPoint_ServiceProfilePointer = "ServiceProfilePointer"
+const GemInterworkingTerminationPoint_InterworkingTerminationPointPointer = "InterworkingTerminationPointPointer"
+const GemInterworkingTerminationPoint_PptpCounter = "PptpCounter"
+const GemInterworkingTerminationPoint_OperationalState = "OperationalState"
+const GemInterworkingTerminationPoint_GalProfilePointer = "GalProfilePointer"
+const GemInterworkingTerminationPoint_GalLoopbackConfiguration = "GalLoopbackConfiguration"
+
 func init() {
 	geminterworkingterminationpointBME = &ManagedEntityDefinition{
 		Name:    "GemInterworkingTerminationPoint",
-		ClassID: 266,
+		ClassID: GemInterworkingTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -163,15 +174,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("GemPortNetworkCtpConnectivityPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("InterworkingOption", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("ServiceProfilePointer", PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("InterworkingTerminationPointPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
-			7: Uint16Field("GalProfilePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8: ByteField("GalLoopbackConfiguration", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(GemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer, PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(GemInterworkingTerminationPoint_InterworkingOption, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(GemInterworkingTerminationPoint_ServiceProfilePointer, PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(GemInterworkingTerminationPoint_InterworkingTerminationPointPointer, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField(GemInterworkingTerminationPoint_PptpCounter, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: ByteField(GemInterworkingTerminationPoint_OperationalState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7: Uint16Field(GemInterworkingTerminationPoint_GalProfilePointer, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: ByteField(GemInterworkingTerminationPoint_GalLoopbackConfiguration, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go
index 627e052..ad0766c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctp.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -147,10 +147,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GemPortNetworkCtp_PortId = "PortId"
+const GemPortNetworkCtp_TContPointer = "TContPointer"
+const GemPortNetworkCtp_Direction = "Direction"
+const GemPortNetworkCtp_TrafficManagementPointerForUpstream = "TrafficManagementPointerForUpstream"
+const GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream = "TrafficDescriptorProfilePointerForUpstream"
+const GemPortNetworkCtp_UniCounter = "UniCounter"
+const GemPortNetworkCtp_PriorityQueuePointerForDownStream = "PriorityQueuePointerForDownStream"
+const GemPortNetworkCtp_EncryptionState = "EncryptionState"
+const GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream = "TrafficDescriptorProfilePointerForDownstream"
+const GemPortNetworkCtp_EncryptionKeyRing = "EncryptionKeyRing"
+
 func init() {
 	gemportnetworkctpBME = &ManagedEntityDefinition{
 		Name:    "GemPortNetworkCtp",
-		ClassID: 268,
+		ClassID: GemPortNetworkCtpClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -159,17 +172,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("PortId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("TContPointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("Direction", EnumerationAttributeType, 0x2000, 3, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("TrafficManagementPointerForUpstream", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("TrafficDescriptorProfilePointerForUpstream", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  ByteField("UniCounter", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  Uint16Field("PriorityQueuePointerForDownStream", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("EncryptionState", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint16Field("TrafficDescriptorProfilePointerForDownstream", PointerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: ByteField("EncryptionKeyRing", EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(GemPortNetworkCtp_PortId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(GemPortNetworkCtp_TContPointer, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(GemPortNetworkCtp_Direction, EnumerationAttributeType, 0x2000, 3, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(GemPortNetworkCtp_TrafficManagementPointerForUpstream, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(GemPortNetworkCtp_TrafficDescriptorProfilePointerForUpstream, PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  ByteField(GemPortNetworkCtp_UniCounter, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint16Field(GemPortNetworkCtp_PriorityQueuePointerForDownStream, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(GemPortNetworkCtp_EncryptionState, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint16Field(GemPortNetworkCtp_TrafficDescriptorProfilePointerForDownstream, PointerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: ByteField(GemPortNetworkCtp_EncryptionKeyRing, EnumerationAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go
index ec04ef9..8e5a586 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/gemportnetworkctpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,10 +96,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames = "TransmittedGemFrames"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames = "ReceivedGemFrames"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes = "ReceivedPayloadBytes"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes = "TransmittedPayloadBytes"
+const GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors = "EncryptionKeyErrors"
+
 func init() {
 	gemportnetworkctpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "GemPortNetworkCtpPerformanceMonitoringHistoryData",
-		ClassID: 341,
+		ClassID: GemPortNetworkCtpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -109,14 +119,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("TransmittedGemFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("ReceivedGemFrames", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint64Field("ReceivedPayloadBytes", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint64Field("TransmittedPayloadBytes", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("EncryptionKeyErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(GemPortNetworkCtpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedGemFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedGemFrames, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint64Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_ReceivedPayloadBytes, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint64Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_TransmittedPayloadBytes, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(GemPortNetworkCtpPerformanceMonitoringHistoryData_EncryptionKeyErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go
index 90cd13e..5d038bc 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/generalpurposebuffer.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -73,10 +73,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const GeneralPurposeBuffer_MaximumSize = "MaximumSize"
+const GeneralPurposeBuffer_BufferTable = "BufferTable"
+
 func init() {
 	generalpurposebufferBME = &ManagedEntityDefinition{
 		Name:    "GeneralPurposeBuffer",
-		ClassID: 308,
+		ClassID: GeneralPurposeBufferClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -85,9 +90,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("MaximumSize", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2: TableField("BufferTable", TableAttributeType, 0x4000, TableInfo{nil, -1}, mapset.NewSetWith(Read), true, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(GeneralPurposeBuffer_MaximumSize, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2: TableField(GeneralPurposeBuffer_BufferTable, TableAttributeType, 0x4000, TableInfo{nil, -1}, mapset.NewSetWith(Read), true, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go
index 989c783..ad61f87 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/ieee802.1pmapperserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -154,10 +154,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Ieee8021PMapperServiceProfile_TpPointer = "TpPointer"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0 = "InterworkTpPointerForPBitPriority0"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1 = "InterworkTpPointerForPBitPriority1"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2 = "InterworkTpPointerForPBitPriority2"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3 = "InterworkTpPointerForPBitPriority3"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4 = "InterworkTpPointerForPBitPriority4"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5 = "InterworkTpPointerForPBitPriority5"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6 = "InterworkTpPointerForPBitPriority6"
+const Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7 = "InterworkTpPointerForPBitPriority7"
+const Ieee8021PMapperServiceProfile_UnmarkedFrameOption = "UnmarkedFrameOption"
+const Ieee8021PMapperServiceProfile_DscpToPBitMapping = "DscpToPBitMapping"
+const Ieee8021PMapperServiceProfile_DefaultPBitAssumption = "DefaultPBitAssumption"
+const Ieee8021PMapperServiceProfile_TpType = "TpType"
+
 func init() {
 	ieee8021pmapperserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "Ieee8021PMapperServiceProfile",
-		ClassID: 130,
+		ClassID: Ieee8021PMapperServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -166,20 +182,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("TpPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("InterworkTpPointerForPBitPriority0", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("InterworkTpPointerForPBitPriority1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("InterworkTpPointerForPBitPriority2", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("InterworkTpPointerForPBitPriority3", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("InterworkTpPointerForPBitPriority4", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("InterworkTpPointerForPBitPriority5", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  Uint16Field("InterworkTpPointerForPBitPriority6", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint16Field("InterworkTpPointerForPBitPriority7", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: ByteField("UnmarkedFrameOption", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: MultiByteField("DscpToPBitMapping", OctetsAttributeType, 0x0020, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: ByteField("DefaultPBitAssumption", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("TpType", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(Ieee8021PMapperServiceProfile_TpPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority0, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority1, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority2, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority3, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority4, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority5, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority6, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field(Ieee8021PMapperServiceProfile_InterworkTpPointerForPBitPriority7, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField(Ieee8021PMapperServiceProfile_UnmarkedFrameOption, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: MultiByteField(Ieee8021PMapperServiceProfile_DscpToPBitMapping, OctetsAttributeType, 0x0020, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: ByteField(Ieee8021PMapperServiceProfile_DefaultPBitAssumption, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(Ieee8021PMapperServiceProfile_TpType, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go
index 0b1e18a..db27f38 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/interworkingvccterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,10 +96,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const InterworkingVccTerminationPoint_VciValue = "VciValue"
+const InterworkingVccTerminationPoint_VpNetworkCtpConnectivityPointer = "VpNetworkCtpConnectivityPointer"
+const InterworkingVccTerminationPoint_Deprecated1 = "Deprecated1"
+const InterworkingVccTerminationPoint_Deprecated2 = "Deprecated2"
+const InterworkingVccTerminationPoint_Aal5ProfilePointer = "Aal5ProfilePointer"
+const InterworkingVccTerminationPoint_Deprecated3 = "Deprecated3"
+const InterworkingVccTerminationPoint_AalLoopbackConfiguration = "AalLoopbackConfiguration"
+const InterworkingVccTerminationPoint_PptpCounter = "PptpCounter"
+const InterworkingVccTerminationPoint_OperationalState = "OperationalState"
+
 func init() {
 	interworkingvccterminationpointBME = &ManagedEntityDefinition{
 		Name:    "InterworkingVccTerminationPoint",
-		ClassID: 14,
+		ClassID: InterworkingVccTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -108,16 +120,16 @@
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("VciValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("VpNetworkCtpConnectivityPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("Deprecated1", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 3),
-			4: Uint16Field("Deprecated2", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
-			5: Uint16Field("Aal5ProfilePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint16Field("Deprecated3", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 6),
-			7: ByteField("AalLoopbackConfiguration", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8: ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(InterworkingVccTerminationPoint_VciValue, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(InterworkingVccTerminationPoint_VpNetworkCtpConnectivityPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(InterworkingVccTerminationPoint_Deprecated1, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 3),
+			4: Uint16Field(InterworkingVccTerminationPoint_Deprecated2, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
+			5: Uint16Field(InterworkingVccTerminationPoint_Aal5ProfilePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field(InterworkingVccTerminationPoint_Deprecated3, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 6),
+			7: ByteField(InterworkingVccTerminationPoint_AalLoopbackConfiguration, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField(InterworkingVccTerminationPoint_PptpCounter, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9: ByteField(InterworkingVccTerminationPoint_OperationalState, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go
index 7786d91..0c6c014 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -198,10 +198,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const IpHostConfigData_IpOptions = "IpOptions"
+const IpHostConfigData_MacAddress = "MacAddress"
+const IpHostConfigData_OnuIdentifier = "OnuIdentifier"
+const IpHostConfigData_IpAddress = "IpAddress"
+const IpHostConfigData_Mask = "Mask"
+const IpHostConfigData_Gateway = "Gateway"
+const IpHostConfigData_PrimaryDns = "PrimaryDns"
+const IpHostConfigData_SecondaryDns = "SecondaryDns"
+const IpHostConfigData_CurrentAddress = "CurrentAddress"
+const IpHostConfigData_CurrentMask = "CurrentMask"
+const IpHostConfigData_CurrentGateway = "CurrentGateway"
+const IpHostConfigData_CurrentPrimaryDns = "CurrentPrimaryDns"
+const IpHostConfigData_CurrentSecondaryDns = "CurrentSecondaryDns"
+const IpHostConfigData_DomainName = "DomainName"
+const IpHostConfigData_HostName = "HostName"
+const IpHostConfigData_RelayAgentOptions = "RelayAgentOptions"
+
 func init() {
 	iphostconfigdataBME = &ManagedEntityDefinition{
 		Name:    "IpHostConfigData",
-		ClassID: 134,
+		ClassID: IpHostConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -209,23 +228,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("IpOptions", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  MultiByteField("MacAddress", OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
-			3:  MultiByteField("OnuIdentifier", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint32Field("IpAddress", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint32Field("Mask", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint32Field("Gateway", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint32Field("PrimaryDns", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint32Field("SecondaryDns", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint32Field("CurrentAddress", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
-			10: Uint32Field("CurrentMask", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), true, true, false, 10),
-			11: Uint32Field("CurrentGateway", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
-			12: Uint32Field("CurrentPrimaryDns", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), true, true, false, 12),
-			13: Uint32Field("CurrentSecondaryDns", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), true, true, false, 13),
-			14: MultiByteField("DomainName", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 14),
-			15: MultiByteField("HostName", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 15),
-			16: Uint16Field("RelayAgentOptions", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), true, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(IpHostConfigData_IpOptions, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  MultiByteField(IpHostConfigData_MacAddress, OctetsAttributeType, 0x4000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField(IpHostConfigData_OnuIdentifier, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint32Field(IpHostConfigData_IpAddress, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint32Field(IpHostConfigData_Mask, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field(IpHostConfigData_Gateway, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field(IpHostConfigData_PrimaryDns, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint32Field(IpHostConfigData_SecondaryDns, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint32Field(IpHostConfigData_CurrentAddress, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			10: Uint32Field(IpHostConfigData_CurrentMask, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), true, true, false, 10),
+			11: Uint32Field(IpHostConfigData_CurrentGateway, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
+			12: Uint32Field(IpHostConfigData_CurrentPrimaryDns, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), true, true, false, 12),
+			13: Uint32Field(IpHostConfigData_CurrentSecondaryDns, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), true, true, false, 13),
+			14: MultiByteField(IpHostConfigData_DomainName, OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 14),
+			15: MultiByteField(IpHostConfigData_HostName, OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 15),
+			16: Uint16Field(IpHostConfigData_RelayAgentOptions, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), true, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go
index 0622bf5..47fa1b7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/iphostperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -82,10 +82,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const IpHostPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const IpHostPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const IpHostPerformanceMonitoringHistoryData_IcmpErrors = "IcmpErrors"
+const IpHostPerformanceMonitoringHistoryData_DnsErrors = "DnsErrors"
+const IpHostPerformanceMonitoringHistoryData_DhcpTimeouts = "DhcpTimeouts"
+const IpHostPerformanceMonitoringHistoryData_IpAddressConflict = "IpAddressConflict"
+const IpHostPerformanceMonitoringHistoryData_OutOfMemory = "OutOfMemory"
+const IpHostPerformanceMonitoringHistoryData_InternalError = "InternalError"
+
 func init() {
 	iphostperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "IpHostPerformanceMonitoringHistoryData",
-		ClassID: 135,
+		ClassID: IpHostPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -95,15 +106,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("IcmpErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DnsErrors", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("DhcpTimeouts", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: Uint16Field("IpAddressConflict", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint16Field("OutOfMemory", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint16Field("InternalError", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(IpHostPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(IpHostPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(IpHostPerformanceMonitoringHistoryData_IcmpErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(IpHostPerformanceMonitoringHistoryData_DnsErrors, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(IpHostPerformanceMonitoringHistoryData_DhcpTimeouts, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint16Field(IpHostPerformanceMonitoringHistoryData_IpAddressConflict, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field(IpHostPerformanceMonitoringHistoryData_OutOfMemory, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field(IpHostPerformanceMonitoringHistoryData_InternalError, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go
index 668ec03..db0a535 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/largestring.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -128,10 +128,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const LargeString_NumberOfParts = "NumberOfParts"
+const LargeString_Part1 = "Part1"
+const LargeString_Part2 = "Part2"
+const LargeString_Part3 = "Part3"
+const LargeString_Part4 = "Part4"
+const LargeString_Part5 = "Part5"
+const LargeString_Part6 = "Part6"
+const LargeString_Part7 = "Part7"
+const LargeString_Part8 = "Part8"
+const LargeString_Part9 = "Part9"
+const LargeString_Part10 = "Part10"
+const LargeString_Part11 = "Part11"
+const LargeString_Part12 = "Part12"
+const LargeString_Part13 = "Part13"
+const LargeString_Part14 = "Part14"
+const LargeString_Part15 = "Part15"
+
 func init() {
 	largestringBME = &ManagedEntityDefinition{
 		Name:    "LargeString",
-		ClassID: 157,
+		ClassID: LargeStringClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -140,23 +159,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("NumberOfParts", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
-			2:  MultiByteField("Part1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 2),
-			3:  MultiByteField("Part2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 3),
-			4:  MultiByteField("Part3", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 4),
-			5:  MultiByteField("Part4", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 5),
-			6:  MultiByteField("Part5", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 6),
-			7:  MultiByteField("Part6", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 7),
-			8:  MultiByteField("Part7", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 8),
-			9:  MultiByteField("Part8", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 9),
-			10: MultiByteField("Part9", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 10),
-			11: MultiByteField("Part10", OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 11),
-			12: MultiByteField("Part11", OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 12),
-			13: MultiByteField("Part12", OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 13),
-			14: MultiByteField("Part13", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 14),
-			15: MultiByteField("Part14", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 15),
-			16: MultiByteField("Part15", OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(LargeString_NumberOfParts, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
+			2:  MultiByteField(LargeString_Part1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 2),
+			3:  MultiByteField(LargeString_Part2, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 3),
+			4:  MultiByteField(LargeString_Part3, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 4),
+			5:  MultiByteField(LargeString_Part4, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 5),
+			6:  MultiByteField(LargeString_Part5, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 6),
+			7:  MultiByteField(LargeString_Part6, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 7),
+			8:  MultiByteField(LargeString_Part7, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 8),
+			9:  MultiByteField(LargeString_Part8, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 9),
+			10: MultiByteField(LargeString_Part9, OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 10),
+			11: MultiByteField(LargeString_Part10, OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 11),
+			12: MultiByteField(LargeString_Part11, OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 12),
+			13: MultiByteField(LargeString_Part12, OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 13),
+			14: MultiByteField(LargeString_Part13, OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 14),
+			15: MultiByteField(LargeString_Part14, OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 15),
+			16: MultiByteField(LargeString_Part15, OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), true, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go
index 0431803..76b5fda 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -86,24 +86,35 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgeConfigurationData_BridgeMacAddress = "BridgeMacAddress"
+const MacBridgeConfigurationData_BridgePriority = "BridgePriority"
+const MacBridgeConfigurationData_DesignatedRoot = "DesignatedRoot"
+const MacBridgeConfigurationData_RootPathCost = "RootPathCost"
+const MacBridgeConfigurationData_BridgePortCount = "BridgePortCount"
+const MacBridgeConfigurationData_RootPortNum = "RootPortNum"
+const MacBridgeConfigurationData_HelloTime = "HelloTime"
+const MacBridgeConfigurationData_ForwardDelay = "ForwardDelay"
+
 func init() {
 	macbridgeconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgeConfigurationData",
-		ClassID: 46,
+		ClassID: MacBridgeConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("BridgeMacAddress", OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("BridgePriority", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: MultiByteField("DesignatedRoot", OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("RootPathCost", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: ByteField("BridgePortCount", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint16Field("RootPortNum", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("HelloTime", UnsignedIntegerAttributeType, 0x0200, 256, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint16Field("ForwardDelay", UnsignedIntegerAttributeType, 0x0100, 1024, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(MacBridgeConfigurationData_BridgeMacAddress, OctetsAttributeType, 0x8000, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MacBridgeConfigurationData_BridgePriority, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField(MacBridgeConfigurationData_DesignatedRoot, OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(MacBridgeConfigurationData_RootPathCost, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: ByteField(MacBridgeConfigurationData_BridgePortCount, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint16Field(MacBridgeConfigurationData_RootPortNum, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(MacBridgeConfigurationData_HelloTime, UnsignedIntegerAttributeType, 0x0200, 256, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field(MacBridgeConfigurationData_ForwardDelay, UnsignedIntegerAttributeType, 0x0100, 1024, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go
index c80f91f..e5212d7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -66,10 +66,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MacBridgePerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MacBridgePerformanceMonitoringHistoryData_BridgeLearningEntryDiscardCount = "BridgeLearningEntryDiscardCount"
+
 func init() {
 	macbridgeperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePerformanceMonitoringHistoryData",
-		ClassID: 51,
+		ClassID: MacBridgePerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -79,10 +85,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("BridgeLearningEntryDiscardCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MacBridgePerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MacBridgePerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(MacBridgePerformanceMonitoringHistoryData_BridgeLearningEntryDiscardCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go
index 50e8610..566a5af 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportbridgetabledata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,18 +80,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortBridgeTableData_BridgeTable = "BridgeTable"
+
 func init() {
 	macbridgeportbridgetabledataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortBridgeTableData",
-		ClassID: 50,
+		ClassID: MacBridgePortBridgeTableDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("BridgeTable", TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(MacBridgePortBridgeTableData_BridgeTable, TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go
index 24e245d..e2badbb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -139,10 +139,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortConfigurationData_BridgeIdPointer = "BridgeIdPointer"
+const MacBridgePortConfigurationData_PortNum = "PortNum"
+const MacBridgePortConfigurationData_TpType = "TpType"
+const MacBridgePortConfigurationData_TpPointer = "TpPointer"
+const MacBridgePortConfigurationData_PortPriority = "PortPriority"
+const MacBridgePortConfigurationData_PortPathCost = "PortPathCost"
+const MacBridgePortConfigurationData_PortSpanningTreeInd = "PortSpanningTreeInd"
+const MacBridgePortConfigurationData_Deprecated1 = "Deprecated1"
+const MacBridgePortConfigurationData_Deprecated2 = "Deprecated2"
+const MacBridgePortConfigurationData_PortMacAddress = "PortMacAddress"
+const MacBridgePortConfigurationData_OutboundTdPointer = "OutboundTdPointer"
+const MacBridgePortConfigurationData_InboundTdPointer = "InboundTdPointer"
+const MacBridgePortConfigurationData_MacLearningDepth = "MacLearningDepth"
+const MacBridgePortConfigurationData_LaspIdPointer = "LaspIdPointer"
+
 func init() {
 	macbridgeportconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortConfigurationData",
-		ClassID: 47,
+		ClassID: MacBridgePortConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -151,21 +168,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("BridgeIdPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("PortNum", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("TpType", EnumerationAttributeType, 0x2000, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("TpPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("PortPriority", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("PortPathCost", UnsignedIntegerAttributeType, 0x0400, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("PortSpanningTreeInd", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("Deprecated1", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 8),
-			9:  ByteField("Deprecated2", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 9),
-			10: MultiByteField("PortMacAddress", OctetsAttributeType, 0x0040, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("OutboundTdPointer", PointerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("InboundTdPointer", PointerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("MacLearningDepth", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: Uint16Field("LaspIdPointer", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(MacBridgePortConfigurationData_BridgeIdPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MacBridgePortConfigurationData_PortNum, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MacBridgePortConfigurationData_TpType, EnumerationAttributeType, 0x2000, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MacBridgePortConfigurationData_TpPointer, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(MacBridgePortConfigurationData_PortPriority, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(MacBridgePortConfigurationData_PortPathCost, UnsignedIntegerAttributeType, 0x0400, 1, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(MacBridgePortConfigurationData_PortSpanningTreeInd, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MacBridgePortConfigurationData_Deprecated1, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 8),
+			9:  ByteField(MacBridgePortConfigurationData_Deprecated2, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 9),
+			10: MultiByteField(MacBridgePortConfigurationData_PortMacAddress, OctetsAttributeType, 0x0040, 6, toOctets("AAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(MacBridgePortConfigurationData_OutboundTdPointer, PointerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field(MacBridgePortConfigurationData_InboundTdPointer, PointerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(MacBridgePortConfigurationData_MacLearningDepth, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: Uint16Field(MacBridgePortConfigurationData_LaspIdPointer, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go
index df0da16..5764757 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportdesignationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,18 +96,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortDesignationData_DesignatedBridgeRootCostPort = "DesignatedBridgeRootCostPort"
+const MacBridgePortDesignationData_PortState = "PortState"
+
 func init() {
 	macbridgeportdesignationdataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortDesignationData",
-		ClassID: 48,
+		ClassID: MacBridgePortDesignationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("DesignatedBridgeRootCostPort", OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("PortState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(MacBridgePortDesignationData_DesignatedBridgeRootCostPort, OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(MacBridgePortDesignationData_PortState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go
index 604af06..2516f2a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfilterpre-assigntable.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,27 +96,40 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortFilterPreAssignTable_Ipv4MulticastFiltering = "Ipv4MulticastFiltering"
+const MacBridgePortFilterPreAssignTable_Ipv6MulticastFiltering = "Ipv6MulticastFiltering"
+const MacBridgePortFilterPreAssignTable_Ipv4BroadcastFiltering = "Ipv4BroadcastFiltering"
+const MacBridgePortFilterPreAssignTable_RarpFiltering = "RarpFiltering"
+const MacBridgePortFilterPreAssignTable_IpxFiltering = "IpxFiltering"
+const MacBridgePortFilterPreAssignTable_NetbeuiFiltering = "NetbeuiFiltering"
+const MacBridgePortFilterPreAssignTable_AppletalkFiltering = "AppletalkFiltering"
+const MacBridgePortFilterPreAssignTable_BridgeManagementInformationFiltering = "BridgeManagementInformationFiltering"
+const MacBridgePortFilterPreAssignTable_ArpFiltering = "ArpFiltering"
+const MacBridgePortFilterPreAssignTable_PointToPointProtocolOverEthernetPppoeBroadcastFiltering = "PointToPointProtocolOverEthernetPppoeBroadcastFiltering"
+
 func init() {
 	macbridgeportfilterpreassigntableBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortFilterPreAssignTable",
-		ClassID: 79,
+		ClassID: MacBridgePortFilterPreAssignTableClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Ipv4MulticastFiltering", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("Ipv6MulticastFiltering", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("Ipv4BroadcastFiltering", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("RarpFiltering", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("IpxFiltering", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("NetbeuiFiltering", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("AppletalkFiltering", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("BridgeManagementInformationFiltering", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("ArpFiltering", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("PointToPointProtocolOverEthernetPppoeBroadcastFiltering", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(MacBridgePortFilterPreAssignTable_Ipv4MulticastFiltering, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(MacBridgePortFilterPreAssignTable_Ipv6MulticastFiltering, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(MacBridgePortFilterPreAssignTable_Ipv4BroadcastFiltering, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(MacBridgePortFilterPreAssignTable_RarpFiltering, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(MacBridgePortFilterPreAssignTable_IpxFiltering, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(MacBridgePortFilterPreAssignTable_NetbeuiFiltering, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(MacBridgePortFilterPreAssignTable_AppletalkFiltering, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(MacBridgePortFilterPreAssignTable_BridgeManagementInformationFiltering, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(MacBridgePortFilterPreAssignTable_ArpFiltering, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(MacBridgePortFilterPreAssignTable_PointToPointProtocolOverEthernetPppoeBroadcastFiltering, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go
index 9d7cace..658fba2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportfiltertabledata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -94,10 +94,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortFilterTableData_MacFilterTable = "MacFilterTable"
+
 func init() {
 	macbridgeportfiltertabledataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortFilterTableData",
-		ClassID: 49,
+		ClassID: MacBridgePortFilterTableDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -106,8 +110,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("MacFilterTable", TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(MacBridgePortFilterTableData_MacFilterTable, TableAttributeType, 0x8000, TableInfo{nil, 8}, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go
index 8131599..eae6eaa 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeporticmpv6processpre-assigntable.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -95,25 +95,37 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6ErrorMessagesProcessing = "Icmpv6ErrorMessagesProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6InformationalMessagesProcessing = "Icmpv6InformationalMessagesProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_RouterSolicitationProcessing = "RouterSolicitationProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_RouterAdvertisementProcessing = "RouterAdvertisementProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourSolicitationProcessing = "NeighbourSolicitationProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourAdvertisementProcessing = "NeighbourAdvertisementProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_RedirectProcessing = "RedirectProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_MulticastListenerQueryProcessing = "MulticastListenerQueryProcessing"
+const MacBridgePortIcmpv6ProcessPreAssignTable_UnknownIcmpv6Processing = "UnknownIcmpv6Processing"
+
 func init() {
 	macbridgeporticmpv6processpreassigntableBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortIcmpv6ProcessPreAssignTable",
-		ClassID: 348,
+		ClassID: MacBridgePortIcmpv6ProcessPreAssignTableClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("Icmpv6ErrorMessagesProcessing", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("Icmpv6InformationalMessagesProcessing", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("RouterSolicitationProcessing", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("RouterAdvertisementProcessing", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("NeighbourSolicitationProcessing", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6: ByteField("NeighbourAdvertisementProcessing", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: ByteField("RedirectProcessing", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8: ByteField("MulticastListenerQueryProcessing", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9: ByteField("UnknownIcmpv6Processing", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6ErrorMessagesProcessing, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_Icmpv6InformationalMessagesProcessing, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_RouterSolicitationProcessing, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_RouterAdvertisementProcessing, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourSolicitationProcessing, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_NeighbourAdvertisementProcessing, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_RedirectProcessing, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_MulticastListenerQueryProcessing, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9: ByteField(MacBridgePortIcmpv6ProcessPreAssignTable_UnknownIcmpv6Processing, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go
index 97b0e16..b1d5304 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeportperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgePortPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MacBridgePortPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MacBridgePortPerformanceMonitoringHistoryData_ForwardedFrameCounter = "ForwardedFrameCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_DelayExceededDiscardCounter = "DelayExceededDiscardCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_MaximumTransmissionUnitMtuExceededDiscardCounter = "MaximumTransmissionUnitMtuExceededDiscardCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_ReceivedFrameCounter = "ReceivedFrameCounter"
+const MacBridgePortPerformanceMonitoringHistoryData_ReceivedAndDiscardedCounter = "ReceivedAndDiscardedCounter"
+
 func init() {
 	macbridgeportperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MacBridgePortPerformanceMonitoringHistoryData",
-		ClassID: 52,
+		ClassID: MacBridgePortPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,14 +101,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("ForwardedFrameCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DelayExceededDiscardCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("MaximumTransmissionUnitMtuExceededDiscardCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ReceivedFrameCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("ReceivedAndDiscardedCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MacBridgePortPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MacBridgePortPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_ForwardedFrameCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_DelayExceededDiscardCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_MaximumTransmissionUnitMtuExceededDiscardCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_ReceivedFrameCounter, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(MacBridgePortPerformanceMonitoringHistoryData_ReceivedAndDiscardedCounter, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go
index c05d948..83419e2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/macbridgeserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -103,10 +103,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MacBridgeServiceProfile_SpanningTreeInd = "SpanningTreeInd"
+const MacBridgeServiceProfile_LearningInd = "LearningInd"
+const MacBridgeServiceProfile_PortBridgingInd = "PortBridgingInd"
+const MacBridgeServiceProfile_Priority = "Priority"
+const MacBridgeServiceProfile_MaxAge = "MaxAge"
+const MacBridgeServiceProfile_HelloTime = "HelloTime"
+const MacBridgeServiceProfile_ForwardDelay = "ForwardDelay"
+const MacBridgeServiceProfile_UnknownMacAddressDiscard = "UnknownMacAddressDiscard"
+const MacBridgeServiceProfile_MacLearningDepth = "MacLearningDepth"
+const MacBridgeServiceProfile_DynamicFilteringAgeingTime = "DynamicFilteringAgeingTime"
+
 func init() {
 	macbridgeserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "MacBridgeServiceProfile",
-		ClassID: 45,
+		ClassID: MacBridgeServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -115,17 +128,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("SpanningTreeInd", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("LearningInd", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("PortBridgingInd", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("Priority", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("MaxAge", UnsignedIntegerAttributeType, 0x0800, 1536, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("HelloTime", UnsignedIntegerAttributeType, 0x0400, 256, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("ForwardDelay", UnsignedIntegerAttributeType, 0x0200, 1024, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("UnknownMacAddressDiscard", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("MacLearningDepth", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: Uint32Field("DynamicFilteringAgeingTime", UnsignedIntegerAttributeType, 0x0040, 300, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MacBridgeServiceProfile_SpanningTreeInd, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MacBridgeServiceProfile_LearningInd, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MacBridgeServiceProfile_PortBridgingInd, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MacBridgeServiceProfile_Priority, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(MacBridgeServiceProfile_MaxAge, UnsignedIntegerAttributeType, 0x0800, 1536, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(MacBridgeServiceProfile_HelloTime, UnsignedIntegerAttributeType, 0x0400, 256, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(MacBridgeServiceProfile_ForwardDelay, UnsignedIntegerAttributeType, 0x0200, 1024, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MacBridgeServiceProfile_UnknownMacAddressDiscard, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(MacBridgeServiceProfile_MacLearningDepth, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: Uint32Field(MacBridgeServiceProfile_DynamicFilteringAgeingTime, UnsignedIntegerAttributeType, 0x0040, 300, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go
index 91354b5..c55bceb 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/managedentityme.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -103,25 +103,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ManagedEntityMe_Name = "Name"
+const ManagedEntityMe_AttributesTable = "AttributesTable"
+const ManagedEntityMe_Access = "Access"
+const ManagedEntityMe_AlarmsTable = "AlarmsTable"
+const ManagedEntityMe_AvcsTable = "AvcsTable"
+const ManagedEntityMe_Actions = "Actions"
+const ManagedEntityMe_InstancesTable = "InstancesTable"
+const ManagedEntityMe_Support = "Support"
+
 func init() {
 	managedentitymeBME = &ManagedEntityDefinition{
 		Name:    "ManagedEntityMe",
-		ClassID: 288,
+		ClassID: ManagedEntityMeClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("Name", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("AttributesTable", TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Access", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: TableField("AlarmsTable", TableAttributeType, 0x1000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 4),
-			5: TableField("AvcsTable", TableAttributeType, 0x0800, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("Actions", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: TableField("InstancesTable", TableAttributeType, 0x0200, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 7),
-			8: ByteField("Support", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(ManagedEntityMe_Name, OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField(ManagedEntityMe_AttributesTable, TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(ManagedEntityMe_Access, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: TableField(ManagedEntityMe_AlarmsTable, TableAttributeType, 0x1000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 4),
+			5: TableField(ManagedEntityMe_AvcsTable, TableAttributeType, 0x0800, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(ManagedEntityMe_Actions, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: TableField(ManagedEntityMe_InstancesTable, TableAttributeType, 0x0200, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 7),
+			8: ByteField(ManagedEntityMe_Support, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go
index 2d83255..d901c3a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/me.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go
index 4b2061a..b74f536 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/medef.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go
index 4b97077..dcacc6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -112,10 +112,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MgcConfigData_PrimaryMgc = "PrimaryMgc"
+const MgcConfigData_SecondaryMgc = "SecondaryMgc"
+const MgcConfigData_TcpUdpPointer = "TcpUdpPointer"
+const MgcConfigData_Version = "Version"
+const MgcConfigData_MessageFormat = "MessageFormat"
+const MgcConfigData_MaximumRetryTime = "MaximumRetryTime"
+const MgcConfigData_MaximumRetryAttempts = "MaximumRetryAttempts"
+const MgcConfigData_ServiceChangeDelay = "ServiceChangeDelay"
+const MgcConfigData_TerminationIdBase = "TerminationIdBase"
+const MgcConfigData_Softswitch = "Softswitch"
+const MgcConfigData_MessageIdPointer = "MessageIdPointer"
+
 func init() {
 	mgcconfigdataBME = &ManagedEntityDefinition{
 		Name:    "MgcConfigData",
-		ClassID: 155,
+		ClassID: MgcConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -124,18 +138,18 @@
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("PrimaryMgc", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("SecondaryMgc", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("Version", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("MessageFormat", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("MaximumRetryTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  Uint16Field("MaximumRetryAttempts", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  Uint16Field("ServiceChangeDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  MultiByteField("TerminationIdBase", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: Uint16Field("MessageIdPointer", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(MgcConfigData_PrimaryMgc, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(MgcConfigData_SecondaryMgc, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(MgcConfigData_TcpUdpPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(MgcConfigData_Version, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(MgcConfigData_MessageFormat, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(MgcConfigData_MaximumRetryTime, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  Uint16Field(MgcConfigData_MaximumRetryAttempts, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint16Field(MgcConfigData_ServiceChangeDelay, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField(MgcConfigData_TerminationIdBase, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint32Field(MgcConfigData_Softswitch, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint16Field(MgcConfigData_MessageIdPointer, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go
index 46167fa..34a46c7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcconfigportal.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -59,18 +59,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MgcConfigPortal_ConfigurationTextTable = "ConfigurationTextTable"
+
 func init() {
 	mgcconfigportalBME = &ManagedEntityDefinition{
 		Name:    "MgcConfigPortal",
-		ClassID: 154,
+		ClassID: MgcConfigPortalClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("ConfigurationTextTable", TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(MgcConfigPortal_ConfigurationTextTable, TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go
index 082de74..b500734 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mgcperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -123,10 +123,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MgcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MgcPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MgcPerformanceMonitoringHistoryData_ReceivedMessages = "ReceivedMessages"
+const MgcPerformanceMonitoringHistoryData_ReceivedOctets = "ReceivedOctets"
+const MgcPerformanceMonitoringHistoryData_SentMessages = "SentMessages"
+const MgcPerformanceMonitoringHistoryData_SentOctets = "SentOctets"
+const MgcPerformanceMonitoringHistoryData_ProtocolErrors = "ProtocolErrors"
+const MgcPerformanceMonitoringHistoryData_TransportLosses = "TransportLosses"
+const MgcPerformanceMonitoringHistoryData_LastDetectedEvent = "LastDetectedEvent"
+const MgcPerformanceMonitoringHistoryData_LastDetectedEventTime = "LastDetectedEventTime"
+const MgcPerformanceMonitoringHistoryData_LastDetectedResetTime = "LastDetectedResetTime"
+
 func init() {
 	mgcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MgcPerformanceMonitoringHistoryData",
-		ClassID: 156,
+		ClassID: MgcPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -136,18 +150,18 @@
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("ReceivedMessages", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("ReceivedOctets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("SentMessages", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("SentOctets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("ProtocolErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TransportLosses", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("LastDetectedEvent", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("LastDetectedEventTime", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("LastDetectedResetTime", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MgcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(MgcPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(MgcPerformanceMonitoringHistoryData_ReceivedMessages, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(MgcPerformanceMonitoringHistoryData_ReceivedOctets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(MgcPerformanceMonitoringHistoryData_SentMessages, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(MgcPerformanceMonitoringHistoryData_SentOctets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(MgcPerformanceMonitoringHistoryData_ProtocolErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(MgcPerformanceMonitoringHistoryData_TransportLosses, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(MgcPerformanceMonitoringHistoryData_LastDetectedEvent, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(MgcPerformanceMonitoringHistoryData_LastDetectedEventTime, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(MgcPerformanceMonitoringHistoryData_LastDetectedResetTime, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go
index c69d00b..2c73afe 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocaethernetperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -102,10 +102,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MocaEthernetPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MocaEthernetPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingUnicastPackets = "IncomingUnicastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingDiscardedPackets = "IncomingDiscardedPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingErroredPackets = "IncomingErroredPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingUnknownPackets = "IncomingUnknownPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingMulticastPackets = "IncomingMulticastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingBroadcastPackets = "IncomingBroadcastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_IncomingOctets = "IncomingOctets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnicastPackets = "OutgoingUnicastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingDiscardedPackets = "OutgoingDiscardedPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingErroredPackets = "OutgoingErroredPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnknownPackets = "OutgoingUnknownPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingMulticastPackets = "OutgoingMulticastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingBroadcastPackets = "OutgoingBroadcastPackets"
+const MocaEthernetPerformanceMonitoringHistoryData_OutgoingOctets = "OutgoingOctets"
+
 func init() {
 	mocaethernetperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MocaEthernetPerformanceMonitoringHistoryData",
-		ClassID: 163,
+		ClassID: MocaEthernetPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -114,23 +133,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("IncomingUnicastPackets", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("IncomingDiscardedPackets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("IncomingErroredPackets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("IncomingUnknownPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  Uint32Field("IncomingMulticastPackets", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("IncomingBroadcastPackets", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("IncomingOctets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("OutgoingUnicastPackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("OutgoingDiscardedPackets", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("OutgoingErroredPackets", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("OutgoingUnknownPackets", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("OutgoingMulticastPackets", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("OutgoingBroadcastPackets", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint32Field("OutgoingOctets", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MocaEthernetPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(MocaEthernetPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingUnicastPackets, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingDiscardedPackets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingErroredPackets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingUnknownPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingMulticastPackets, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingBroadcastPackets, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_IncomingOctets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnicastPackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingDiscardedPackets, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingErroredPackets, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingUnknownPackets, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingMulticastPackets, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingBroadcastPackets, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field(MocaEthernetPerformanceMonitoringHistoryData_OutgoingOctets, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go
index 41b3aa1..d9986d3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mocainterfaceperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -106,10 +106,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MocaInterfacePerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const MocaInterfacePerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const MocaInterfacePerformanceMonitoringHistoryData_PhyTXBroadcastRate = "PhyTXBroadcastRate"
+const MocaInterfacePerformanceMonitoringHistoryData_NodeTable = "NodeTable"
+
 func init() {
 	mocainterfaceperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "MocaInterfacePerformanceMonitoringHistoryData",
-		ClassID: 164,
+		ClassID: MocaInterfacePerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -119,11 +126,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("PhyTXBroadcastRate", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: TableField("NodeTable", TableAttributeType, 0x1000, TableInfo{nil, 37}, mapset.NewSetWith(Read), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MocaInterfacePerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(MocaInterfacePerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(MocaInterfacePerformanceMonitoringHistoryData_PhyTXBroadcastRate, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: TableField(MocaInterfacePerformanceMonitoringHistoryData_NodeTable, TableAttributeType, 0x1000, TableInfo{nil, 37}, mapset.NewSetWith(Read), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go
index ed2ec34..4db7afe 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/mplspseudowireterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -171,10 +171,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MplsPseudowireTerminationPoint_TpType = "TpType"
+const MplsPseudowireTerminationPoint_TpPointer = "TpPointer"
+const MplsPseudowireTerminationPoint_MplsLabelIndicator = "MplsLabelIndicator"
+const MplsPseudowireTerminationPoint_MplsPwDirection = "MplsPwDirection"
+const MplsPseudowireTerminationPoint_MplsPwUplinkLabel = "MplsPwUplinkLabel"
+const MplsPseudowireTerminationPoint_MplsPwDownlinkLabel = "MplsPwDownlinkLabel"
+const MplsPseudowireTerminationPoint_MplsPwTc = "MplsPwTc"
+const MplsPseudowireTerminationPoint_MplsTunnelDirection = "MplsTunnelDirection"
+const MplsPseudowireTerminationPoint_MplsTunnelUplinkLabel = "MplsTunnelUplinkLabel"
+const MplsPseudowireTerminationPoint_MplsTunnelDownlinkLabel = "MplsTunnelDownlinkLabel"
+const MplsPseudowireTerminationPoint_MplsTunnelTc = "MplsTunnelTc"
+const MplsPseudowireTerminationPoint_PseudowireType = "PseudowireType"
+const MplsPseudowireTerminationPoint_PseudowireControlWordPreference = "PseudowireControlWordPreference"
+const MplsPseudowireTerminationPoint_AdministrativeState = "AdministrativeState"
+const MplsPseudowireTerminationPoint_OperationalState = "OperationalState"
+
 func init() {
 	mplspseudowireterminationpointBME = &ManagedEntityDefinition{
 		Name:    "MplsPseudowireTerminationPoint",
-		ClassID: 333,
+		ClassID: MplsPseudowireTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -183,22 +201,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("TpType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("TpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("MplsLabelIndicator", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("MplsPwDirection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint32Field("MplsPwUplinkLabel", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint32Field("MplsPwDownlinkLabel", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("MplsPwTc", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("MplsTunnelDirection", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint32Field("MplsTunnelUplinkLabel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: Uint32Field("MplsTunnelDownlinkLabel", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("MplsTunnelTc", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: Uint16Field("PseudowireType", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("PseudowireControlWordPreference", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), true, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MplsPseudowireTerminationPoint_TpType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(MplsPseudowireTerminationPoint_TpPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MplsPseudowireTerminationPoint_MplsLabelIndicator, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(MplsPseudowireTerminationPoint_MplsPwDirection, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field(MplsPseudowireTerminationPoint_MplsPwUplinkLabel, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field(MplsPseudowireTerminationPoint_MplsPwDownlinkLabel, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(MplsPseudowireTerminationPoint_MplsPwTc, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MplsPseudowireTerminationPoint_MplsTunnelDirection, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint32Field(MplsPseudowireTerminationPoint_MplsTunnelUplinkLabel, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint32Field(MplsPseudowireTerminationPoint_MplsTunnelDownlinkLabel, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(MplsPseudowireTerminationPoint_MplsTunnelTc, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: Uint16Field(MplsPseudowireTerminationPoint_PseudowireType, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(MplsPseudowireTerminationPoint_PseudowireControlWordPreference, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField(MplsPseudowireTerminationPoint_AdministrativeState, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(MplsPseudowireTerminationPoint_OperationalState, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), true, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go
index fd85a10..d4268d3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastgeminterworkingterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -187,10 +187,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer = "GemPortNetworkCtpConnectivityPointer"
+const MulticastGemInterworkingTerminationPoint_InterworkingOption = "InterworkingOption"
+const MulticastGemInterworkingTerminationPoint_ServiceProfilePointer = "ServiceProfilePointer"
+const MulticastGemInterworkingTerminationPoint_NotUsed1 = "NotUsed1"
+const MulticastGemInterworkingTerminationPoint_PptpCounter = "PptpCounter"
+const MulticastGemInterworkingTerminationPoint_OperationalState = "OperationalState"
+const MulticastGemInterworkingTerminationPoint_GalProfilePointer = "GalProfilePointer"
+const MulticastGemInterworkingTerminationPoint_NotUsed2 = "NotUsed2"
+const MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable = "Ipv4MulticastAddressTable"
+const MulticastGemInterworkingTerminationPoint_Ipv6MulticastAddressTable = "Ipv6MulticastAddressTable"
+
 func init() {
 	multicastgeminterworkingterminationpointBME = &ManagedEntityDefinition{
 		Name:    "MulticastGemInterworkingTerminationPoint",
-		ClassID: 281,
+		ClassID: MulticastGemInterworkingTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -201,17 +214,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("GemPortNetworkCtpConnectivityPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("InterworkingOption", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("ServiceProfilePointer", PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("NotUsed1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("PptpCounter", UnsignedIntegerAttributeType, 0x0800, 255, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
-			7:  Uint16Field("GalProfilePointer", PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("NotUsed2", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  TableField("Ipv4MulticastAddressTable", TableAttributeType, 0x0080, TableInfo{nil, 12}, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: TableField("Ipv6MulticastAddressTable", TableAttributeType, 0x0040, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(MulticastGemInterworkingTerminationPoint_GemPortNetworkCtpConnectivityPointer, PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MulticastGemInterworkingTerminationPoint_InterworkingOption, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(MulticastGemInterworkingTerminationPoint_ServiceProfilePointer, PointerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MulticastGemInterworkingTerminationPoint_NotUsed1, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(MulticastGemInterworkingTerminationPoint_PptpCounter, UnsignedIntegerAttributeType, 0x0800, 255, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(MulticastGemInterworkingTerminationPoint_OperationalState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7:  Uint16Field(MulticastGemInterworkingTerminationPoint_GalProfilePointer, PointerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(MulticastGemInterworkingTerminationPoint_NotUsed2, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  TableField(MulticastGemInterworkingTerminationPoint_Ipv4MulticastAddressTable, TableAttributeType, 0x0080, TableInfo{nil, 12}, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: TableField(MulticastGemInterworkingTerminationPoint_Ipv6MulticastAddressTable, TableAttributeType, 0x0040, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go
index 9db7284..d00bd7b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastoperationsprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -232,10 +232,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastOperationsProfile_IgmpVersion = "IgmpVersion"
+const MulticastOperationsProfile_IgmpFunction = "IgmpFunction"
+const MulticastOperationsProfile_ImmediateLeave = "ImmediateLeave"
+const MulticastOperationsProfile_UpstreamIgmpTci = "UpstreamIgmpTci"
+const MulticastOperationsProfile_UpstreamIgmpTagControl = "UpstreamIgmpTagControl"
+const MulticastOperationsProfile_UpstreamIgmpRate = "UpstreamIgmpRate"
+const MulticastOperationsProfile_DynamicAccessControlListTable = "DynamicAccessControlListTable"
+const MulticastOperationsProfile_StaticAccessControlListTable = "StaticAccessControlListTable"
+const MulticastOperationsProfile_LostGroupsListTable = "LostGroupsListTable"
+const MulticastOperationsProfile_Robustness = "Robustness"
+const MulticastOperationsProfile_QuerierIpAddress = "QuerierIpAddress"
+const MulticastOperationsProfile_QueryInterval = "QueryInterval"
+const MulticastOperationsProfile_QueryMaxResponseTime = "QueryMaxResponseTime"
+const MulticastOperationsProfile_LastMemberQueryInterval = "LastMemberQueryInterval"
+const MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour = "UnauthorizedJoinRequestBehaviour"
+const MulticastOperationsProfile_DownstreamIgmpAndMulticastTci = "DownstreamIgmpAndMulticastTci"
+
 func init() {
 	multicastoperationsprofileBME = &ManagedEntityDefinition{
 		Name:    "MulticastOperationsProfile",
-		ClassID: 309,
+		ClassID: MulticastOperationsProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -246,29 +265,26 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IgmpVersion", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("IgmpFunction", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("ImmediateLeave", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("UpstreamIgmpTci", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  ByteField("UpstreamIgmpTagControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint32Field("UpstreamIgmpRate", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  TableField("DynamicAccessControlListTable", TableAttributeType, 0x0200, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  TableField("StaticAccessControlListTable", TableAttributeType, 0x0100, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  TableField("LostGroupsListTable", TableAttributeType, 0x0080, TableInfo{nil, 10}, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("Robustness", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
-			11: Uint32Field("QuerierIpAddress", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
-			12: Uint32Field("QueryInterval", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: Uint32Field("QueryMaxResponseTime", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: Uint32Field("LastMemberQueryInterval", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("UnauthorizedJoinRequestBehaviour", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: MultiByteField("DownstreamIgmpAndMulticastTci", OctetsAttributeType, 0x0001, 3, toOctets("AAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(MulticastOperationsProfile_IgmpVersion, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(MulticastOperationsProfile_IgmpFunction, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(MulticastOperationsProfile_ImmediateLeave, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(MulticastOperationsProfile_UpstreamIgmpTci, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  ByteField(MulticastOperationsProfile_UpstreamIgmpTagControl, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint32Field(MulticastOperationsProfile_UpstreamIgmpRate, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  TableField(MulticastOperationsProfile_DynamicAccessControlListTable, TableAttributeType, 0x0200, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  TableField(MulticastOperationsProfile_StaticAccessControlListTable, TableAttributeType, 0x0100, TableInfo{nil, 24}, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  TableField(MulticastOperationsProfile_LostGroupsListTable, TableAttributeType, 0x0080, TableInfo{nil, 10}, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(MulticastOperationsProfile_Robustness, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: Uint32Field(MulticastOperationsProfile_QuerierIpAddress, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: Uint32Field(MulticastOperationsProfile_QueryInterval, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: Uint32Field(MulticastOperationsProfile_QueryMaxResponseTime, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: Uint32Field(MulticastOperationsProfile_LastMemberQueryInterval, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(MulticastOperationsProfile_UnauthorizedJoinRequestBehaviour, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: MultiByteField(MulticastOperationsProfile_DownstreamIgmpAndMulticastTci, OctetsAttributeType, 0x0001, 3, toOctets("AAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
-		Alarms: AlarmMap{
-			0: "Lost multicast group",
-		},
 	}
 }
 
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go
index 1932b6b..72670ef 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscriberconfiginfo.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -168,10 +168,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastSubscriberConfigInfo_MeType = "MeType"
+const MulticastSubscriberConfigInfo_MulticastOperationsProfilePointer = "MulticastOperationsProfilePointer"
+const MulticastSubscriberConfigInfo_MaxSimultaneousGroups = "MaxSimultaneousGroups"
+const MulticastSubscriberConfigInfo_MaxMulticastBandwidth = "MaxMulticastBandwidth"
+const MulticastSubscriberConfigInfo_BandwidthEnforcement = "BandwidthEnforcement"
+const MulticastSubscriberConfigInfo_MulticastServicePackageTable = "MulticastServicePackageTable"
+const MulticastSubscriberConfigInfo_AllowedPreviewGroupsTable = "AllowedPreviewGroupsTable"
+
 func init() {
 	multicastsubscriberconfiginfoBME = &ManagedEntityDefinition{
 		Name:    "MulticastSubscriberConfigInfo",
-		ClassID: 310,
+		ClassID: MulticastSubscriberConfigInfoClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -182,14 +192,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("MeType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("MulticastOperationsProfilePointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("MaxSimultaneousGroups", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4: Uint32Field("MaxMulticastBandwidth", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: ByteField("BandwidthEnforcement", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: TableField("MulticastServicePackageTable", TableAttributeType, 0x0400, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7: TableField("AllowedPreviewGroupsTable", TableAttributeType, 0x0200, TableInfo{nil, 22}, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MulticastSubscriberConfigInfo_MeType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(MulticastSubscriberConfigInfo_MulticastOperationsProfilePointer, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(MulticastSubscriberConfigInfo_MaxSimultaneousGroups, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint32Field(MulticastSubscriberConfigInfo_MaxMulticastBandwidth, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: ByteField(MulticastSubscriberConfigInfo_BandwidthEnforcement, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: TableField(MulticastSubscriberConfigInfo_MulticastServicePackageTable, TableAttributeType, 0x0400, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: TableField(MulticastSubscriberConfigInfo_AllowedPreviewGroupsTable, TableAttributeType, 0x0200, TableInfo{nil, 22}, mapset.NewSetWith(Read, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go
index a43d342..b9f6565 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/multicastsubscribermonitor.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -119,10 +119,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const MulticastSubscriberMonitor_MeType = "MeType"
+const MulticastSubscriberMonitor_CurrentMulticastBandwidth = "CurrentMulticastBandwidth"
+const MulticastSubscriberMonitor_JoinMessagesCounter = "JoinMessagesCounter"
+const MulticastSubscriberMonitor_BandwidthExceededCounter = "BandwidthExceededCounter"
+const MulticastSubscriberMonitor_Ipv4ActiveGroupListTable = "Ipv4ActiveGroupListTable"
+const MulticastSubscriberMonitor_Ipv6ActiveGroupListTable = "Ipv6ActiveGroupListTable"
+
 func init() {
 	multicastsubscribermonitorBME = &ManagedEntityDefinition{
 		Name:    "MulticastSubscriberMonitor",
-		ClassID: 311,
+		ClassID: MulticastSubscriberMonitorClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -132,13 +141,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("MeType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("CurrentMulticastBandwidth", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
-			3: Uint32Field("JoinMessagesCounter", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint32Field("BandwidthExceededCounter", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: TableField("Ipv4ActiveGroupListTable", TableAttributeType, 0x0800, TableInfo{nil, 24}, mapset.NewSetWith(Read), false, false, false, 5),
-			6: TableField("Ipv6ActiveGroupListTable", TableAttributeType, 0x0400, TableInfo{nil, 58}, mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(MulticastSubscriberMonitor_MeType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(MulticastSubscriberMonitor_CurrentMulticastBandwidth, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, true, false, 2),
+			3: Uint32Field(MulticastSubscriberMonitor_JoinMessagesCounter, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint32Field(MulticastSubscriberMonitor_BandwidthExceededCounter, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: TableField(MulticastSubscriberMonitor_Ipv4ActiveGroupListTable, TableAttributeType, 0x0800, TableInfo{nil, 24}, mapset.NewSetWith(Read), false, false, false, 5),
+			6: TableField(MulticastSubscriberMonitor_Ipv6ActiveGroupListTable, TableAttributeType, 0x0400, TableInfo{nil, 58}, mapset.NewSetWith(Read), false, true, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go
index e965db7..1dfb11c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkaddress.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -68,10 +68,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const NetworkAddress_SecurityPointer = "SecurityPointer"
+const NetworkAddress_AddressPointer = "AddressPointer"
+
 func init() {
 	networkaddressBME = &ManagedEntityDefinition{
 		Name:    "NetworkAddress",
-		ClassID: 137,
+		ClassID: NetworkAddressClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -80,9 +85,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("SecurityPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("AddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(NetworkAddress_SecurityPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(NetworkAddress_AddressPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go
index 212aa55..59e917f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/networkdialplantable.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -104,10 +104,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const NetworkDialPlanTable_DialPlanNumber = "DialPlanNumber"
+const NetworkDialPlanTable_DialPlanTableMaxSize = "DialPlanTableMaxSize"
+const NetworkDialPlanTable_CriticalDialTimeout = "CriticalDialTimeout"
+const NetworkDialPlanTable_PartialDialTimeout = "PartialDialTimeout"
+const NetworkDialPlanTable_DialPlanFormat = "DialPlanFormat"
+const NetworkDialPlanTable_DialPlanTable = "DialPlanTable"
+
 func init() {
 	networkdialplantableBME = &ManagedEntityDefinition{
 		Name:    "NetworkDialPlanTable",
-		ClassID: 145,
+		ClassID: NetworkDialPlanTableClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -118,13 +127,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("DialPlanNumber", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("DialPlanTableMaxSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 2),
-			3: Uint16Field("CriticalDialTimeout", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("PartialDialTimeout", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: ByteField("DialPlanFormat", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: TableField("DialPlanTable", TableAttributeType, 0x0400, TableInfo{nil, 30}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(NetworkDialPlanTable_DialPlanNumber, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(NetworkDialPlanTable_DialPlanTableMaxSize, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 2),
+			3: Uint16Field(NetworkDialPlanTable_CriticalDialTimeout, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(NetworkDialPlanTable_PartialDialTimeout, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField(NetworkDialPlanTable_DialPlanFormat, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: TableField(NetworkDialPlanTable_DialPlanTable, TableAttributeType, 0x0400, TableInfo{nil, 30}, mapset.NewSetWith(Read, Write), false, false, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go
index 941761d..628a9e6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/octetstring.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -138,10 +138,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OctetString_Length = "Length"
+const OctetString_Part1 = "Part1"
+const OctetString_Part2 = "Part2"
+const OctetString_Part3 = "Part3"
+const OctetString_Part4 = "Part4"
+const OctetString_Part5 = "Part5"
+const OctetString_Part6 = "Part6"
+const OctetString_Part7 = "Part7"
+const OctetString_Part8 = "Part8"
+const OctetString_Part9 = "Part9"
+const OctetString_Part10 = "Part10"
+const OctetString_Part11 = "Part11"
+const OctetString_Part12 = "Part12"
+const OctetString_Part13 = "Part13"
+const OctetString_Part14 = "Part14"
+const OctetString_Part15 = "Part15"
+
 func init() {
 	octetstringBME = &ManagedEntityDefinition{
 		Name:    "OctetString",
-		ClassID: 307,
+		ClassID: OctetStringClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -150,23 +169,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("Length", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  MultiByteField("Part1", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  MultiByteField("Part2", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  MultiByteField("Part3", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  MultiByteField("Part4", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  MultiByteField("Part5", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  MultiByteField("Part6", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  MultiByteField("Part7", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  MultiByteField("Part8", OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: MultiByteField("Part9", OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: MultiByteField("Part10", OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: MultiByteField("Part11", OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: MultiByteField("Part12", OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: MultiByteField("Part13", OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: MultiByteField("Part14", OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: MultiByteField("Part15", OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(OctetString_Length, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  MultiByteField(OctetString_Part1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  MultiByteField(OctetString_Part2, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  MultiByteField(OctetString_Part3, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  MultiByteField(OctetString_Part4, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField(OctetString_Part5, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  MultiByteField(OctetString_Part6, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField(OctetString_Part7, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField(OctetString_Part8, OctetsAttributeType, 0x0080, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: MultiByteField(OctetString_Part9, OctetsAttributeType, 0x0040, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: MultiByteField(OctetString_Part10, OctetsAttributeType, 0x0020, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: MultiByteField(OctetString_Part11, OctetsAttributeType, 0x0010, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: MultiByteField(OctetString_Part12, OctetsAttributeType, 0x0008, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: MultiByteField(OctetString_Part13, OctetsAttributeType, 0x0004, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: MultiByteField(OctetString_Part14, OctetsAttributeType, 0x0002, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: MultiByteField(OctetString_Part15, OctetsAttributeType, 0x0001, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go
index fbbff70..07e8f79 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/olt-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -80,21 +80,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OltG_OltVendorId = "OltVendorId"
+const OltG_EquipmentId = "EquipmentId"
+const OltG_Version = "Version"
+const OltG_TimeOfDayInformation = "TimeOfDayInformation"
+
 func init() {
 	oltgBME = &ManagedEntityDefinition{
 		Name:    "OltG",
-		ClassID: 131,
+		ClassID: OltGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("OltVendorId", StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: MultiByteField("EquipmentId", StringAttributeType, 0x4000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: MultiByteField("Version", StringAttributeType, 0x2000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("TimeOfDayInformation", OctetsAttributeType, 0x1000, 14, toOctets("AAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(OltG_OltVendorId, StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: MultiByteField(OltG_EquipmentId, StringAttributeType, 0x4000, 20, toOctets("ICAgICAgICAgICAgICAgICAgICA="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField(OltG_Version, StringAttributeType, 0x2000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(OltG_TimeOfDayInformation, OctetsAttributeType, 0x1000, 14, toOctets("AAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go
index 77b4777..0480bd6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/omci.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -58,19 +58,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Omci_MeTypeTable = "MeTypeTable"
+const Omci_MessageTypeTable = "MessageTypeTable"
+
 func init() {
 	omciBME = &ManagedEntityDefinition{
 		Name:    "Omci",
-		ClassID: 287,
+		ClassID: OmciClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("MeTypeTable", TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 1),
-			2: TableField("MessageTypeTable", TableAttributeType, 0x4000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(Omci_MeTypeTable, TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, false, false, 1),
+			2: TableField(Omci_MessageTypeTable, TableAttributeType, 0x4000, TableInfo{nil, 1}, mapset.NewSetWith(Read), false, false, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go
index 5e845ff2..82ff2ef 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcidefs.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go
index 059e5ca..ff29a0e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/omcierror.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go
index 04bdca0..cf259ae 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -157,10 +157,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuG_VendorId = "VendorId"
+const OnuG_Version = "Version"
+const OnuG_SerialNumber = "SerialNumber"
+const OnuG_TrafficManagementOption = "TrafficManagementOption"
+const OnuG_Deprecated = "Deprecated"
+const OnuG_BatteryBackup = "BatteryBackup"
+const OnuG_AdministrativeState = "AdministrativeState"
+const OnuG_OperationalState = "OperationalState"
+const OnuG_OnuSurvivalTime = "OnuSurvivalTime"
+const OnuG_LogicalOnuId = "LogicalOnuId"
+const OnuG_LogicalPassword = "LogicalPassword"
+const OnuG_CredentialsStatus = "CredentialsStatus"
+const OnuG_ExtendedTcLayerOptions = "ExtendedTcLayerOptions"
+
 func init() {
 	onugBME = &ManagedEntityDefinition{
 		Name:    "OnuG",
-		ClassID: 256,
+		ClassID: OnuGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Reboot,
@@ -170,20 +186,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("VendorId", StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2:  MultiByteField("Version", StringAttributeType, 0x4000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 2),
-			3:  MultiByteField("SerialNumber", OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("TrafficManagementOption", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, true, 5),
-			6:  ByteField("BatteryBackup", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("OperationalState", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("OnuSurvivalTime", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: MultiByteField("LogicalOnuId", OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
-			11: MultiByteField("LogicalPassword", OctetsAttributeType, 0x0020, 12, toOctets("AAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("CredentialsStatus", EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("ExtendedTcLayerOptions", BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(OnuG_VendorId, StringAttributeType, 0x8000, 4, toOctets("ICAgIA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2:  MultiByteField(OnuG_Version, StringAttributeType, 0x4000, 14, toOctets("MAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField(OnuG_SerialNumber, OctetsAttributeType, 0x2000, 8, toOctets("AAAAAAAAAAA="), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(OnuG_TrafficManagementOption, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(OnuG_Deprecated, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, true, 5),
+			6:  ByteField(OnuG_BatteryBackup, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(OnuG_AdministrativeState, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(OnuG_OperationalState, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(OnuG_OnuSurvivalTime, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: MultiByteField(OnuG_LogicalOnuId, OctetsAttributeType, 0x0040, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 10),
+			11: MultiByteField(OnuG_LogicalPassword, OctetsAttributeType, 0x0020, 12, toOctets("AAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(OnuG_CredentialsStatus, EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(OnuG_ExtendedTcLayerOptions, BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go
index 6ee350e..54c7905 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu2-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -216,31 +216,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Onu2G_EquipmentId = "EquipmentId"
+const Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion = "OpticalNetworkUnitManagementAndControlChannelOmccVersion"
+const Onu2G_VendorProductCode = "VendorProductCode"
+const Onu2G_SecurityCapability = "SecurityCapability"
+const Onu2G_SecurityMode = "SecurityMode"
+const Onu2G_TotalPriorityQueueNumber = "TotalPriorityQueueNumber"
+const Onu2G_TotalTrafficSchedulerNumber = "TotalTrafficSchedulerNumber"
+const Onu2G_Deprecated = "Deprecated"
+const Onu2G_TotalGemPortIdNumber = "TotalGemPortIdNumber"
+const Onu2G_Sysuptime = "Sysuptime"
+const Onu2G_ConnectivityCapability = "ConnectivityCapability"
+const Onu2G_CurrentConnectivityMode = "CurrentConnectivityMode"
+const Onu2G_QualityOfServiceQosConfigurationFlexibility = "QualityOfServiceQosConfigurationFlexibility"
+const Onu2G_PriorityQueueScaleFactor = "PriorityQueueScaleFactor"
+
 func init() {
 	onu2gBME = &ManagedEntityDefinition{
 		Name:    "Onu2G",
-		ClassID: 257,
+		ClassID: Onu2GClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("EquipmentId", StringAttributeType, 0x8000, 20, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, true, false, 1),
-			2:  ByteField("OpticalNetworkUnitManagementAndControlChannelOmccVersion", EnumerationAttributeType, 0x4000, 164, mapset.NewSetWith(Read), true, false, false, 2),
-			3:  Uint16Field("VendorProductCode", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  ByteField("SecurityCapability", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("SecurityMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("TotalPriorityQueueNumber", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("TotalTrafficSchedulerNumber", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  ByteField("Deprecated", UnsignedIntegerAttributeType, 0x0100, 1, mapset.NewSetWith(Read), false, false, true, 8),
-			9:  Uint16Field("TotalGemPortIdNumber", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("Sysuptime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("ConnectivityCapability", BitFieldAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("CurrentConnectivityMode", BitFieldAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("QualityOfServiceQosConfigurationFlexibility", BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint16Field("PriorityQueueScaleFactor", UnsignedIntegerAttributeType, 0x0004, 1, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(Onu2G_EquipmentId, StringAttributeType, 0x8000, 20, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read), false, true, false, 1),
+			2:  ByteField(Onu2G_OpticalNetworkUnitManagementAndControlChannelOmccVersion, EnumerationAttributeType, 0x4000, 164, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  Uint16Field(Onu2G_VendorProductCode, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField(Onu2G_SecurityCapability, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(Onu2G_SecurityMode, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(Onu2G_TotalPriorityQueueNumber, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Onu2G_TotalTrafficSchedulerNumber, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField(Onu2G_Deprecated, UnsignedIntegerAttributeType, 0x0100, 1, mapset.NewSetWith(Read), false, false, true, 8),
+			9:  Uint16Field(Onu2G_TotalGemPortIdNumber, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(Onu2G_Sysuptime, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(Onu2G_ConnectivityCapability, BitFieldAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Onu2G_CurrentConnectivityMode, BitFieldAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(Onu2G_QualityOfServiceQosConfigurationFlexibility, BitFieldAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field(Onu2G_PriorityQueueScaleFactor, UnsignedIntegerAttributeType, 0x0004, 1, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go
index 3e156b6..b879ed7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onu3-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -122,26 +122,39 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Onu3G_FlashMemoryPerformanceValue = "FlashMemoryPerformanceValue"
+const Onu3G_LatestRestartReason = "LatestRestartReason"
+const Onu3G_TotalNumberOfStatusSnapshots = "TotalNumberOfStatusSnapshots"
+const Onu3G_NumberOfValidStatusSnapshots = "NumberOfValidStatusSnapshots"
+const Onu3G_NextStatusSnapshotIndex = "NextStatusSnapshotIndex"
+const Onu3G_StatusSnapshotRecordTable = "StatusSnapshotRecordTable"
+const Onu3G_SnapAction = "SnapAction"
+const Onu3G_MostRecentStatusSnapshot = "MostRecentStatusSnapshot"
+const Onu3G_ResetAction = "ResetAction"
+const Onu3G_EnhancedMode = "EnhancedMode"
+
 func init() {
 	onu3gBME = &ManagedEntityDefinition{
 		Name:    "Onu3G",
-		ClassID: 441,
+		ClassID: Onu3GClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("FlashMemoryPerformanceValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, true, false, 1),
-			2:  ByteField("LatestRestartReason", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("TotalNumberOfStatusSnapshots", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
-			4:  Uint16Field("NumberOfValidStatusSnapshots", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("NextStatusSnapshotIndex", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  MultiByteField("StatusSnapshotRecordTable", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("SnapAction", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
-			8:  MultiByteField("MostRecentStatusSnapshot", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("ResetAction", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Write), false, false, false, 9),
-			10: ByteField("EnhancedMode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Onu3G_FlashMemoryPerformanceValue, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), true, true, false, 1),
+			2:  ByteField(Onu3G_LatestRestartReason, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(Onu3G_TotalNumberOfStatusSnapshots, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
+			4:  Uint16Field(Onu3G_NumberOfValidStatusSnapshots, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(Onu3G_NextStatusSnapshotIndex, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  MultiByteField(Onu3G_StatusSnapshotRecordTable, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Onu3G_SnapAction, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
+			8:  MultiByteField(Onu3G_MostRecentStatusSnapshot, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(Onu3G_ResetAction, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Write), false, false, false, 9),
+			10: ByteField(Onu3G_EnhancedMode, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go
index 4e22678..e31b2b2 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -58,10 +58,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuData_MibDataSync = "MibDataSync"
+
 func init() {
 	onudataBME = &ManagedEntityDefinition{
 		Name:    "OnuData",
-		ClassID: 2,
+		ClassID: OnuDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetAllAlarms,
@@ -73,8 +77,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("MibDataSync", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(OnuData_MibDataSync, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go
index ebb2f39..3a22c36 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onudynamicpowermanagementcontrol.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -152,29 +152,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuDynamicPowerManagementControl_PowerReductionManagementCapability = "PowerReductionManagementCapability"
+const OnuDynamicPowerManagementControl_PowerReductionManagementMode = "PowerReductionManagementMode"
+const OnuDynamicPowerManagementControl_Itransinit = "Itransinit"
+const OnuDynamicPowerManagementControl_Itxinit = "Itxinit"
+const OnuDynamicPowerManagementControl_MaximumSleepInterval = "MaximumSleepInterval"
+const OnuDynamicPowerManagementControl_MaximumReceiverOffInterval = "MaximumReceiverOffInterval"
+const OnuDynamicPowerManagementControl_MinimumAwareInterval = "MinimumAwareInterval"
+const OnuDynamicPowerManagementControl_MinimumActiveHeldInterval = "MinimumActiveHeldInterval"
+const OnuDynamicPowerManagementControl_MaximumSleepIntervalExtension = "MaximumSleepIntervalExtension"
+const OnuDynamicPowerManagementControl_EthernetPassiveOpticalNetworkEponCapabilityExtension = "EthernetPassiveOpticalNetworkEponCapabilityExtension"
+const OnuDynamicPowerManagementControl_EponSetupExtension = "EponSetupExtension"
+const OnuDynamicPowerManagementControl_MissingConsecutiveBurstsThreshold = "MissingConsecutiveBurstsThreshold"
+
 func init() {
 	onudynamicpowermanagementcontrolBME = &ManagedEntityDefinition{
 		Name:    "OnuDynamicPowerManagementControl",
-		ClassID: 336,
+		ClassID: OnuDynamicPowerManagementControlClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("PowerReductionManagementCapability", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("PowerReductionManagementMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint16Field("Itransinit", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("Itxinit", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("MaximumSleepInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint32Field("MaximumReceiverOffInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint32Field("MinimumAwareInterval", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("MinimumActiveHeldInterval", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint64Field("MaximumSleepIntervalExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("EthernetPassiveOpticalNetworkEponCapabilityExtension", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("EponSetupExtension", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint32Field("MissingConsecutiveBurstsThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(OnuDynamicPowerManagementControl_PowerReductionManagementCapability, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(OnuDynamicPowerManagementControl_PowerReductionManagementMode, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field(OnuDynamicPowerManagementControl_Itransinit, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(OnuDynamicPowerManagementControl_Itxinit, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(OnuDynamicPowerManagementControl_MaximumSleepInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field(OnuDynamicPowerManagementControl_MaximumReceiverOffInterval, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field(OnuDynamicPowerManagementControl_MinimumAwareInterval, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(OnuDynamicPowerManagementControl_MinimumActiveHeldInterval, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint64Field(OnuDynamicPowerManagementControl_MaximumSleepIntervalExtension, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(OnuDynamicPowerManagementControl_EthernetPassiveOpticalNetworkEponCapabilityExtension, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(OnuDynamicPowerManagementControl_EponSetupExtension, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint32Field(OnuDynamicPowerManagementControl_MissingConsecutiveBurstsThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go
index 8e01750..71f5827 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onumanufacturingdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -49,11 +49,17 @@
 //			This attribute contains the manufacturer name of this physical ONU. The preferred value is the
 //			manufacturer name string printed on the ONU itself (if present). (R) (optional) (25 bytes)
 //
-//		Serial Number Part 1, Serial Number Part 2
-//			These two attributes may be regarded as an ASCII string of up to 32 bytes whose length is a left
-//			justified manufacturer's serial number for this physical ONU. The preferred value is the
-//			manufacturer serial number string printed on the ONU itself (if present). (R) (optional)
-//			(25-bytes*2 attributes)
+//		Serial Number 1
+//			Serial number part 1, serial number part 2: These two attributes may be regarded as an ASCII
+//			string of up to 32 bytes whose length is a left justified manufacturer's serial number for this
+//			physical ONU. The preferred value is the manufacturer serial number string printed on the ONU
+//			itself (if present). (R) (optional) (25-bytes*2 attributes)
+//
+//		Serial Number 2
+//			Serial number part 1, serial number part 2: These two attributes may be regarded as an ASCII
+//			string of up to 32 bytes whose length is a left justified manufacturer's serial number for this
+//			physical ONU. The preferred value is the manufacturer serial number string printed on the ONU
+//			itself (if present). (R) (optional) (25-bytes*2 attributes)
 //
 //		Model Name
 //			This attribute contains the vendor specific model name identifier string. The preferred value is
@@ -78,22 +84,33 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuManufacturingData_ManufacturerName = "ManufacturerName"
+const OnuManufacturingData_SerialNumber1 = "SerialNumber1"
+const OnuManufacturingData_SerialNumber2 = "SerialNumber2"
+const OnuManufacturingData_ModelName = "ModelName"
+const OnuManufacturingData_ManufacturingDate = "ManufacturingDate"
+const OnuManufacturingData_HardwareRevision = "HardwareRevision"
+const OnuManufacturingData_FirmwareRevision = "FirmwareRevision"
+
 func init() {
 	onumanufacturingdataBME = &ManagedEntityDefinition{
 		Name:    "OnuManufacturingData",
-		ClassID: 456,
+		ClassID: OnuManufacturingDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
-		AllowedAttributeMask: 0xfc00,
+		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("ManufacturerName", OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
-			2: MultiByteField("SerialNumberPart1,SerialNumberPart2", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
-			3: MultiByteField("ModelName", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
-			4: MultiByteField("ManufacturingDate", OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
-			5: MultiByteField("HardwareRevision", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
-			6: MultiByteField("FirmwareRevision", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(OnuManufacturingData_ManufacturerName, OctetsAttributeType, 0x8000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 1),
+			2: MultiByteField(OnuManufacturingData_SerialNumber1, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 2),
+			3: MultiByteField(OnuManufacturingData_SerialNumber2, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField(OnuManufacturingData_ModelName, OctetsAttributeType, 0x1000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField(OnuManufacturingData_ManufacturingDate, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6: MultiByteField(OnuManufacturingData_HardwareRevision, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
+			7: MultiByteField(OnuManufacturingData_FirmwareRevision, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 7),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go
index e791ace..5df9566 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onupowershedding.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -127,28 +127,42 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuPowerShedding_RestorePowerTimerResetInterval = "RestorePowerTimerResetInterval"
+const OnuPowerShedding_DataClassSheddingInterval = "DataClassSheddingInterval"
+const OnuPowerShedding_VoiceClassSheddingInterval = "VoiceClassSheddingInterval"
+const OnuPowerShedding_VideoOverlayClassSheddingInterval = "VideoOverlayClassSheddingInterval"
+const OnuPowerShedding_VideoReturnClassSheddingInterval = "VideoReturnClassSheddingInterval"
+const OnuPowerShedding_DigitalSubscriberLineClassSheddingInterval = "DigitalSubscriberLineClassSheddingInterval"
+const OnuPowerShedding_AtmClassSheddingInterval = "AtmClassSheddingInterval"
+const OnuPowerShedding_CesClassSheddingInterval = "CesClassSheddingInterval"
+const OnuPowerShedding_FrameClassSheddingInterval = "FrameClassSheddingInterval"
+const OnuPowerShedding_SdhSonetClassSheddingInterval = "SdhSonetClassSheddingInterval"
+const OnuPowerShedding_SheddingStatus = "SheddingStatus"
+
 func init() {
 	onupowersheddingBME = &ManagedEntityDefinition{
 		Name:    "OnuPowerShedding",
-		ClassID: 133,
+		ClassID: OnuPowerSheddingClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint16Field("RestorePowerTimerResetInterval", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  Uint16Field("DataClassSheddingInterval", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint16Field("VoiceClassSheddingInterval", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("VideoOverlayClassSheddingInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("VideoReturnClassSheddingInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("DigitalSubscriberLineClassSheddingInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("AtmClassSheddingInterval", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("CesClassSheddingInterval", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint16Field("FrameClassSheddingInterval", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint16Field("SdhSonetClassSheddingInterval", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint16Field("SheddingStatus", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field(OnuPowerShedding_RestorePowerTimerResetInterval, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint16Field(OnuPowerShedding_DataClassSheddingInterval, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint16Field(OnuPowerShedding_VoiceClassSheddingInterval, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(OnuPowerShedding_VideoOverlayClassSheddingInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field(OnuPowerShedding_VideoReturnClassSheddingInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(OnuPowerShedding_DigitalSubscriberLineClassSheddingInterval, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(OnuPowerShedding_AtmClassSheddingInterval, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(OnuPowerShedding_CesClassSheddingInterval, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint16Field(OnuPowerShedding_FrameClassSheddingInterval, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint16Field(OnuPowerShedding_SdhSonetClassSheddingInterval, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field(OnuPowerShedding_SheddingStatus, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), true, true, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go
index 5a242ac..763aed9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onuremotedebug.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -71,10 +71,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuRemoteDebug_CommandFormat = "CommandFormat"
+const OnuRemoteDebug_Command = "Command"
+const OnuRemoteDebug_ReplyTable = "ReplyTable"
+
 func init() {
 	onuremotedebugBME = &ManagedEntityDefinition{
 		Name:    "OnuRemoteDebug",
-		ClassID: 158,
+		ClassID: OnuRemoteDebugClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -82,10 +88,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("CommandFormat", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: MultiByteField("Command", OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 2),
-			3: TableField("ReplyTable", TableAttributeType, 0x2000, TableInfo{nil, -1}, mapset.NewSetWith(Read), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(OnuRemoteDebug_CommandFormat, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: MultiByteField(OnuRemoteDebug_Command, OctetsAttributeType, 0x4000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Write), false, false, false, 2),
+			3: TableField(OnuRemoteDebug_ReplyTable, TableAttributeType, 0x2000, TableInfo{nil, -1}, mapset.NewSetWith(Read), false, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go
index 7f25731..bc6e38b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/onutimeconfiguration.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -60,19 +60,24 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const OnuTimeConfiguration_CurrentLocalOnuTime = "CurrentLocalOnuTime"
+const OnuTimeConfiguration_TimeQualificationBlock = "TimeQualificationBlock"
+
 func init() {
 	onutimeconfigurationBME = &ManagedEntityDefinition{
 		Name:    "OnuTimeConfiguration",
-		ClassID: 457,
+		ClassID: OnuTimeConfigurationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("CurrentLocalOnuTime", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("TimeQualificationBlock", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(OnuTimeConfiguration_CurrentLocalOnuTime, OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(OnuTimeConfiguration_TimeQualificationBlock, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go
index a863363..85ef623 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointcesuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -214,29 +214,44 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointCesUni_ExpectedType = "ExpectedType"
+const PhysicalPathTerminationPointCesUni_SensedType = "SensedType"
+const PhysicalPathTerminationPointCesUni_CesLoopbackConfiguration = "CesLoopbackConfiguration"
+const PhysicalPathTerminationPointCesUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointCesUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointCesUni_Framing = "Framing"
+const PhysicalPathTerminationPointCesUni_Encoding = "Encoding"
+const PhysicalPathTerminationPointCesUni_LineLength = "LineLength"
+const PhysicalPathTerminationPointCesUni_Ds1Mode = "Ds1Mode"
+const PhysicalPathTerminationPointCesUni_Arc = "Arc"
+const PhysicalPathTerminationPointCesUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointCesUni_LineType = "LineType"
+
 func init() {
 	physicalpathterminationpointcesuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointCesUni",
-		ClassID: 12,
+		ClassID: PhysicalPathTerminationPointCesUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ExpectedType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("SensedType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
-			3:  ByteField("CesLoopbackConfiguration", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, false, false, 3),
-			4:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), true, true, false, 5),
-			6:  ByteField("Framing", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("Encoding", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("LineLength", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("Ds1Mode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("Arc", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), true, true, false, 10),
-			11: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("LineType", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointCesUni_ExpectedType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointCesUni_SensedType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointCesUni_CesLoopbackConfiguration, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, false, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointCesUni_AdministrativeState, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointCesUni_OperationalState, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), true, true, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointCesUni_Framing, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointCesUni_Encoding, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointCesUni_LineLength, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointCesUni_Ds1Mode, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointCesUni_Arc, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), true, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointCesUni_ArcInterval, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointCesUni_LineType, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go
index c72fbf0..a924899 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointethernetuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -193,32 +193,50 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointEthernetUni_ExpectedType = "ExpectedType"
+const PhysicalPathTerminationPointEthernetUni_SensedType = "SensedType"
+const PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration = "AutoDetectionConfiguration"
+const PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration = "EthernetLoopbackConfiguration"
+const PhysicalPathTerminationPointEthernetUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointEthernetUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointEthernetUni_ConfigurationInd = "ConfigurationInd"
+const PhysicalPathTerminationPointEthernetUni_MaxFrameSize = "MaxFrameSize"
+const PhysicalPathTerminationPointEthernetUni_DteOrDceInd = "DteOrDceInd"
+const PhysicalPathTerminationPointEthernetUni_PauseTime = "PauseTime"
+const PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd = "BridgedOrIpInd"
+const PhysicalPathTerminationPointEthernetUni_Arc = "Arc"
+const PhysicalPathTerminationPointEthernetUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointEthernetUni_PppoeFilter = "PppoeFilter"
+const PhysicalPathTerminationPointEthernetUni_PowerControl = "PowerControl"
+
 func init() {
 	physicalpathterminationpointethernetuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointEthernetUni",
-		ClassID: 11,
+		ClassID: PhysicalPathTerminationPointEthernetUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ExpectedType", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("SensedType", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
-			3:  ByteField("AutoDetectionConfiguration", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("EthernetLoopbackConfiguration", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("AdministrativeState", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("OperationalState", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
-			7:  ByteField("ConfigurationInd", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("MaxFrameSize", UnsignedIntegerAttributeType, 0x0100, 1518, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("DteOrDceInd", EnumerationAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint16Field("PauseTime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("BridgedOrIpInd", EnumerationAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("Arc", EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), true, true, false, 12),
-			13: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("PppoeFilter", EnumerationAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("PowerControl", EnumerationAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointEthernetUni_ExpectedType, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointEthernetUni_SensedType, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointEthernetUni_AutoDetectionConfiguration, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointEthernetUni_EthernetLoopbackConfiguration, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointEthernetUni_AdministrativeState, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointEthernetUni_OperationalState, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read), true, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointEthernetUni_ConfigurationInd, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(PhysicalPathTerminationPointEthernetUni_MaxFrameSize, UnsignedIntegerAttributeType, 0x0100, 1518, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointEthernetUni_DteOrDceInd, EnumerationAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint16Field(PhysicalPathTerminationPointEthernetUni_PauseTime, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointEthernetUni_BridgedOrIpInd, EnumerationAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointEthernetUni_Arc, EnumerationAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), true, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointEthernetUni_ArcInterval, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(PhysicalPathTerminationPointEthernetUni_PppoeFilter, EnumerationAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(PhysicalPathTerminationPointEthernetUni_PowerControl, EnumerationAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go
index b6381e6..2ada3be 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointlctuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,18 +81,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointLctUni_AdministrativeState = "AdministrativeState"
+
 func init() {
 	physicalpathterminationpointlctuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointLctUni",
-		ClassID: 83,
+		ClassID: PhysicalPathTerminationPointLctUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(PhysicalPathTerminationPointLctUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go
index cb35f78..dbe8c46 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointmocauni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -137,31 +137,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointMocaUni_LoopbackConfiguration = "LoopbackConfiguration"
+const PhysicalPathTerminationPointMocaUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointMocaUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointMocaUni_MaxFrameSize = "MaxFrameSize"
+const PhysicalPathTerminationPointMocaUni_Arc = "Arc"
+const PhysicalPathTerminationPointMocaUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointMocaUni_PppoeFilter = "PppoeFilter"
+const PhysicalPathTerminationPointMocaUni_NetworkStatus = "NetworkStatus"
+const PhysicalPathTerminationPointMocaUni_Password = "Password"
+const PhysicalPathTerminationPointMocaUni_PrivacyEnabled = "PrivacyEnabled"
+const PhysicalPathTerminationPointMocaUni_MinimumBandwidthAlarmThreshold = "MinimumBandwidthAlarmThreshold"
+const PhysicalPathTerminationPointMocaUni_FrequencyMask = "FrequencyMask"
+const PhysicalPathTerminationPointMocaUni_RfChannel = "RfChannel"
+const PhysicalPathTerminationPointMocaUni_LastOperationalFrequency = "LastOperationalFrequency"
+
 func init() {
 	physicalpathterminationpointmocauniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointMocaUni",
-		ClassID: 162,
+		ClassID: PhysicalPathTerminationPointMocaUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("LoopbackConfiguration", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
-			4:  Uint16Field("MaxFrameSize", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("Arc", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), true, true, false, 5),
-			6:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("PppoeFilter", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("NetworkStatus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  MultiByteField("Password", OctetsAttributeType, 0x0080, 17, toOctets("AAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("PrivacyEnabled", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint16Field("MinimumBandwidthAlarmThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint32Field("FrequencyMask", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("RfChannel", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("LastOperationalFrequency", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointMocaUni_LoopbackConfiguration, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointMocaUni_AdministrativeState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointMocaUni_OperationalState, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
+			4:  Uint16Field(PhysicalPathTerminationPointMocaUni_MaxFrameSize, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointMocaUni_Arc, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), true, true, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointMocaUni_ArcInterval, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointMocaUni_PppoeFilter, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointMocaUni_NetworkStatus, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  MultiByteField(PhysicalPathTerminationPointMocaUni_Password, OctetsAttributeType, 0x0080, 17, toOctets("AAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(PhysicalPathTerminationPointMocaUni_PrivacyEnabled, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field(PhysicalPathTerminationPointMocaUni_MinimumBandwidthAlarmThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint32Field(PhysicalPathTerminationPointMocaUni_FrequencyMask, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(PhysicalPathTerminationPointMocaUni_RfChannel, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(PhysicalPathTerminationPointMocaUni_LastOperationalFrequency, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go
index 8b7f6c7..ea700dd 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointpotsuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -151,10 +151,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointPotsUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointPotsUni_Deprecated = "Deprecated"
+const PhysicalPathTerminationPointPotsUni_Arc = "Arc"
+const PhysicalPathTerminationPointPotsUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointPotsUni_Impedance = "Impedance"
+const PhysicalPathTerminationPointPotsUni_TransmissionPath = "TransmissionPath"
+const PhysicalPathTerminationPointPotsUni_RxGain = "RxGain"
+const PhysicalPathTerminationPointPotsUni_TxGain = "TxGain"
+const PhysicalPathTerminationPointPotsUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointPotsUni_HookState = "HookState"
+const PhysicalPathTerminationPointPotsUni_PotsHoldoverTime = "PotsHoldoverTime"
+const PhysicalPathTerminationPointPotsUni_NominalFeedVoltage = "NominalFeedVoltage"
+const PhysicalPathTerminationPointPotsUni_LossOfSoftswitch = "LossOfSoftswitch"
+
 func init() {
 	physicalpathterminationpointpotsuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointPotsUni",
-		ClassID: 53,
+		ClassID: PhysicalPathTerminationPointPotsUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -162,20 +178,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
-			2:  Uint16Field("Deprecated", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, true, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("Impedance", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  ByteField("TransmissionPath", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("RxGain", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("TxGain", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
-			10: ByteField("HookState", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("PotsHoldoverTime", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("NominalFeedVoltage", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("LossOfSoftswitch", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointPotsUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), true, false, false, 1),
+			2:  Uint16Field(PhysicalPathTerminationPointPotsUni_Deprecated, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, true, 2),
+			3:  ByteField(PhysicalPathTerminationPointPotsUni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointPotsUni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointPotsUni_Impedance, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointPotsUni_TransmissionPath, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointPotsUni_RxGain, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointPotsUni_TxGain, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointPotsUni_OperationalState, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointPotsUni_HookState, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(PhysicalPathTerminationPointPotsUni_PotsHoldoverTime, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointPotsUni_NominalFeedVoltage, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointPotsUni_LossOfSoftswitch, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go
index ac1492e..4a4b56d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointreuni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -179,10 +179,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointReUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointReUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointReUni_Arc = "Arc"
+const PhysicalPathTerminationPointReUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointReUni_ReAniGPointer = "ReAniGPointer"
+const PhysicalPathTerminationPointReUni_TotalOpticalReceiveSignalLevelTable = "TotalOpticalReceiveSignalLevelTable"
+const PhysicalPathTerminationPointReUni_PerBurstReceiveSignalLevelTable = "PerBurstReceiveSignalLevelTable"
+const PhysicalPathTerminationPointReUni_LowerReceiveOpticalThreshold = "LowerReceiveOpticalThreshold"
+const PhysicalPathTerminationPointReUni_UpperReceiveOpticalThreshold = "UpperReceiveOpticalThreshold"
+const PhysicalPathTerminationPointReUni_TransmitOpticalLevel = "TransmitOpticalLevel"
+const PhysicalPathTerminationPointReUni_LowerTransmitPowerThreshold = "LowerTransmitPowerThreshold"
+const PhysicalPathTerminationPointReUni_UpperTransmitPowerThreshold = "UpperTransmitPowerThreshold"
+const PhysicalPathTerminationPointReUni_AdditionalPreamble = "AdditionalPreamble"
+const PhysicalPathTerminationPointReUni_AdditionalGuardTime = "AdditionalGuardTime"
+const PhysicalPathTerminationPointReUni_ConnectedOnusTable = "ConnectedOnusTable"
+const PhysicalPathTerminationPointReUni_ClearOnuTable = "ClearOnuTable"
+
 func init() {
 	physicalpathterminationpointreuniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointReUni",
-		ClassID: 314,
+		ClassID: PhysicalPathTerminationPointReUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -190,23 +209,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("ReAniGPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  TableField("TotalOpticalReceiveSignalLevelTable", TableAttributeType, 0x0400, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  TableField("PerBurstReceiveSignalLevelTable", TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  ByteField("LowerReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  ByteField("UpperReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("TransmitOpticalLevel", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("LowerTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("UpperTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("AdditionalPreamble", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: ByteField("AdditionalGuardTime", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: TableField("ConnectedOnusTable", TableAttributeType, 0x0002, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 15),
-			16: TableField("ClearOnuTable", TableAttributeType, 0x0001, TableInfo{nil, 1}, mapset.NewSetWith(Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointReUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointReUni_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointReUni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointReUni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(PhysicalPathTerminationPointReUni_ReAniGPointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  TableField(PhysicalPathTerminationPointReUni_TotalOpticalReceiveSignalLevelTable, TableAttributeType, 0x0400, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  TableField(PhysicalPathTerminationPointReUni_PerBurstReceiveSignalLevelTable, TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointReUni_LowerReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointReUni_UpperReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(PhysicalPathTerminationPointReUni_TransmitOpticalLevel, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointReUni_LowerTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(PhysicalPathTerminationPointReUni_UpperTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointReUni_AdditionalPreamble, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: ByteField(PhysicalPathTerminationPointReUni_AdditionalGuardTime, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: TableField(PhysicalPathTerminationPointReUni_ConnectedOnusTable, TableAttributeType, 0x0002, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 15),
+			16: TableField(PhysicalPathTerminationPointReUni_ClearOnuTable, TableAttributeType, 0x0001, TableInfo{nil, 1}, mapset.NewSetWith(Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go
index c0728fe..949a9de 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideoani.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -237,33 +237,52 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointVideoAni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointVideoAni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointVideoAni_Arc = "Arc"
+const PhysicalPathTerminationPointVideoAni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointVideoAni_FrequencyRangeLow = "FrequencyRangeLow"
+const PhysicalPathTerminationPointVideoAni_FrequencyRangeHigh = "FrequencyRangeHigh"
+const PhysicalPathTerminationPointVideoAni_SignalCapability = "SignalCapability"
+const PhysicalPathTerminationPointVideoAni_OpticalSignalLevel = "OpticalSignalLevel"
+const PhysicalPathTerminationPointVideoAni_PilotSignalLevel = "PilotSignalLevel"
+const PhysicalPathTerminationPointVideoAni_SignalLevelMin = "SignalLevelMin"
+const PhysicalPathTerminationPointVideoAni_SignalLevelMax = "SignalLevelMax"
+const PhysicalPathTerminationPointVideoAni_PilotFrequency = "PilotFrequency"
+const PhysicalPathTerminationPointVideoAni_AgcMode = "AgcMode"
+const PhysicalPathTerminationPointVideoAni_AgcSetting = "AgcSetting"
+const PhysicalPathTerminationPointVideoAni_VideoLowerOpticalThreshold = "VideoLowerOpticalThreshold"
+const PhysicalPathTerminationPointVideoAni_VideoUpperOpticalThreshold = "VideoUpperOpticalThreshold"
+
 func init() {
 	physicalpathterminationpointvideoaniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointVideoAni",
-		ClassID: 90,
+		ClassID: PhysicalPathTerminationPointVideoAniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("FrequencyRangeLow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("FrequencyRangeHigh", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("SignalCapability", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  ByteField("OpticalSignalLevel", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("PilotSignalLevel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("SignalLevelMin", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: ByteField("SignalLevelMax", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("PilotFrequency", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("AgcMode", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("AgcSetting", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("VideoLowerOpticalThreshold", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("VideoUpperOpticalThreshold", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointVideoAni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointVideoAni_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointVideoAni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(PhysicalPathTerminationPointVideoAni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(PhysicalPathTerminationPointVideoAni_FrequencyRangeLow, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(PhysicalPathTerminationPointVideoAni_FrequencyRangeHigh, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(PhysicalPathTerminationPointVideoAni_SignalCapability, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField(PhysicalPathTerminationPointVideoAni_OpticalSignalLevel, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointVideoAni_PilotSignalLevel, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointVideoAni_SignalLevelMin, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField(PhysicalPathTerminationPointVideoAni_SignalLevelMax, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(PhysicalPathTerminationPointVideoAni_PilotFrequency, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(PhysicalPathTerminationPointVideoAni_AgcMode, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(PhysicalPathTerminationPointVideoAni_AgcSetting, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(PhysicalPathTerminationPointVideoAni_VideoLowerOpticalThreshold, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(PhysicalPathTerminationPointVideoAni_VideoUpperOpticalThreshold, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go
index 40d8f61..89d8cab 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointvideouni.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,22 +83,30 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointVideoUni_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointVideoUni_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointVideoUni_Arc = "Arc"
+const PhysicalPathTerminationPointVideoUni_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointVideoUni_PowerControl = "PowerControl"
+
 func init() {
 	physicalpathterminationpointvideouniBME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointVideoUni",
-		ClassID: 82,
+		ClassID: PhysicalPathTerminationPointVideoUniClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3: ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: ByteField("PowerControl", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(PhysicalPathTerminationPointVideoUni_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(PhysicalPathTerminationPointVideoUni_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3: ByteField(PhysicalPathTerminationPointVideoUni_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4: ByteField(PhysicalPathTerminationPointVideoUni_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField(PhysicalPathTerminationPointVideoUni_PowerControl, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go
index cec0633..6be89c6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -140,30 +140,46 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointXdslUniPart1_LoopbackConfiguration = "LoopbackConfiguration"
+const PhysicalPathTerminationPointXdslUniPart1_AdministrativeState = "AdministrativeState"
+const PhysicalPathTerminationPointXdslUniPart1_OperationalState = "OperationalState"
+const PhysicalPathTerminationPointXdslUniPart1_XdslLineConfigurationProfile = "XdslLineConfigurationProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingDownstreamProfile = "XdslSubcarrierMaskingDownstreamProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingUpstreamProfile = "XdslSubcarrierMaskingUpstreamProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamPowerSpectralDensityPsdMaskProfile = "XdslDownstreamPowerSpectralDensityPsdMaskProfile"
+const PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamRfiBandsProfile = "XdslDownstreamRfiBandsProfile"
+const PhysicalPathTerminationPointXdslUniPart1_Arc = "Arc"
+const PhysicalPathTerminationPointXdslUniPart1_ArcInterval = "ArcInterval"
+const PhysicalPathTerminationPointXdslUniPart1_ModemType = "ModemType"
+const PhysicalPathTerminationPointXdslUniPart1_UpstreamPsdMaskProfile = "UpstreamPsdMaskProfile"
+const PhysicalPathTerminationPointXdslUniPart1_NetworkSpecificExtensionsPointer = "NetworkSpecificExtensionsPointer"
+
 func init() {
 	physicalpathterminationpointxdslunipart1BME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointXdslUniPart1",
-		ClassID: 98,
+		ClassID: PhysicalPathTerminationPointXdslUniPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("LoopbackConfiguration", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
-			4:  Uint16Field("XdslLineConfigurationProfile", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  Uint16Field("XdslSubcarrierMaskingDownstreamProfile", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("XdslSubcarrierMaskingUpstreamProfile", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("XdslDownstreamPowerSpectralDensityPsdMaskProfile", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("XdslDownstreamRfiBandsProfile", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("Arc", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), true, true, false, 9),
-			10: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("ModemType", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: Uint16Field("UpstreamPsdMaskProfile", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("NetworkSpecificExtensionsPointer", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PhysicalPathTerminationPointXdslUniPart1_LoopbackConfiguration, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(PhysicalPathTerminationPointXdslUniPart1_AdministrativeState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  ByteField(PhysicalPathTerminationPointXdslUniPart1_OperationalState, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, true, false, 3),
+			4:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslLineConfigurationProfile, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingDownstreamProfile, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslSubcarrierMaskingUpstreamProfile, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamPowerSpectralDensityPsdMaskProfile, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(PhysicalPathTerminationPointXdslUniPart1_XdslDownstreamRfiBandsProfile, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(PhysicalPathTerminationPointXdslUniPart1_Arc, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), true, true, false, 9),
+			10: ByteField(PhysicalPathTerminationPointXdslUniPart1_ArcInterval, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(PhysicalPathTerminationPointXdslUniPart1_ModemType, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: Uint16Field(PhysicalPathTerminationPointXdslUniPart1_UpstreamPsdMaskProfile, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(PhysicalPathTerminationPointXdslUniPart1_NetworkSpecificExtensionsPointer, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go
index 6aca5a1..e243de4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,25 +79,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Downstream = "XdslChannelConfigurationProfileForBearerChannel0Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Downstream = "XdslChannelConfigurationProfileForBearerChannel1Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Downstream = "XdslChannelConfigurationProfileForBearerChannel2Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Downstream = "XdslChannelConfigurationProfileForBearerChannel3Downstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Upstream = "XdslChannelConfigurationProfileForBearerChannel0Upstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Upstream = "XdslChannelConfigurationProfileForBearerChannel1Upstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Upstream = "XdslChannelConfigurationProfileForBearerChannel2Upstream"
+const PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Upstream = "XdslChannelConfigurationProfileForBearerChannel3Upstream"
+
 func init() {
 	physicalpathterminationpointxdslunipart2BME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointXdslUniPart2",
-		ClassID: 99,
+		ClassID: PhysicalPathTerminationPointXdslUniPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Downstream", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Downstream", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Downstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Downstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint16Field("XdslChannelConfigurationProfileForBearerChannel0Upstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6: Uint16Field("XdslChannelConfigurationProfileForBearerChannel1Upstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7: Uint16Field("XdslChannelConfigurationProfileForBearerChannel2Upstream", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8: Uint16Field("XdslChannelConfigurationProfileForBearerChannel3Upstream", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Downstream, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Downstream, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Downstream, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Downstream, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel0Upstream, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel1Upstream, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel2Upstream, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8: Uint16Field(PhysicalPathTerminationPointXdslUniPart2_XdslChannelConfigurationProfileForBearerChannel3Upstream, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go
index 454a126..da84b21 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/physicalpathterminationpointxdslunipart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -75,21 +75,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PhysicalPathTerminationPointXdslUniPart3_FastLineConfigurationProfile = "FastLineConfigurationProfile"
+const PhysicalPathTerminationPointXdslUniPart3_FastDataPathConfigurationProfile = "FastDataPathConfigurationProfile"
+const PhysicalPathTerminationPointXdslUniPart3_FastChannelConfigurationProfileForBearerChannel0Downstream = "FastChannelConfigurationProfileForBearerChannel0Downstream"
+const PhysicalPathTerminationPointXdslUniPart3_FastXdslChannelConfigurationProfileForBearerChannel0Upstream = "FastXdslChannelConfigurationProfileForBearerChannel0Upstream"
+
 func init() {
 	physicalpathterminationpointxdslunipart3BME = &ManagedEntityDefinition{
 		Name:    "PhysicalPathTerminationPointXdslUniPart3",
-		ClassID: 427,
+		ClassID: PhysicalPathTerminationPointXdslUniPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("FastLineConfigurationProfile", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: Uint16Field("FastDataPathConfigurationProfile", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("FastChannelConfigurationProfileForBearerChannel0Downstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("FastXdslChannelConfigurationProfileForBearerChannel0Upstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastLineConfigurationProfile, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastDataPathConfigurationProfile, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastChannelConfigurationProfileForBearerChannel0Downstream, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(PhysicalPathTerminationPointXdslUniPart3_FastXdslChannelConfigurationProfileForBearerChannel0Upstream, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go
index e58ae53..d2c81a4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/priorityqueue.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -247,33 +247,52 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PriorityQueue_QueueConfigurationOption = "QueueConfigurationOption"
+const PriorityQueue_MaximumQueueSize = "MaximumQueueSize"
+const PriorityQueue_AllocatedQueueSize = "AllocatedQueueSize"
+const PriorityQueue_DiscardBlockCounterResetInterval = "DiscardBlockCounterResetInterval"
+const PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow = "ThresholdValueForDiscardedBlocksDueToBufferOverflow"
+const PriorityQueue_RelatedPort = "RelatedPort"
+const PriorityQueue_TrafficSchedulerPointer = "TrafficSchedulerPointer"
+const PriorityQueue_Weight = "Weight"
+const PriorityQueue_BackPressureOperation = "BackPressureOperation"
+const PriorityQueue_BackPressureTime = "BackPressureTime"
+const PriorityQueue_BackPressureOccurQueueThreshold = "BackPressureOccurQueueThreshold"
+const PriorityQueue_BackPressureClearQueueThreshold = "BackPressureClearQueueThreshold"
+const PriorityQueue_PacketDropQueueThresholds = "PacketDropQueueThresholds"
+const PriorityQueue_PacketDropMaxP = "PacketDropMaxP"
+const PriorityQueue_QueueDropWQ = "QueueDropWQ"
+const PriorityQueue_DropPrecedenceColourMarking = "DropPrecedenceColourMarking"
+
 func init() {
 	priorityqueueBME = &ManagedEntityDefinition{
 		Name:    "PriorityQueue",
-		ClassID: 277,
+		ClassID: PriorityQueueClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("QueueConfigurationOption", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("MaximumQueueSize", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("AllocatedQueueSize", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("DiscardBlockCounterResetInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("ThresholdValueForDiscardedBlocksDueToBufferOverflow", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  Uint32Field("RelatedPort", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint16Field("TrafficSchedulerPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("Weight", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  Uint16Field("BackPressureOperation", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint32Field("BackPressureTime", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint16Field("BackPressureOccurQueueThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint16Field("BackPressureClearQueueThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
-			13: Uint64Field("PacketDropQueueThresholds", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: Uint16Field("PacketDropMaxP", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("QueueDropWQ", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("DropPrecedenceColourMarking", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(PriorityQueue_QueueConfigurationOption, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(PriorityQueue_MaximumQueueSize, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(PriorityQueue_AllocatedQueueSize, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(PriorityQueue_DiscardBlockCounterResetInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(PriorityQueue_ThresholdValueForDiscardedBlocksDueToBufferOverflow, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  Uint32Field(PriorityQueue_RelatedPort, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint16Field(PriorityQueue_TrafficSchedulerPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(PriorityQueue_Weight, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  Uint16Field(PriorityQueue_BackPressureOperation, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint32Field(PriorityQueue_BackPressureTime, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint16Field(PriorityQueue_BackPressureOccurQueueThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint16Field(PriorityQueue_BackPressureClearQueueThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: Uint64Field(PriorityQueue_PacketDropQueueThresholds, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint16Field(PriorityQueue_PacketDropMaxP, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(PriorityQueue_QueueDropWQ, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(PriorityQueue_DropPrecedenceColourMarking, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go
index 20aa1fc..fdc8000 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowiremaintenanceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -169,10 +169,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PseudowireMaintenanceProfile_JitterBufferMaximumDepth = "JitterBufferMaximumDepth"
+const PseudowireMaintenanceProfile_JitterBufferDesiredDepth = "JitterBufferDesiredDepth"
+const PseudowireMaintenanceProfile_FillPolicy = "FillPolicy"
+const PseudowireMaintenanceProfile_MisconnectedPacketsDeclarationPolicy = "MisconnectedPacketsDeclarationPolicy"
+const PseudowireMaintenanceProfile_MisconnectedPacketsClearPolicy = "MisconnectedPacketsClearPolicy"
+const PseudowireMaintenanceProfile_LossOfPacketsDeclarationPolicy = "LossOfPacketsDeclarationPolicy"
+const PseudowireMaintenanceProfile_LossOfPacketsClearPolicy = "LossOfPacketsClearPolicy"
+const PseudowireMaintenanceProfile_BufferOverrunUnderrunDeclarationPolicy = "BufferOverrunUnderrunDeclarationPolicy"
+const PseudowireMaintenanceProfile_BufferOverrunUnderrunClearPolicy = "BufferOverrunUnderrunClearPolicy"
+const PseudowireMaintenanceProfile_MalformedPacketsDeclarationPolicy = "MalformedPacketsDeclarationPolicy"
+const PseudowireMaintenanceProfile_MalformedPacketsClearPolicy = "MalformedPacketsClearPolicy"
+const PseudowireMaintenanceProfile_RBitTransmitSetPolicy = "RBitTransmitSetPolicy"
+const PseudowireMaintenanceProfile_RBitTransmitClearPolicy = "RBitTransmitClearPolicy"
+const PseudowireMaintenanceProfile_RBitReceivePolicy = "RBitReceivePolicy"
+const PseudowireMaintenanceProfile_LBitReceivePolicy = "LBitReceivePolicy"
+const PseudowireMaintenanceProfile_SesThreshold = "SesThreshold"
+
 func init() {
 	pseudowiremaintenanceprofileBME = &ManagedEntityDefinition{
 		Name:    "PseudowireMaintenanceProfile",
-		ClassID: 284,
+		ClassID: PseudowireMaintenanceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -181,23 +200,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("JitterBufferMaximumDepth", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2:  Uint16Field("JitterBufferDesiredDepth", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  ByteField("FillPolicy", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("MisconnectedPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  ByteField("MisconnectedPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  ByteField("LossOfPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  ByteField("LossOfPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  ByteField("BufferOverrunUnderrunDeclarationPolicy", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
-			9:  ByteField("BufferOverrunUnderrunClearPolicy", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: ByteField("MalformedPacketsDeclarationPolicy", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
-			11: ByteField("MalformedPacketsClearPolicy", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
-			12: ByteField("RBitTransmitSetPolicy", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: ByteField("RBitTransmitClearPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: ByteField("RBitReceivePolicy", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
-			15: ByteField("LBitReceivePolicy", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
-			16: Uint16Field("SesThreshold", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(PseudowireMaintenanceProfile_JitterBufferMaximumDepth, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  Uint16Field(PseudowireMaintenanceProfile_JitterBufferDesiredDepth, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  ByteField(PseudowireMaintenanceProfile_FillPolicy, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(PseudowireMaintenanceProfile_MisconnectedPacketsDeclarationPolicy, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  ByteField(PseudowireMaintenanceProfile_MisconnectedPacketsClearPolicy, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  ByteField(PseudowireMaintenanceProfile_LossOfPacketsDeclarationPolicy, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField(PseudowireMaintenanceProfile_LossOfPacketsClearPolicy, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField(PseudowireMaintenanceProfile_BufferOverrunUnderrunDeclarationPolicy, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  ByteField(PseudowireMaintenanceProfile_BufferOverrunUnderrunClearPolicy, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: ByteField(PseudowireMaintenanceProfile_MalformedPacketsDeclarationPolicy, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: ByteField(PseudowireMaintenanceProfile_MalformedPacketsClearPolicy, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: ByteField(PseudowireMaintenanceProfile_RBitTransmitSetPolicy, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: ByteField(PseudowireMaintenanceProfile_RBitTransmitClearPolicy, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField(PseudowireMaintenanceProfile_RBitReceivePolicy, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: ByteField(PseudowireMaintenanceProfile_LBitReceivePolicy, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			16: Uint16Field(PseudowireMaintenanceProfile_SesThreshold, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go
index e570ba2..8c40c8f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -73,10 +73,10 @@
 //			numbering sequence. Both payload and signalling packets, if any, contribute to this count. (R)
 //			(mandatory) (4-bytes)
 //
-//		Misordered Packets, Usable
-//			This attribute counts the number of packets received out of order, but which were able to be
-//			successfully re-ordered and played out. Both payload and signalling packets, if any, contribute
-//			to this count. (R) (mandatory) (4-bytes)
+//		Misordered Packets Usable
+//			Misordered packets, usable: This attribute counts the number of packets received out of order,
+//			but which were able to be successfully re-ordered and played out. Both payload and signalling
+//			packets, if any, contribute to this count. (R) (mandatory) (4-bytes)
 //
 //		Misordered Packets Dropped
 //			This attribute counts the number of packets received out of sequence that were discarded, either
@@ -131,10 +131,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PseudowirePerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const PseudowirePerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const PseudowirePerformanceMonitoringHistoryData_ReceivedPackets = "ReceivedPackets"
+const PseudowirePerformanceMonitoringHistoryData_TransmittedPackets = "TransmittedPackets"
+const PseudowirePerformanceMonitoringHistoryData_MissingPackets = "MissingPackets"
+const PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsUsable = "MisorderedPacketsUsable"
+const PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsDropped = "MisorderedPacketsDropped"
+const PseudowirePerformanceMonitoringHistoryData_PlayoutBufferUnderrunsOverruns = "PlayoutBufferUnderrunsOverruns"
+const PseudowirePerformanceMonitoringHistoryData_MalformedPackets = "MalformedPackets"
+const PseudowirePerformanceMonitoringHistoryData_StrayPackets = "StrayPackets"
+const PseudowirePerformanceMonitoringHistoryData_RemotePacketLoss = "RemotePacketLoss"
+const PseudowirePerformanceMonitoringHistoryData_TdmLBitPacketsTransmitted = "TdmLBitPacketsTransmitted"
+const PseudowirePerformanceMonitoringHistoryData_Es = "Es"
+const PseudowirePerformanceMonitoringHistoryData_Ses = "Ses"
+const PseudowirePerformanceMonitoringHistoryData_Uas = "Uas"
+
 func init() {
 	pseudowireperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "PseudowirePerformanceMonitoringHistoryData",
-		ClassID: 285,
+		ClassID: PseudowirePerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -144,22 +162,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("ReceivedPackets", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TransmittedPackets", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("MissingPackets", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("MisorderedPackets,Usable", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("MisorderedPacketsDropped", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("PlayoutBufferUnderrunsOverruns", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("MalformedPackets", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("StrayPackets", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("RemotePacketLoss", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TdmLBitPacketsTransmitted", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("Es", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("Ses", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("Uas", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(PseudowirePerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(PseudowirePerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_ReceivedPackets, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_TransmittedPackets, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MissingPackets, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsUsable, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MisorderedPacketsDropped, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_PlayoutBufferUnderrunsOverruns, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(PseudowirePerformanceMonitoringHistoryData_MalformedPackets, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(PseudowirePerformanceMonitoringHistoryData_StrayPackets, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(PseudowirePerformanceMonitoringHistoryData_RemotePacketLoss, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(PseudowirePerformanceMonitoringHistoryData_TdmLBitPacketsTransmitted, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(PseudowirePerformanceMonitoringHistoryData_Es, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(PseudowirePerformanceMonitoringHistoryData_Ses, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(PseudowirePerformanceMonitoringHistoryData_Uas, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go
index 31e0654..7a62854 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pseudowireterminationpoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -184,10 +184,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PseudowireTerminationPoint_UnderlyingTransport = "UnderlyingTransport"
+const PseudowireTerminationPoint_ServiceType = "ServiceType"
+const PseudowireTerminationPoint_Signalling = "Signalling"
+const PseudowireTerminationPoint_TdmUniPointer = "TdmUniPointer"
+const PseudowireTerminationPoint_NorthSidePointer = "NorthSidePointer"
+const PseudowireTerminationPoint_FarEndIpInfo = "FarEndIpInfo"
+const PseudowireTerminationPoint_PayloadSize = "PayloadSize"
+const PseudowireTerminationPoint_PayloadEncapsulationDelay = "PayloadEncapsulationDelay"
+const PseudowireTerminationPoint_TimingMode = "TimingMode"
+const PseudowireTerminationPoint_TransmitCircuitId = "TransmitCircuitId"
+const PseudowireTerminationPoint_ExpectedCircuitId = "ExpectedCircuitId"
+const PseudowireTerminationPoint_ReceivedCircuitId = "ReceivedCircuitId"
+const PseudowireTerminationPoint_ExceptionPolicy = "ExceptionPolicy"
+const PseudowireTerminationPoint_Arc = "Arc"
+const PseudowireTerminationPoint_ArcInterval = "ArcInterval"
+
 func init() {
 	pseudowireterminationpointBME = &ManagedEntityDefinition{
 		Name:    "PseudowireTerminationPoint",
-		ClassID: 282,
+		ClassID: PseudowireTerminationPointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -196,22 +214,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("UnderlyingTransport", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("ServiceType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("Signalling", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("TdmUniPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("NorthSidePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("FarEndIpInfo", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("PayloadSize", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("PayloadEncapsulationDelay", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("TimingMode", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: Uint64Field("TransmitCircuitId", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: Uint64Field("ExpectedCircuitId", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint64Field("ReceivedCircuitId", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint16Field("ExceptionPolicy", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("Arc", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), true, true, false, 14),
-			15: ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(PseudowireTerminationPoint_UnderlyingTransport, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(PseudowireTerminationPoint_ServiceType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(PseudowireTerminationPoint_Signalling, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(PseudowireTerminationPoint_TdmUniPointer, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(PseudowireTerminationPoint_NorthSidePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(PseudowireTerminationPoint_FarEndIpInfo, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(PseudowireTerminationPoint_PayloadSize, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(PseudowireTerminationPoint_PayloadEncapsulationDelay, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(PseudowireTerminationPoint_TimingMode, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: Uint64Field(PseudowireTerminationPoint_TransmitCircuitId, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: Uint64Field(PseudowireTerminationPoint_ExpectedCircuitId, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint64Field(PseudowireTerminationPoint_ReceivedCircuitId, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field(PseudowireTerminationPoint_ExceptionPolicy, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(PseudowireTerminationPoint_Arc, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), true, true, false, 14),
+			15: ByteField(PseudowireTerminationPoint_ArcInterval, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go
index 0cd5ec4..9b90e3c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -228,10 +228,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PwAtmConfigurationData_TpType = "TpType"
+const PwAtmConfigurationData_TransportTpPointer = "TransportTpPointer"
+const PwAtmConfigurationData_PptpAtmUniPointer = "PptpAtmUniPointer"
+const PwAtmConfigurationData_MaxCEllCOncatenation = "MaxCEllCOncatenation"
+const PwAtmConfigurationData_FarEndMAxCEllCOncatenation = "FarEndMAxCEllCOncatenation"
+const PwAtmConfigurationData_AtmCellLossPriorityClpQosMapping = "AtmCellLossPriorityClpQosMapping"
+const PwAtmConfigurationData_TimeoutMode = "TimeoutMode"
+const PwAtmConfigurationData_PwAtmMappingTable = "PwAtmMappingTable"
+
 func init() {
 	pwatmconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "PwAtmConfigurationData",
-		ClassID: 337,
+		ClassID: PwAtmConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -242,15 +253,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("TpType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("TransportTpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("PptpAtmUniPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("MaxCEllCOncatenation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint16Field("FarEndMAxCEllCOncatenation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: ByteField("AtmCellLossPriorityClpQosMapping", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7: ByteField("TimeoutMode", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8: TableField("PwAtmMappingTable", TableAttributeType, 0x0100, TableInfo{nil, 21}, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(PwAtmConfigurationData_TpType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(PwAtmConfigurationData_TransportTpPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(PwAtmConfigurationData_PptpAtmUniPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(PwAtmConfigurationData_MaxCEllCOncatenation, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field(PwAtmConfigurationData_FarEndMAxCEllCOncatenation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: ByteField(PwAtmConfigurationData_AtmCellLossPriorityClpQosMapping, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7: ByteField(PwAtmConfigurationData_TimeoutMode, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8: TableField(PwAtmConfigurationData_PwAtmMappingTable, TableAttributeType, 0x0100, TableInfo{nil, 21}, mapset.NewSetWith(Read, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go
index 5e18218..683086d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwatmperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -85,10 +85,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PwAtmPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const PwAtmPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const PwAtmPerformanceMonitoringHistoryData_DownstreamMissingPacketsCounter = "DownstreamMissingPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_DownstreamReorderedPacketsCounter = "DownstreamReorderedPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_DownstreamMisorderedPacketsCounter = "DownstreamMisorderedPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamTimeoutPacketsCounter = "UpstreamTimeoutPacketsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamTransmittedCellsCounter = "UpstreamTransmittedCellsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamDroppedCellsCounter = "UpstreamDroppedCellsCounter"
+const PwAtmPerformanceMonitoringHistoryData_UpstreamReceivedCellsCounter = "UpstreamReceivedCellsCounter"
+
 func init() {
 	pwatmperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "PwAtmPerformanceMonitoringHistoryData",
-		ClassID: 338,
+		ClassID: PwAtmPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,16 +110,16 @@
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("DownstreamMissingPacketsCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DownstreamReorderedPacketsCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint32Field("DownstreamMisorderedPacketsCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("UpstreamTimeoutPacketsCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("UpstreamTransmittedCellsCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("UpstreamDroppedCellsCounter", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9: Uint32Field("UpstreamReceivedCellsCounter", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(PwAtmPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(PwAtmPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(PwAtmPerformanceMonitoringHistoryData_DownstreamMissingPacketsCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(PwAtmPerformanceMonitoringHistoryData_DownstreamReorderedPacketsCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field(PwAtmPerformanceMonitoringHistoryData_DownstreamMisorderedPacketsCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamTimeoutPacketsCounter, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamTransmittedCellsCounter, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamDroppedCellsCounter, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9: Uint32Field(PwAtmPerformanceMonitoringHistoryData_UpstreamReceivedCellsCounter, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go
index 97e5f97..9e8b0b8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/pwethernetconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -77,10 +77,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const PwEthernetConfigurationData_MplsPseudowireTpPointer = "MplsPseudowireTpPointer"
+const PwEthernetConfigurationData_TpType = "TpType"
+const PwEthernetConfigurationData_UniPointer = "UniPointer"
+
 func init() {
 	pwethernetconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "PwEthernetConfigurationData",
-		ClassID: 339,
+		ClassID: PwEthernetConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -89,10 +95,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("MplsPseudowireTpPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("TpType", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("UniPointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(PwEthernetConfigurationData_MplsPseudowireTpPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(PwEthernetConfigurationData_TpType, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(PwEthernetConfigurationData_UniPointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go
index 2dd144a..2b5c8ff 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/radiusperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -84,10 +84,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RadiusPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const RadiusPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const RadiusPerformanceMonitoringHistoryData_AccessRequestPacketsTransmitted = "AccessRequestPacketsTransmitted"
+const RadiusPerformanceMonitoringHistoryData_AccessRequestRetransmissionCount = "AccessRequestRetransmissionCount"
+const RadiusPerformanceMonitoringHistoryData_AccessChallengePacketsReceived = "AccessChallengePacketsReceived"
+const RadiusPerformanceMonitoringHistoryData_AccessAcceptPacketsReceived = "AccessAcceptPacketsReceived"
+const RadiusPerformanceMonitoringHistoryData_AccessRejectPacketsReceived = "AccessRejectPacketsReceived"
+const RadiusPerformanceMonitoringHistoryData_InvalidRadiusPacketsReceived = "InvalidRadiusPacketsReceived"
+
 func init() {
 	radiusperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "RadiusPerformanceMonitoringHistoryData",
-		ClassID: 293,
+		ClassID: RadiusPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -97,15 +108,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("AccessRequestPacketsTransmitted", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("AccessRequestRetransmissionCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("AccessChallengePacketsReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("AccessAcceptPacketsReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("AccessRejectPacketsReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("InvalidRadiusPacketsReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(RadiusPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(RadiusPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessRequestPacketsTransmitted, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessRequestRetransmissionCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessChallengePacketsReceived, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessAcceptPacketsReceived, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(RadiusPerformanceMonitoringHistoryData_AccessRejectPacketsReceived, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(RadiusPerformanceMonitoringHistoryData_InvalidRadiusPacketsReceived, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go
index fcbb5c2..63a10b3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/reani-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -174,31 +174,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReAniG_AdministrativeState = "AdministrativeState"
+const ReAniG_OperationalState = "OperationalState"
+const ReAniG_Arc = "Arc"
+const ReAniG_ArcInterval = "ArcInterval"
+const ReAniG_OpticalSignalLevel = "OpticalSignalLevel"
+const ReAniG_LowerOpticalThreshold = "LowerOpticalThreshold"
+const ReAniG_UpperOpticalThreshold = "UpperOpticalThreshold"
+const ReAniG_TransmitOpticalLevel = "TransmitOpticalLevel"
+const ReAniG_LowerTransmitPowerThreshold = "LowerTransmitPowerThreshold"
+const ReAniG_UpperTransmitPowerThreshold = "UpperTransmitPowerThreshold"
+const ReAniG_UsageMode = "UsageMode"
+const ReAniG_TargetUpstreamFrequency = "TargetUpstreamFrequency"
+const ReAniG_TargetDownstreamFrequency = "TargetDownstreamFrequency"
+const ReAniG_UpstreamSignalTransmissionMode = "UpstreamSignalTransmissionMode"
+
 func init() {
 	reanigBME = &ManagedEntityDefinition{
 		Name:    "ReAniG",
-		ClassID: 313,
+		ClassID: ReAniGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("OpticalSignalLevel", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("LowerOpticalThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("UpperOpticalThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  Uint16Field("TransmitOpticalLevel", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("LowerTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("UpperTransmitPowerThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("UsageMode", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint32Field("TargetUpstreamFrequency", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint32Field("TargetDownstreamFrequency", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("UpstreamSignalTransmissionMode", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReAniG_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(ReAniG_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(ReAniG_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(ReAniG_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(ReAniG_OpticalSignalLevel, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(ReAniG_LowerOpticalThreshold, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(ReAniG_UpperOpticalThreshold, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  Uint16Field(ReAniG_TransmitOpticalLevel, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(ReAniG_LowerTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(ReAniG_UpperTransmitPowerThreshold, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(ReAniG_UsageMode, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint32Field(ReAniG_TargetUpstreamFrequency, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint32Field(ReAniG_TargetDownstreamFrequency, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(ReAniG_UpstreamSignalTransmissionMode, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go
index d5149b9..41b9dd9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/recommonamplifierparameters.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -107,28 +107,42 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReCommonAmplifierParameters_Gain = "Gain"
+const ReCommonAmplifierParameters_LowerGainThreshold = "LowerGainThreshold"
+const ReCommonAmplifierParameters_UpperGainThreshold = "UpperGainThreshold"
+const ReCommonAmplifierParameters_TargetGain = "TargetGain"
+const ReCommonAmplifierParameters_DeviceTemperature = "DeviceTemperature"
+const ReCommonAmplifierParameters_LowerDeviceTemperatureThreshold = "LowerDeviceTemperatureThreshold"
+const ReCommonAmplifierParameters_UpperDeviceTemperatureThreshold = "UpperDeviceTemperatureThreshold"
+const ReCommonAmplifierParameters_DeviceBiasCurrent = "DeviceBiasCurrent"
+const ReCommonAmplifierParameters_AmplifierSaturationOutputPower = "AmplifierSaturationOutputPower"
+const ReCommonAmplifierParameters_AmplifierNoiseFigure = "AmplifierNoiseFigure"
+const ReCommonAmplifierParameters_AmplifierSaturationGain = "AmplifierSaturationGain"
+
 func init() {
 	recommonamplifierparametersBME = &ManagedEntityDefinition{
 		Name:    "ReCommonAmplifierParameters",
-		ClassID: 328,
+		ClassID: ReCommonAmplifierParametersClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Gain", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
-			2:  ByteField("LowerGainThreshold", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3:  ByteField("UpperGainThreshold", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  ByteField("TargetGain", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  Uint16Field("DeviceTemperature", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("LowerDeviceTemperatureThreshold", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("UpperDeviceTemperatureThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("DeviceBiasCurrent", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint16Field("AmplifierSaturationOutputPower", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("AmplifierNoiseFigure", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("AmplifierSaturationGain", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReCommonAmplifierParameters_Gain, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
+			2:  ByteField(ReCommonAmplifierParameters_LowerGainThreshold, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  ByteField(ReCommonAmplifierParameters_UpperGainThreshold, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  ByteField(ReCommonAmplifierParameters_TargetGain, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  Uint16Field(ReCommonAmplifierParameters_DeviceTemperature, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(ReCommonAmplifierParameters_LowerDeviceTemperatureThreshold, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(ReCommonAmplifierParameters_UpperDeviceTemperatureThreshold, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(ReCommonAmplifierParameters_DeviceBiasCurrent, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint16Field(ReCommonAmplifierParameters_AmplifierSaturationOutputPower, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(ReCommonAmplifierParameters_AmplifierNoiseFigure, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(ReCommonAmplifierParameters_AmplifierSaturationGain, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go
index d85e3a7..4173e73 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/redownstreamamplifier.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -130,23 +130,38 @@
 //			dBm), with 0.5-dB granularity. The default value 0x7F selects the RE's internal policy. (R,-W)
 //			(optional) (1-byte)
 //
-//		R'S' Splitter Coupling Ratio
-//			This attribute reports the coupling ratio of the splitter at the R'/S' interface that connects
-//			the embedded management ONU and the amplifiers to the OTL. Valid values are 99:1 (coded as
-//			99-decimal) to 1:99 (coded as 1 decimal), where the first value is the value encoded and is the
-//			percentage of the optical signal connected to the amplifier. The default value 0xFF indicates
-//			that there is no splitter connected to this upstream/downstream amplifier pair. (R) (optional)
-//			(1-byte)
+//		R S Splitter Coupling Ratio
+//			R'S' splitter coupling ratio: This attribute reports the coupling ratio of the splitter at the
+//			R'/S' interface that connects the embedded management ONU and the amplifiers to the OTL. Valid
+//			values are 99:1 (coded as 99-decimal) to 1:99 (coded as 1 decimal), where the first value is the
+//			value encoded and is the percentage of the optical signal connected to the amplifier. The
+//			default value 0xFF indicates that there is no splitter connected to this upstream/downstream
+//			amplifier pair. (R) (optional) (1-byte)
 //
 type ReDownstreamAmplifier struct {
 	ManagedEntityDefinition
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReDownstreamAmplifier_AdministrativeState = "AdministrativeState"
+const ReDownstreamAmplifier_OperationalState = "OperationalState"
+const ReDownstreamAmplifier_Arc = "Arc"
+const ReDownstreamAmplifier_ArcInterval = "ArcInterval"
+const ReDownstreamAmplifier_OperationalMode = "OperationalMode"
+const ReDownstreamAmplifier_InputOpticalSignalLevel = "InputOpticalSignalLevel"
+const ReDownstreamAmplifier_LowerInputOpticalThreshold = "LowerInputOpticalThreshold"
+const ReDownstreamAmplifier_UpperInputOpticalThreshold = "UpperInputOpticalThreshold"
+const ReDownstreamAmplifier_OutputOpticalSignalLevel = "OutputOpticalSignalLevel"
+const ReDownstreamAmplifier_LowerOutputOpticalThreshold = "LowerOutputOpticalThreshold"
+const ReDownstreamAmplifier_UpperOutputOpticalThreshold = "UpperOutputOpticalThreshold"
+const ReDownstreamAmplifier_RSSplitterCouplingRatio = "RSSplitterCouplingRatio"
+
 func init() {
 	redownstreamamplifierBME = &ManagedEntityDefinition{
 		Name:    "ReDownstreamAmplifier",
-		ClassID: 316,
+		ClassID: ReDownstreamAmplifierClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
@@ -154,19 +169,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("Arc", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
-			4:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("OperationalMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint16Field("InputOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  ByteField("LowerInputOpticalThreshold", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  ByteField("UpperInputOpticalThreshold", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  Uint16Field("OutputOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("LowerOutputOpticalThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("UpperOutputOpticalThreshold", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("R'S'SplitterCouplingRatio", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReDownstreamAmplifier_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(ReDownstreamAmplifier_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(ReDownstreamAmplifier_Arc, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), true, true, false, 3),
+			4:  ByteField(ReDownstreamAmplifier_ArcInterval, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(ReDownstreamAmplifier_OperationalMode, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint16Field(ReDownstreamAmplifier_InputOpticalSignalLevel, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField(ReDownstreamAmplifier_LowerInputOpticalThreshold, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  ByteField(ReDownstreamAmplifier_UpperInputOpticalThreshold, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  Uint16Field(ReDownstreamAmplifier_OutputOpticalSignalLevel, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(ReDownstreamAmplifier_LowerOutputOpticalThreshold, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(ReDownstreamAmplifier_UpperOutputOpticalThreshold, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(ReDownstreamAmplifier_RSSplitterCouplingRatio, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go
index a1e49d3..d733c91 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/relaxed.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,6 +20,7 @@
  * Generated by 'goCodeGenerator.py':
  *              https://github.com/cboling/OMCI-parser/README.md
  */
+
 package generated
 
 import (
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go
index 32f3e62..93cf64b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/reupstreamamplifier.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -149,10 +149,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ReUpstreamAmplifier_AdministrativeState = "AdministrativeState"
+const ReUpstreamAmplifier_OperationalState = "OperationalState"
+const ReUpstreamAmplifier_OperationalMode = "OperationalMode"
+const ReUpstreamAmplifier_Arc = "Arc"
+const ReUpstreamAmplifier_ArcInterval = "ArcInterval"
+const ReUpstreamAmplifier_ReDownstreamAmplifierPointer = "ReDownstreamAmplifierPointer"
+const ReUpstreamAmplifier_TotalOpticalReceiveSignalLevelTable = "TotalOpticalReceiveSignalLevelTable"
+const ReUpstreamAmplifier_PerBurstReceiveSignalLevelTable = "PerBurstReceiveSignalLevelTable"
+const ReUpstreamAmplifier_LowerReceiveOpticalThreshold = "LowerReceiveOpticalThreshold"
+const ReUpstreamAmplifier_UpperReceiveOpticalThreshold = "UpperReceiveOpticalThreshold"
+const ReUpstreamAmplifier_TransmitOpticalSignalLevel = "TransmitOpticalSignalLevel"
+const ReUpstreamAmplifier_LowerTransmitOpticalThreshold = "LowerTransmitOpticalThreshold"
+const ReUpstreamAmplifier_UpperTransmitOpticalThreshold = "UpperTransmitOpticalThreshold"
+
 func init() {
 	reupstreamamplifierBME = &ManagedEntityDefinition{
 		Name:    "ReUpstreamAmplifier",
-		ClassID: 315,
+		ClassID: ReUpstreamAmplifierClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
@@ -160,20 +176,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("AdministrativeState", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  ByteField("OperationalState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3:  ByteField("OperationalMode", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("Arc", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), true, true, false, 4),
-			5:  ByteField("ArcInterval", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  Uint16Field("ReDownstreamAmplifierPointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  TableField("TotalOpticalReceiveSignalLevelTable", TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  TableField("PerBurstReceiveSignalLevelTable", TableAttributeType, 0x0100, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("LowerReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("UpperReceiveOpticalThreshold", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: Uint16Field("TransmitOpticalSignalLevel", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("LowerTransmitOpticalThreshold", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("UpperTransmitOpticalThreshold", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(ReUpstreamAmplifier_AdministrativeState, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  ByteField(ReUpstreamAmplifier_OperationalState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3:  ByteField(ReUpstreamAmplifier_OperationalMode, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(ReUpstreamAmplifier_Arc, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), true, true, false, 4),
+			5:  ByteField(ReUpstreamAmplifier_ArcInterval, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  Uint16Field(ReUpstreamAmplifier_ReDownstreamAmplifierPointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  TableField(ReUpstreamAmplifier_TotalOpticalReceiveSignalLevelTable, TableAttributeType, 0x0200, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  TableField(ReUpstreamAmplifier_PerBurstReceiveSignalLevelTable, TableAttributeType, 0x0100, TableInfo{nil, 4}, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(ReUpstreamAmplifier_LowerReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(ReUpstreamAmplifier_UpperReceiveOpticalThreshold, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: Uint16Field(ReUpstreamAmplifier_TransmitOpticalSignalLevel, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(ReUpstreamAmplifier_LowerTransmitOpticalThreshold, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(ReUpstreamAmplifier_UpperTransmitOpticalThreshold, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go
index 3252376..a79184d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -88,10 +88,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RtpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const RtpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const RtpPerformanceMonitoringHistoryData_RtpErrors = "RtpErrors"
+const RtpPerformanceMonitoringHistoryData_PacketLoss = "PacketLoss"
+const RtpPerformanceMonitoringHistoryData_MaximumJitter = "MaximumJitter"
+const RtpPerformanceMonitoringHistoryData_MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets = "MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets"
+const RtpPerformanceMonitoringHistoryData_BufferUnderflows = "BufferUnderflows"
+const RtpPerformanceMonitoringHistoryData_BufferOverflows = "BufferOverflows"
+
 func init() {
 	rtpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "RtpPerformanceMonitoringHistoryData",
-		ClassID: 144,
+		ClassID: RtpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -101,15 +112,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("RtpErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("PacketLoss", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("MaximumJitter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("BufferUnderflows", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("BufferOverflows", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(RtpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(RtpPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(RtpPerformanceMonitoringHistoryData_RtpErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(RtpPerformanceMonitoringHistoryData_PacketLoss, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(RtpPerformanceMonitoringHistoryData_MaximumJitter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(RtpPerformanceMonitoringHistoryData_MaximumTimeBetweenRealTimeTransportControlProtocolRtcpPackets, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(RtpPerformanceMonitoringHistoryData_BufferUnderflows, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(RtpPerformanceMonitoringHistoryData_BufferOverflows, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go
index 1bc4f00..bde2da6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtpprofiledata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -111,10 +111,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RtpProfileData_LocalPortMin = "LocalPortMin"
+const RtpProfileData_LocalPortMax = "LocalPortMax"
+const RtpProfileData_DscpMark = "DscpMark"
+const RtpProfileData_PiggybackEvents = "PiggybackEvents"
+const RtpProfileData_ToneEvents = "ToneEvents"
+const RtpProfileData_DtmfEvents = "DtmfEvents"
+const RtpProfileData_CasEvents = "CasEvents"
+const RtpProfileData_IpHostConfigPointer = "IpHostConfigPointer"
+
 func init() {
 	rtpprofiledataBME = &ManagedEntityDefinition{
 		Name:    "RtpProfileData",
-		ClassID: 143,
+		ClassID: RtpProfileDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -123,15 +134,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("LocalPortMin", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("LocalPortMax", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3: ByteField("DscpMark", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: ByteField("PiggybackEvents", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: ByteField("ToneEvents", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: ByteField("DtmfEvents", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: ByteField("CasEvents", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8: Uint16Field("IpHostConfigPointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(RtpProfileData_LocalPortMin, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(RtpProfileData_LocalPortMax, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3: ByteField(RtpProfileData_DscpMark, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField(RtpProfileData_PiggybackEvents, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: ByteField(RtpProfileData_ToneEvents, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: ByteField(RtpProfileData_DtmfEvents, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: ByteField(RtpProfileData_CasEvents, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field(RtpProfileData_IpHostConfigPointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go
index 472f754..1a69261 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/rtppseudowireparameters.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -95,10 +95,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const RtpPseudowireParameters_ClockReference = "ClockReference"
+const RtpPseudowireParameters_RtpTimestampMode = "RtpTimestampMode"
+const RtpPseudowireParameters_Ptype = "Ptype"
+const RtpPseudowireParameters_Ssrc = "Ssrc"
+const RtpPseudowireParameters_ExpectedPtype = "ExpectedPtype"
+const RtpPseudowireParameters_ExpectedSsrc = "ExpectedSsrc"
+
 func init() {
 	rtppseudowireparametersBME = &ManagedEntityDefinition{
 		Name:    "RtpPseudowireParameters",
-		ClassID: 283,
+		ClassID: RtpPseudowireParametersClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -107,13 +116,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("ClockReference", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("RtpTimestampMode", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("Ptype", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint64Field("Ssrc", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint16Field("ExpectedPtype", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: Uint64Field("ExpectedSsrc", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(RtpPseudowireParameters_ClockReference, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(RtpPseudowireParameters_RtpTimestampMode, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(RtpPseudowireParameters_Ptype, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint64Field(RtpPseudowireParameters_Ssrc, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field(RtpPseudowireParameters_ExpectedPtype, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: Uint64Field(RtpPseudowireParameters_ExpectedSsrc, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
index b67b74b..39aa2c4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -166,10 +166,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipAgentConfigData_ProxyServerAddressPointer = "ProxyServerAddressPointer"
+const SipAgentConfigData_OutboundProxyAddressPointer = "OutboundProxyAddressPointer"
+const SipAgentConfigData_PrimarySipDns = "PrimarySipDns"
+const SipAgentConfigData_SecondarySipDns = "SecondarySipDns"
+const SipAgentConfigData_TcpUdpPointer = "TcpUdpPointer"
+const SipAgentConfigData_SipRegExpTime = "SipRegExpTime"
+const SipAgentConfigData_SipReregHeadStartTime = "SipReregHeadStartTime"
+const SipAgentConfigData_HostPartUri = "HostPartUri"
+const SipAgentConfigData_SipStatus = "SipStatus"
+const SipAgentConfigData_SipRegistrar = "SipRegistrar"
+const SipAgentConfigData_Softswitch = "Softswitch"
+const SipAgentConfigData_SipResponseTable = "SipResponseTable"
+const SipAgentConfigData_SipOptionTransmitControl = "SipOptionTransmitControl"
+const SipAgentConfigData_SipUriFormat = "SipUriFormat"
+const SipAgentConfigData_RedundantSipAgentPointer = "RedundantSipAgentPointer"
+
 func init() {
 	sipagentconfigdataBME = &ManagedEntityDefinition{
 		Name:    "SipAgentConfigData",
-		ClassID: 150,
+		ClassID: SipAgentConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -180,22 +198,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("ProxyServerAddressPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("OutboundProxyAddressPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PrimarySipDns", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint32Field("SecondarySipDns", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("TcpUdpPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  Uint32Field("SipRegExpTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  Uint32Field("SipReregHeadStartTime", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  Uint16Field("HostPartUri", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("SipStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
-			10: Uint16Field("SipRegistrar", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: Uint32Field("Softswitch", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: TableField("SipResponseTable", TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: ByteField("SipOptionTransmitControl", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
-			14: ByteField("SipUriFormat", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
-			15: Uint16Field("RedundantSipAgentPointer", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(SipAgentConfigData_ProxyServerAddressPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(SipAgentConfigData_OutboundProxyAddressPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(SipAgentConfigData_PrimarySipDns, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint32Field(SipAgentConfigData_SecondarySipDns, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(SipAgentConfigData_TcpUdpPointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  Uint32Field(SipAgentConfigData_SipRegExpTime, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  Uint32Field(SipAgentConfigData_SipReregHeadStartTime, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  Uint16Field(SipAgentConfigData_HostPartUri, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(SipAgentConfigData_SipStatus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, false, false, 9),
+			10: Uint16Field(SipAgentConfigData_SipRegistrar, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint32Field(SipAgentConfigData_Softswitch, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: TableField(SipAgentConfigData_SipResponseTable, TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: ByteField(SipAgentConfigData_SipOptionTransmitControl, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 13),
+			14: ByteField(SipAgentConfigData_SipUriFormat, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			15: Uint16Field(SipAgentConfigData_RedundantSipAgentPointer, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go
index 1ed14a8..4af9359 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentconfigdata2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -88,10 +88,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipAgentConfigData2_InUseOptionsTimer = "InUseOptionsTimer"
+const SipAgentConfigData2_AlternateOptionsTimer = "AlternateOptionsTimer"
+const SipAgentConfigData2_Revertive = "Revertive"
+const SipAgentConfigData2_CurrentProxyServerResolvedAddress = "CurrentProxyServerResolvedAddress"
+const SipAgentConfigData2_CurrentProxyServerResolvedName = "CurrentProxyServerResolvedName"
+const SipAgentConfigData2_AlternateProxyServerResolvedAddress = "AlternateProxyServerResolvedAddress"
+const SipAgentConfigData2_AlternateProxyServerResolvedName = "AlternateProxyServerResolvedName"
+
 func init() {
 	sipagentconfigdata2BME = &ManagedEntityDefinition{
 		Name:    "SipAgentConfigData2",
-		ClassID: 407,
+		ClassID: SipAgentConfigData2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -101,14 +111,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("InUseOptionsTimer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("AlternateOptionsTimer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("Revertive", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint32Field("CurrentProxyServerResolvedAddress", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint16Field("CurrentProxyServerResolvedName", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: Uint32Field("AlternateProxyServerResolvedAddress", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint16Field("AlternateProxyServerResolvedName", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(SipAgentConfigData2_InUseOptionsTimer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(SipAgentConfigData2_AlternateOptionsTimer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(SipAgentConfigData2_Revertive, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field(SipAgentConfigData2_CurrentProxyServerResolvedAddress, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint16Field(SipAgentConfigData2_CurrentProxyServerResolvedName, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint32Field(SipAgentConfigData2_AlternateProxyServerResolvedAddress, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field(SipAgentConfigData2_AlternateProxyServerResolvedName, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go
index 66850e2..3960179 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipagentperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -105,10 +105,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipAgentPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const SipAgentPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const SipAgentPerformanceMonitoringHistoryData_Transactions = "Transactions"
+const SipAgentPerformanceMonitoringHistoryData_RxInviteReqs = "RxInviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_RxInviteRetrans = "RxInviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_RxNoninviteReqs = "RxNoninviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_RxNoninviteRetrans = "RxNoninviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_RxResponse = "RxResponse"
+const SipAgentPerformanceMonitoringHistoryData_RxResponseRetransmissions = "RxResponseRetransmissions"
+const SipAgentPerformanceMonitoringHistoryData_TxInviteReqs = "TxInviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_TxInviteRetrans = "TxInviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_TxNoninviteReqs = "TxNoninviteReqs"
+const SipAgentPerformanceMonitoringHistoryData_TxNoninviteRetrans = "TxNoninviteRetrans"
+const SipAgentPerformanceMonitoringHistoryData_TxResponse = "TxResponse"
+const SipAgentPerformanceMonitoringHistoryData_TxResponseRetransmissions = "TxResponseRetransmissions"
+
 func init() {
 	sipagentperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "SipAgentPerformanceMonitoringHistoryData",
-		ClassID: 151,
+		ClassID: SipAgentPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -118,22 +136,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("Transactions", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("RxInviteReqs", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("RxInviteRetrans", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("RxNoninviteReqs", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  Uint32Field("RxNoninviteRetrans", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("RxResponse", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("RxResponseRetransmissions", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("TxInviteReqs", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("TxInviteRetrans", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("TxNoninviteReqs", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("TxNoninviteRetrans", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("TxResponse", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("TxResponseRetransmissions", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(SipAgentPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(SipAgentPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_Transactions, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxInviteReqs, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxInviteRetrans, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxNoninviteReqs, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxNoninviteRetrans, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxResponse, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(SipAgentPerformanceMonitoringHistoryData_RxResponseRetransmissions, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxInviteReqs, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxInviteRetrans, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxNoninviteReqs, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxNoninviteRetrans, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxResponse, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(SipAgentPerformanceMonitoringHistoryData_TxResponseRetransmissions, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go
index 23949a5..aa9e982 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipcallinitiationperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,10 +81,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipCallInitiationPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const SipCallInitiationPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailedToConnectCounter = "FailedToConnectCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailedToValidateCounter = "FailedToValidateCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_TimeoutCounter = "TimeoutCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailureReceivedCounter = "FailureReceivedCounter"
+const SipCallInitiationPerformanceMonitoringHistoryData_FailedToAuthenticateCounter = "FailedToAuthenticateCounter"
+
 func init() {
 	sipcallinitiationperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "SipCallInitiationPerformanceMonitoringHistoryData",
-		ClassID: 152,
+		ClassID: SipCallInitiationPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,14 +104,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("FailedToConnectCounter", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("FailedToValidateCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("TimeoutCounter", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("FailureReceivedCounter", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("FailedToAuthenticateCounter", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(SipCallInitiationPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(SipCallInitiationPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailedToConnectCounter, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailedToValidateCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_TimeoutCounter, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailureReceivedCounter, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(SipCallInitiationPerformanceMonitoringHistoryData_FailedToAuthenticateCounter, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go
index 7f525c0..b0471c4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipconfigportal.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -59,18 +59,22 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipConfigPortal_ConfigurationTextTable = "ConfigurationTextTable"
+
 func init() {
 	sipconfigportalBME = &ManagedEntityDefinition{
 		Name:    "SipConfigPortal",
-		ClassID: 149,
+		ClassID: SipConfigPortalClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: TableField("ConfigurationTextTable", TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: TableField(SipConfigPortal_ConfigurationTextTable, TableAttributeType, 0x8000, TableInfo{nil, 25}, mapset.NewSetWith(Read), true, false, false, 1),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go
index dcbe99e..af74f1c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/sipuserdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -110,10 +110,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SipUserData_SipAgentPointer = "SipAgentPointer"
+const SipUserData_UserPartAor = "UserPartAor"
+const SipUserData_SipDisplayName = "SipDisplayName"
+const SipUserData_UsernameAndPassword = "UsernameAndPassword"
+const SipUserData_VoicemailServerSipUri = "VoicemailServerSipUri"
+const SipUserData_VoicemailSubscriptionExpirationTime = "VoicemailSubscriptionExpirationTime"
+const SipUserData_NetworkDialPlanPointer = "NetworkDialPlanPointer"
+const SipUserData_ApplicationServicesProfilePointer = "ApplicationServicesProfilePointer"
+const SipUserData_FeatureCodePointer = "FeatureCodePointer"
+const SipUserData_PptpPointer = "PptpPointer"
+const SipUserData_ReleaseTimer = "ReleaseTimer"
+const SipUserData_ReceiverOffHookRohTimer = "ReceiverOffHookRohTimer"
+
 func init() {
 	sipuserdataBME = &ManagedEntityDefinition{
 		Name:    "SipUserData",
-		ClassID: 153,
+		ClassID: SipUserDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -122,19 +137,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("SipAgentPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("UserPartAor", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  MultiByteField("SipDisplayName", OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  Uint16Field("UsernameAndPassword", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("VoicemailServerSipUri", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint32Field("VoicemailSubscriptionExpirationTime", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("NetworkDialPlanPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  Uint16Field("ApplicationServicesProfilePointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint16Field("FeatureCodePointer", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: Uint16Field("PptpPointer", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("ReleaseTimer", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("ReceiverOffHookRohTimer", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(SipUserData_SipAgentPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(SipUserData_UserPartAor, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  MultiByteField(SipUserData_SipDisplayName, OctetsAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  Uint16Field(SipUserData_UsernameAndPassword, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(SipUserData_VoicemailServerSipUri, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field(SipUserData_VoicemailSubscriptionExpirationTime, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(SipUserData_NetworkDialPlanPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field(SipUserData_ApplicationServicesProfilePointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field(SipUserData_FeatureCodePointer, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint16Field(SipUserData_PptpPointer, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(SipUserData_ReleaseTimer, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(SipUserData_ReceiverOffHookRohTimer, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go
index 2e6c9e4..4c0616c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/snmpconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -82,10 +82,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SnmpConfigurationData_SnmpVersion = "SnmpVersion"
+const SnmpConfigurationData_SnmpAgentAddress = "SnmpAgentAddress"
+const SnmpConfigurationData_SnmpServerAddress = "SnmpServerAddress"
+const SnmpConfigurationData_SnmpServerPort = "SnmpServerPort"
+const SnmpConfigurationData_SecurityNamePointer = "SecurityNamePointer"
+const SnmpConfigurationData_CommunityForRead = "CommunityForRead"
+const SnmpConfigurationData_CommunityForWrite = "CommunityForWrite"
+const SnmpConfigurationData_SysNamePointer = "SysNamePointer"
+
 func init() {
 	snmpconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "SnmpConfigurationData",
-		ClassID: 335,
+		ClassID: SnmpConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,15 +105,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("SnmpVersion", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("SnmpAgentAddress", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("SnmpServerAddress", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("SnmpServerPort", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint16Field("SecurityNamePointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint16Field("CommunityForRead", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: Uint16Field("CommunityForWrite", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8: Uint16Field("SysNamePointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(SnmpConfigurationData_SnmpVersion, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(SnmpConfigurationData_SnmpAgentAddress, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(SnmpConfigurationData_SnmpServerAddress, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(SnmpConfigurationData_SnmpServerPort, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint16Field(SnmpConfigurationData_SecurityNamePointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint16Field(SnmpConfigurationData_CommunityForRead, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint16Field(SnmpConfigurationData_CommunityForWrite, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8: Uint16Field(SnmpConfigurationData_SysNamePointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go
index b900d0b..e6f1d43 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/softwareimage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -110,10 +110,19 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const SoftwareImage_Version = "Version"
+const SoftwareImage_IsCommitted = "IsCommitted"
+const SoftwareImage_IsActive = "IsActive"
+const SoftwareImage_IsValid = "IsValid"
+const SoftwareImage_ProductCode = "ProductCode"
+const SoftwareImage_ImageHash = "ImageHash"
+
 func init() {
 	softwareimageBME = &ManagedEntityDefinition{
 		Name:    "SoftwareImage",
-		ClassID: 7,
+		ClassID: SoftwareImageClassID,
 		MessageTypes: mapset.NewSetWith(
 			ActivateSoftware,
 			CommitSoftware,
@@ -124,13 +133,13 @@
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: MultiByteField("Version", StringAttributeType, 0x8000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, false, false, 1),
-			2: ByteField("IsCommitted", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
-			3: ByteField("IsActive", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
-			4: ByteField("IsValid", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), true, false, false, 4),
-			5: MultiByteField("ProductCode", OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 5),
-			6: MultiByteField("ImageHash", StringAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: MultiByteField(SoftwareImage_Version, StringAttributeType, 0x8000, 14, toOctets("ICAgICAgICAgICAgICA="), mapset.NewSetWith(Read), true, false, false, 1),
+			2: ByteField(SoftwareImage_IsCommitted, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, false, false, 2),
+			3: ByteField(SoftwareImage_IsActive, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), true, false, false, 3),
+			4: ByteField(SoftwareImage_IsValid, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read), true, false, false, 4),
+			5: MultiByteField(SoftwareImage_ProductCode, OctetsAttributeType, 0x0800, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 5),
+			6: MultiByteField(SoftwareImage_ImageHash, StringAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, true, false, 6),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go
index 7fe59c9..106d042 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/t-cont.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -96,20 +96,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TCont_AllocId = "AllocId"
+const TCont_Deprecated = "Deprecated"
+const TCont_Policy = "Policy"
+
 func init() {
 	tcontBME = &ManagedEntityDefinition{
 		Name:    "TCont",
-		ClassID: 262,
+		ClassID: TContClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("AllocId", UnsignedIntegerAttributeType, 0x8000, 65535, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("Deprecated", UnsignedIntegerAttributeType, 0x4000, 1, mapset.NewSetWith(Read), false, false, true, 2),
-			3: ByteField("Policy", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(TCont_AllocId, UnsignedIntegerAttributeType, 0x8000, 65535, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(TCont_Deprecated, UnsignedIntegerAttributeType, 0x4000, 1, mapset.NewSetWith(Read), false, false, true, 2),
+			3: ByteField(TCont_Policy, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
index 8c13139..987eba0 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcadaptorperformancemonitoringhistorydataxdsl.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -92,10 +92,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_IntervalEndTime = "IntervalEndTime"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_ThresholdData12Id = "ThresholdData12Id"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndHecViolationCount = "NearEndHecViolationCount"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndDelineatedTotalCellCountCdP = "NearEndDelineatedTotalCellCountCdP"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndUserTotalCellCountCuP = "NearEndUserTotalCellCountCuP"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndIdleCellBitErrorCount = "NearEndIdleCellBitErrorCount"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndHecViolationCount = "FarEndHecViolationCount"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndDelineatedTotalCellCountCdPfe = "FarEndDelineatedTotalCellCountCdPfe"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndUserTotalCellCountCuPfe = "FarEndUserTotalCellCountCuPfe"
+const TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndIdleCellBitErrorCount = "FarEndIdleCellBitErrorCount"
+
 func init() {
 	tcadaptorperformancemonitoringhistorydataxdslBME = &ManagedEntityDefinition{
 		Name:    "TcAdaptorPerformanceMonitoringHistoryDataXdsl",
-		ClassID: 116,
+		ClassID: TcAdaptorPerformanceMonitoringHistoryDataXdslClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -105,17 +118,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("NearEndHecViolationCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("NearEndDelineatedTotalCellCountCdP", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("NearEndUserTotalCellCountCuP", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("NearEndIdleCellBitErrorCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("FarEndHecViolationCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("FarEndDelineatedTotalCellCountCdPfe", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("FarEndUserTotalCellCountCuPfe", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("FarEndIdleCellBitErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(TcAdaptorPerformanceMonitoringHistoryDataXdsl_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndHecViolationCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndDelineatedTotalCellCountCdP, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndUserTotalCellCountCuP, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_NearEndIdleCellBitErrorCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndHecViolationCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndDelineatedTotalCellCountCdPfe, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndUserTotalCellCountCuPfe, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(TcAdaptorPerformanceMonitoringHistoryDataXdsl_FarEndIdleCellBitErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go
index df11642..70a17a4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,10 +72,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TcpUdpConfigData_PortId = "PortId"
+const TcpUdpConfigData_Protocol = "Protocol"
+const TcpUdpConfigData_TosDiffservField = "TosDiffservField"
+const TcpUdpConfigData_IpHostPointer = "IpHostPointer"
+
 func init() {
 	tcpudpconfigdataBME = &ManagedEntityDefinition{
 		Name:    "TcpUdpConfigData",
-		ClassID: 136,
+		ClassID: TcpUdpConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -84,11 +91,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("PortId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("Protocol", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("TosDiffservField", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("IpHostPointer", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(TcpUdpConfigData_PortId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(TcpUdpConfigData_Protocol, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(TcpUdpConfigData_TosDiffservField, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(TcpUdpConfigData_IpHostPointer, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go
index fd7073b..491f353 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/tcpudpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TcpUdpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TcpUdpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const TcpUdpPerformanceMonitoringHistoryData_SocketFailed = "SocketFailed"
+const TcpUdpPerformanceMonitoringHistoryData_ListenFailed = "ListenFailed"
+const TcpUdpPerformanceMonitoringHistoryData_BindFailed = "BindFailed"
+const TcpUdpPerformanceMonitoringHistoryData_AcceptFailed = "AcceptFailed"
+const TcpUdpPerformanceMonitoringHistoryData_SelectFailed = "SelectFailed"
+
 func init() {
 	tcpudpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TcpUdpPerformanceMonitoringHistoryData",
-		ClassID: 342,
+		ClassID: TcpUdpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,14 +102,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("SocketFailed", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint16Field("ListenFailed", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("BindFailed", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint16Field("AcceptFailed", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("SelectFailed", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(TcpUdpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_SocketFailed, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_ListenFailed, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_BindFailed, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_AcceptFailed, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(TcpUdpPerformanceMonitoringHistoryData_SelectFailed, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go
index d398f61..f42aa70 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ThresholdData1_ThresholdValue1 = "ThresholdValue1"
+const ThresholdData1_ThresholdValue2 = "ThresholdValue2"
+const ThresholdData1_ThresholdValue3 = "ThresholdValue3"
+const ThresholdData1_ThresholdValue4 = "ThresholdValue4"
+const ThresholdData1_ThresholdValue5 = "ThresholdValue5"
+const ThresholdData1_ThresholdValue6 = "ThresholdValue6"
+const ThresholdData1_ThresholdValue7 = "ThresholdValue7"
+
 func init() {
 	thresholddata1BME = &ManagedEntityDefinition{
 		Name:    "ThresholdData1",
-		ClassID: 273,
+		ClassID: ThresholdData1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -91,14 +101,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("ThresholdValue1", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("ThresholdValue2", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("ThresholdValue3", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint32Field("ThresholdValue4", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint32Field("ThresholdValue5", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint32Field("ThresholdValue6", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: Uint32Field("ThresholdValue7", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(ThresholdData1_ThresholdValue1, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(ThresholdData1_ThresholdValue2, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(ThresholdData1_ThresholdValue3, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field(ThresholdData1_ThresholdValue4, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint32Field(ThresholdData1_ThresholdValue5, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint32Field(ThresholdData1_ThresholdValue6, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint32Field(ThresholdData1_ThresholdValue7, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go
index 3cd0975..f1508db 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/thresholddata2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -77,10 +77,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const ThresholdData2_ThresholdValue8 = "ThresholdValue8"
+const ThresholdData2_ThresholdValue9 = "ThresholdValue9"
+const ThresholdData2_ThresholdValue10 = "ThresholdValue10"
+const ThresholdData2_ThresholdValue11 = "ThresholdValue11"
+const ThresholdData2_ThresholdValue12 = "ThresholdValue12"
+const ThresholdData2_ThresholdValue13 = "ThresholdValue13"
+const ThresholdData2_ThresholdValue14 = "ThresholdValue14"
+
 func init() {
 	thresholddata2BME = &ManagedEntityDefinition{
 		Name:    "ThresholdData2",
-		ClassID: 274,
+		ClassID: ThresholdData2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -89,14 +99,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("ThresholdValue8", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint32Field("ThresholdValue9", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("ThresholdValue10", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint32Field("ThresholdValue11", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5: Uint32Field("ThresholdValue12", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6: Uint32Field("ThresholdValue13", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7: Uint32Field("ThresholdValue14", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(ThresholdData2_ThresholdValue8, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint32Field(ThresholdData2_ThresholdValue9, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(ThresholdData2_ThresholdValue10, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint32Field(ThresholdData2_ThresholdValue11, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5: Uint32Field(ThresholdData2_ThresholdValue12, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6: Uint32Field(ThresholdData2_ThresholdValue13, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7: Uint32Field(ThresholdData2_ThresholdValue14, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go
index d227b91..511439b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/timestatusmessage.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -87,25 +87,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TimeStatusMessage_DomainNumber = "DomainNumber"
+const TimeStatusMessage_FlagField = "FlagField"
+const TimeStatusMessage_Currentutcoffset = "Currentutcoffset"
+const TimeStatusMessage_Priority1 = "Priority1"
+const TimeStatusMessage_Clockclass = "Clockclass"
+const TimeStatusMessage_Accuracy = "Accuracy"
+const TimeStatusMessage_Offsetscaledlogvariance = "Offsetscaledlogvariance"
+const TimeStatusMessage_Priority2 = "Priority2"
+
 func init() {
 	timestatusmessageBME = &ManagedEntityDefinition{
 		Name:    "TimeStatusMessage",
-		ClassID: 440,
+		ClassID: TimeStatusMessageClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("DomainNumber", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("FlagField", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint16Field("Currentutcoffset", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("Priority1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("Clockclass", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6: ByteField("Accuracy", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7: Uint16Field("Offsetscaledlogvariance", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8: ByteField("Priority2", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(TimeStatusMessage_DomainNumber, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(TimeStatusMessage_FlagField, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint16Field(TimeStatusMessage_Currentutcoffset, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(TimeStatusMessage_Priority1, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(TimeStatusMessage_Clockclass, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField(TimeStatusMessage_Accuracy, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7: Uint16Field(TimeStatusMessage_Offsetscaledlogvariance, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8: ByteField(TimeStatusMessage_Priority2, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go
index cf1ccc0..920ba6a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficdescriptor.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -155,10 +155,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TrafficDescriptor_Cir = "Cir"
+const TrafficDescriptor_Pir = "Pir"
+const TrafficDescriptor_Cbs = "Cbs"
+const TrafficDescriptor_Pbs = "Pbs"
+const TrafficDescriptor_ColourMode = "ColourMode"
+const TrafficDescriptor_IngressColourMarking = "IngressColourMarking"
+const TrafficDescriptor_EgressColourMarking = "EgressColourMarking"
+const TrafficDescriptor_MeterType = "MeterType"
+
 func init() {
 	trafficdescriptorBME = &ManagedEntityDefinition{
 		Name:    "TrafficDescriptor",
-		ClassID: 280,
+		ClassID: TrafficDescriptorClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -167,15 +178,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint32Field("Cir", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2: Uint32Field("Pir", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3: Uint32Field("Cbs", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4: Uint32Field("Pbs", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: ByteField("ColourMode", EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6: ByteField("IngressColourMarking", EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7: ByteField("EgressColourMarking", EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8: ByteField("MeterType", EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint32Field(TrafficDescriptor_Cir, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2: Uint32Field(TrafficDescriptor_Pir, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3: Uint32Field(TrafficDescriptor_Cbs, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4: Uint32Field(TrafficDescriptor_Pbs, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: ByteField(TrafficDescriptor_ColourMode, EnumerationAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6: ByteField(TrafficDescriptor_IngressColourMarking, EnumerationAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7: ByteField(TrafficDescriptor_EgressColourMarking, EnumerationAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8: ByteField(TrafficDescriptor_MeterType, EnumerationAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go
index 6be642f..71292a6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/trafficscheduler.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -108,21 +108,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TrafficScheduler_TContPointer = "TContPointer"
+const TrafficScheduler_TrafficSchedulerPointer = "TrafficSchedulerPointer"
+const TrafficScheduler_Policy = "Policy"
+const TrafficScheduler_PriorityWeight = "PriorityWeight"
+
 func init() {
 	trafficschedulerBME = &ManagedEntityDefinition{
 		Name:    "TrafficScheduler",
-		ClassID: 278,
+		ClassID: TrafficSchedulerClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("TContPointer", PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: Uint16Field("TrafficSchedulerPointer", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("Policy", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: ByteField("PriorityWeight", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(TrafficScheduler_TContPointer, PointerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: Uint16Field(TrafficScheduler_TrafficSchedulerPointer, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(TrafficScheduler_Policy, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: ByteField(TrafficScheduler_PriorityWeight, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go
index b0b0ce5..0b38dac 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelmanagedentity.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -72,20 +72,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelManagedEntity_ActiveChannelIndication = "ActiveChannelIndication"
+const TwdmChannelManagedEntity_OperationalChannelIndication = "OperationalChannelIndication"
+const TwdmChannelManagedEntity_DownstreamWavelengthChannel = "DownstreamWavelengthChannel"
+const TwdmChannelManagedEntity_UpstreamWavelengthChannel = "UpstreamWavelengthChannel"
+
 func init() {
 	twdmchannelmanagedentityBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelManagedEntity",
-		ClassID: 443,
+		ClassID: TwdmChannelManagedEntityClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("ActiveChannelIndication", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("OperationalChannelIndication", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("DownstreamWavelengthChannel", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: ByteField("UpstreamWavelengthChannel", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(TwdmChannelManagedEntity_ActiveChannelIndication, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(TwdmChannelManagedEntity_OperationalChannelIndication, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(TwdmChannelManagedEntity_DownstreamWavelengthChannel, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField(TwdmChannelManagedEntity_UpstreamWavelengthChannel, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go
index fb1f97d..1392a58 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelomciperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -69,10 +69,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelOmciPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_OmciBaselineMessageCount = "OmciBaselineMessageCount"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_OmciExtendedMessageCount = "OmciExtendedMessageCount"
+const TwdmChannelOmciPerformanceMonitoringHistoryData_OmciMicErrorCount = "OmciMicErrorCount"
+
 func init() {
 	twdmchannelomciperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelOmciPerformanceMonitoringHistoryData",
-		ClassID: 452,
+		ClassID: TwdmChannelOmciPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -82,12 +90,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("OmciBaselineMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("OmciExtendedMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("OmciMicErrorCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(TwdmChannelOmciPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(TwdmChannelOmciPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(TwdmChannelOmciPerformanceMonitoringHistoryData_OmciBaselineMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(TwdmChannelOmciPerformanceMonitoringHistoryData_OmciExtendedMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(TwdmChannelOmciPerformanceMonitoringHistoryData_OmciMicErrorCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
index 93fa9d0..fd79582 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelphylodsperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalReceivedWordsProtectedByBitInterleavedParity32Bip32 = "TotalReceivedWordsProtectedByBitInterleavedParity32Bip32"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_Bip32BitErrorCount = "Bip32BitErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedPsbdHecErrorCount = "CorrectedPsbdHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectablePsbdHecErrorCount = "UncorrectablePsbdHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedDownstreamFsHeaderHecErrorCount = "CorrectedDownstreamFsHeaderHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectableDownstreamFsHeaderHecErrorCount = "UncorrectableDownstreamFsHeaderHecErrorCount"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalNumberOfLodsEvents = "TotalNumberOfLodsEvents"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInOperatingTwdmChannel = "LodsEventsRestoredInOperatingTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInProtectionTwdmChannel = "LodsEventsRestoredInProtectionTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInDiscretionaryTwdmChannel = "LodsEventsRestoredInDiscretionaryTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivation = "LodsEventsResultingInReactivation"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel = "LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel"
+const TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel = "LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel"
+
 func init() {
 	twdmchannelphylodsperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPhyLodsPerformanceMonitoringHistoryData",
-		ClassID: 444,
+		ClassID: TwdmChannelPhyLodsPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,22 +148,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("TotalReceivedWordsProtectedByBitInterleavedParity32Bip32", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("Bip32BitErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("CorrectedPsbdHecErrorCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("UncorrectablePsbdHecErrorCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("CorrectedDownstreamFsHeaderHecErrorCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("UncorrectableDownstreamFsHeaderHecErrorCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TotalNumberOfLodsEvents", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("LodsEventsRestoredInOperatingTwdmChannel", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("LodsEventsRestoredInProtectionTwdmChannel", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("LodsEventsRestoredInDiscretionaryTwdmChannel", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("LodsEventsResultingInReactivation", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalReceivedWordsProtectedByBitInterleavedParity32Bip32, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_Bip32BitErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedPsbdHecErrorCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectablePsbdHecErrorCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_CorrectedDownstreamFsHeaderHecErrorCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_UncorrectableDownstreamFsHeaderHecErrorCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_TotalNumberOfLodsEvents, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInOperatingTwdmChannel, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInProtectionTwdmChannel, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsRestoredInDiscretionaryTwdmChannel, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivation, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToProtectionTwdmChannel, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelPhyLodsPerformanceMonitoringHistoryData_LodsEventsResultingInReactivationAfterRetuningToDiscretionaryTwdmChannel, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
index df4499f..9e7a608 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_PloamMicErrors = "PloamMicErrors"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_DownstreamPloamMessageCount = "DownstreamPloamMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_RangingTimeMessageCount = "RangingTimeMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ProtectionControlMessageCount = "ProtectionControlMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthMessageCount = "AdjustTxWavelengthMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthAdjustmentAmplitude = "AdjustTxWavelengthAdjustmentAmplitude"
+
 func init() {
 	twdmchannelploamperformancemonitoringhistorydatapart1BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart1",
-		ClassID: 446,
+		ClassID: TwdmChannelPloamPerformanceMonitoringHistoryDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -104,15 +115,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("PloamMicErrors", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("DownstreamPloamMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("RangingTimeMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ProtectionControlMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint32Field("AdjustTxWavelengthMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint32Field("AdjustTxWavelengthAdjustmentAmplitude", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_PloamMicErrors, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_DownstreamPloamMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_RangingTimeMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_ProtectionControlMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthMessageCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart1_AdjustTxWavelengthAdjustmentAmplitude, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
index 8aa8f0a..3a33214 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SystemProfileMessageCount = "SystemProfileMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ChannelProfileMessageCount = "ChannelProfileMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_BurstProfileMessageCount = "BurstProfileMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignOnuIdMessageCount = "AssignOnuIdMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_UnsatisfiedAdjustTxWavelengthRequests = "UnsatisfiedAdjustTxWavelengthRequests"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DeactivateOnuIdMessageCount = "DeactivateOnuIdMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DisableSerialNumberMessageCount = "DisableSerialNumberMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_RequestRegistrationMessageCount = "RequestRegistrationMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignAllocIdMessageCount = "AssignAllocIdMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_KeyControlMessageCount = "KeyControlMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SleepAllowMessageCount = "SleepAllowMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlRequestMessageCount = "TuningControlRequestMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlCompleteDMessageCount = "TuningControlCompleteDMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_CalibrationRequestMessageCount = "CalibrationRequestMessageCount"
+
 func init() {
 	twdmchannelploamperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart2",
-		ClassID: 447,
+		ClassID: TwdmChannelPloamPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,23 +149,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("SystemProfileMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("ChannelProfileMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("BurstProfileMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("AssignOnuIdMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("UnsatisfiedAdjustTxWavelengthRequests", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("DeactivateOnuIdMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("DisableSerialNumberMessageCount", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("RequestRegistrationMessageCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("AssignAllocIdMessageCount", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("KeyControlMessageCount", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("SleepAllowMessageCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TuningControlRequestMessageCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("TuningControlCompleteDMessageCount", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint32Field("CalibrationRequestMessageCount", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SystemProfileMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_ChannelProfileMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_BurstProfileMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignOnuIdMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_UnsatisfiedAdjustTxWavelengthRequests, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DeactivateOnuIdMessageCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_DisableSerialNumberMessageCount, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_RequestRegistrationMessageCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_AssignAllocIdMessageCount, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_KeyControlMessageCount, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_SleepAllowMessageCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlRequestMessageCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_TuningControlCompleteDMessageCount, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart2_CalibrationRequestMessageCount, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
index 99dbe51..45c976e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelploamperformancemonitoringhistorydatapart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -100,10 +100,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_UpstreamPloamMessageCount = "UpstreamPloamMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuInBandMessageCount = "SerialNumberOnuInBandMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuAmccMessageCount = "SerialNumberOnuAmccMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_RegistrationMessageCount = "RegistrationMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_KeyReportMessageCount = "KeyReportMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_AcknowledgementMessageCount = "AcknowledgementMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SleepRequestMessageCount = "SleepRequestMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseAckNackMessageCount = "TuningResponseAckNackMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseCompleteURollbackMessageCount = "TuningResponseCompleteURollbackMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_PowerConsumptionReportMessageCount = "PowerConsumptionReportMessageCount"
+const TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ChangePowerLevelParameterErrorCount = "ChangePowerLevelParameterErrorCount"
+
 func init() {
 	twdmchannelploamperformancemonitoringhistorydatapart3BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelPloamPerformanceMonitoringHistoryDataPart3",
-		ClassID: 448,
+		ClassID: TwdmChannelPloamPerformanceMonitoringHistoryDataPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -113,20 +129,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("UpstreamPloamMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("SerialNumberOnuInBandMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("SerialNumberOnuAmccMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("RegistrationMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("KeyReportMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("AcknowledgementMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("SleepRequestMessageCount", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningResponseAckNackMessageCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TuningResponseCompleteURollbackMessageCount", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("PowerConsumptionReportMessageCount", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("ChangePowerLevelParameterErrorCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_UpstreamPloamMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuInBandMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SerialNumberOnuAmccMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_RegistrationMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_KeyReportMessageCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_AcknowledgementMessageCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_SleepRequestMessageCount, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseAckNackMessageCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_TuningResponseCompleteURollbackMessageCount, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_PowerConsumptionReportMessageCount, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelPloamPerformanceMonitoringHistoryDataPart3_ChangePowerLevelParameterErrorCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
index bc14a28..3aac486 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -124,10 +124,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForRxOnlyOrRxAndTx = "TuningControlRequestsForRxOnlyOrRxAndTx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForTxOnly = "TuningControlRequestsForTxOnly"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedIntSfc = "TuningControlRequestsRejectedIntSfc"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedDsXxx = "TuningControlRequestsRejectedDsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedUsXxx = "TuningControlRequestsRejectedUsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel = "TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound = "TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel = "TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel = "TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackComDs = "TuningControlRequestsRollbackComDs"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackDsXxx = "TuningControlRequestsRollbackDsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackUsXxx = "TuningControlRequestsRollbackUsXxx"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedWithOnuReactivation = "TuningControlRequestsFailedWithOnuReactivation"
+
 func init() {
 	twdmchanneltuningperformancemonitoringhistorydatapart1BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart1",
-		ClassID: 449,
+		ClassID: TwdmChannelTuningPerformanceMonitoringHistoryDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -136,22 +154,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsForRxOnlyOrRxAndTx", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsForTxOnly", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRejectedIntSfc", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRejectedDsXxx", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRejectedUsXxx", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TuningControlRequestsRollbackComDs", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("TuningControlRequestsRollbackDsXxx", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TuningControlRequestsRollbackUsXxx", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("TuningControlRequestsFailedWithOnuReactivation", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForRxOnlyOrRxAndTx, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsForTxOnly, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedIntSfc, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedDsXxx, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRejectedUsXxx, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFulfilledWithOnuReacquiredAtTargetChannel, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToTargetDsWavelengthChannelNotFound, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedDueToNoFeedbackInTargetDsWavelengthChannel, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsResolvedWithOnuReacquiredAtDiscretionaryChannel, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackComDs, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackDsXxx, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsRollbackUsXxx, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart1_TuningControlRequestsFailedWithOnuReactivation, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
index 6dd4ca6..9ed820b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -127,10 +127,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsAlbl = "TuningControlRequestsRejectedDsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsVoid = "TuningControlRequestsRejectedDsVoid"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsPart = "TuningControlRequestsRejectedDsPart"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsTunr = "TuningControlRequestsRejectedDsTunr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLnrt = "TuningControlRequestsRejectedDsLnrt"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLncd = "TuningControlRequestsRejectedDsLncd"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsAlbl = "TuningControlRequestsRejectedUsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsVoid = "TuningControlRequestsRejectedUsVoid"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsTunr = "TuningControlRequestsRejectedUsTunr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsClbr = "TuningControlRequestsRejectedUsClbr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLktp = "TuningControlRequestsRejectedUsLktp"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLnrt = "TuningControlRequestsRejectedUsLnrt"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLncd = "TuningControlRequestsRejectedUsLncd"
+
 func init() {
 	twdmchanneltuningperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart2",
-		ClassID: 450,
+		ClassID: TwdmChannelTuningPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -140,22 +158,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsRejectedDsAlbl", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsRejectedDsVoid", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRejectedDsPart", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRejectedDsTunr", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRejectedDsLnrt", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsRejectedDsLncd", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsRejectedUsAlbl", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsRejectedUsVoid", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("TuningControlRequestsRejectedUsTunr", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("TuningControlRequestsRejectedUsClbr", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint32Field("TuningControlRequestsRejectedUsLktp", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint32Field("TuningControlRequestsRejectedUsLnrt", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint32Field("TuningControlRequestsRejectedUsLncd", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsAlbl, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsVoid, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsPart, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsTunr, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLnrt, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedDsLncd, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsAlbl, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsVoid, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsTunr, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsClbr, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLktp, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLnrt, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart2_TuningControlRequestsRejectedUsLncd, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
index 284f476..991d592 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchanneltuningperformancemonitoringhistorydatapart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -103,10 +103,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_ThresholdData12Id = "ThresholdData12Id"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsAlbl = "TuningControlRequestsRollbackDsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsLktp = "TuningControlRequestsRollbackDsLktp"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsAlbl = "TuningControlRequestsRollbackUsAlbl"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsVoid = "TuningControlRequestsRollbackUsVoid"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsTunr = "TuningControlRequestsRollbackUsTunr"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLktp = "TuningControlRequestsRollbackUsLktp"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLnrt = "TuningControlRequestsRollbackUsLnrt"
+const TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLncd = "TuningControlRequestsRollbackUsLncd"
+
 func init() {
 	twdmchanneltuningperformancemonitoringhistorydatapart3BME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelTuningPerformanceMonitoringHistoryDataPart3",
-		ClassID: 451,
+		ClassID: TwdmChannelTuningPerformanceMonitoringHistoryDataPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -116,17 +129,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("TuningControlRequestsRollbackDsAlbl", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("TuningControlRequestsRollbackDsLktp", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("TuningControlRequestsRollbackUsAlbl", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("TuningControlRequestsRollbackUsVoid", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("TuningControlRequestsRollbackUsTunr", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("TuningControlRequestsRollbackUsLktp", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("TuningControlRequestsRollbackUsLnrt", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("TuningControlRequestsRollbackUsLncd", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsAlbl, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackDsLktp, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsAlbl, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsVoid, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsTunr, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLktp, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLnrt, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(TwdmChannelTuningPerformanceMonitoringHistoryDataPart3_TuningControlRequestsRollbackUsLncd, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go
index 5b2311a..8e21ecf 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/twdmchannelxgemperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -89,10 +89,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const TwdmChannelXgemPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_ThresholdData64BitId = "ThresholdData64BitId"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedXgemFrames = "TotalTransmittedXgemFrames"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TransmittedXgemFramesWithLfBitNotSet = "TransmittedXgemFramesWithLfBitNotSet"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedXgemFrames = "TotalReceivedXgemFrames"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_ReceivedXgemFramesWithXgemHeaderHecErrors = "ReceivedXgemFramesWithXgemHeaderHecErrors"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_FsWordsLostToXgemHeaderHecErrors = "FsWordsLostToXgemHeaderHecErrors"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_XgemEncryptionKeyErrors = "XgemEncryptionKeyErrors"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedBytesInNonIdleXgemFrames = "TotalTransmittedBytesInNonIdleXgemFrames"
+const TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedBytesInNonIdleXgemFrames = "TotalReceivedBytesInNonIdleXgemFrames"
+
 func init() {
 	twdmchannelxgemperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "TwdmChannelXgemPerformanceMonitoringHistoryData",
-		ClassID: 445,
+		ClassID: TwdmChannelXgemPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -102,17 +115,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData64BitId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("TotalTransmittedXgemFrames", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("TransmittedXgemFramesWithLfBitNotSet", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint64Field("TotalReceivedXgemFrames", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint64Field("ReceivedXgemFramesWithXgemHeaderHecErrors", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint64Field("FsWordsLostToXgemHeaderHecErrors", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint64Field("XgemEncryptionKeyErrors", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint64Field("TotalTransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint64Field("TotalReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(TwdmChannelXgemPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(TwdmChannelXgemPerformanceMonitoringHistoryData_ThresholdData64BitId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedXgemFrames, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TransmittedXgemFramesWithLfBitNotSet, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedXgemFrames, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_ReceivedXgemFramesWithXgemHeaderHecErrors, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_FsWordsLostToXgemHeaderHecErrors, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_XgemEncryptionKeyErrors, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalTransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint64Field(TwdmChannelXgemPerformanceMonitoringHistoryData_TotalReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go
index e7485fe..ef0f712 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/uni-g.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -148,22 +148,30 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const UniG_Deprecated = "Deprecated"
+const UniG_AdministrativeState = "AdministrativeState"
+const UniG_ManagementCapability = "ManagementCapability"
+const UniG_NonOmciManagementIdentifier = "NonOmciManagementIdentifier"
+const UniG_RelayAgentOptions = "RelayAgentOptions"
+
 func init() {
 	unigBME = &ManagedEntityDefinition{
 		Name:    "UniG",
-		ClassID: 264,
+		ClassID: UniGClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("Deprecated", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, true, 1),
-			2: ByteField("AdministrativeState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: ByteField("ManagementCapability", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint16Field("NonOmciManagementIdentifier", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint16Field("RelayAgentOptions", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(UniG_Deprecated, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, true, 1),
+			2: ByteField(UniG_AdministrativeState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: ByteField(UniG_ManagementCapability, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint16Field(UniG_NonOmciManagementIdentifier, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field(UniG_RelayAgentOptions, PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go
index aac283e..b69253a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknowng988me.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go
index 757b306..973cf6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/unknownvendorspecificme.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go
index ebac5a1..e9ecf05 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -319,7 +319,7 @@
 //			of 0.1 dB, i.e., with values 18..635. The special value 0 is also allowed, with semantics as
 //			defined in clause 7.2.1.3.2 of [ITUT G.993.2]. (R,-W) (optional) (2-bytes * 5 upstream bands)
 //
-//		Upboshaped Aele_Mode, Upboelmt
+//		Upboshaped Aele_Mode Upboelmt
 //			UPBOSHAPED (AELE-MODE, UPBOELMT): This attribute defines the UPBO electrical length estimation
 //			mode (AELE-MODE) and UPBO electrical length minimum threshold percentile (UPBOELMT) to be used
 //			in the alternative electrical length estimation method (ELE-M1). The format of this attribute is
@@ -330,10 +330,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineConfigurationExtensions_Vdsl2ProfilesEnabling = "Vdsl2ProfilesEnabling"
+const Vdsl2LineConfigurationExtensions_Vdsl2PsdMaskClassSelectionClassmask = "Vdsl2PsdMaskClassSelectionClassmask"
+const Vdsl2LineConfigurationExtensions_Vdsl2LimitPsdMasks = "Vdsl2LimitPsdMasks"
+const Vdsl2LineConfigurationExtensions_Vdsl2Us0Disabling = "Vdsl2Us0Disabling"
+const Vdsl2LineConfigurationExtensions_Vdsl2Us0PsdMasks = "Vdsl2Us0PsdMasks"
+const Vdsl2LineConfigurationExtensions_Vdsl2CarmaskTable = "Vdsl2CarmaskTable"
+const Vdsl2LineConfigurationExtensions_CarmaskValid = "CarmaskValid"
+const Vdsl2LineConfigurationExtensions_Upboshaped = "Upboshaped"
+const Vdsl2LineConfigurationExtensions_CyclicExtension = "CyclicExtension"
+const Vdsl2LineConfigurationExtensions_DownstreamSignalToNoiseRatioSnrMode = "DownstreamSignalToNoiseRatioSnrMode"
+const Vdsl2LineConfigurationExtensions_UpstreamSnrMode = "UpstreamSnrMode"
+const Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseDownstreamTable = "TransmitterReferredVirtualNoiseDownstreamTable"
+const Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseUpstreamTable = "TransmitterReferredVirtualNoiseUpstreamTable"
+const Vdsl2LineConfigurationExtensions_Dpboshaped = "Dpboshaped"
+const Vdsl2LineConfigurationExtensions_UpboklrefPb = "UpboklrefPb"
+const Vdsl2LineConfigurationExtensions_UpboshapedAeleModeUpboelmt = "UpboshapedAeleModeUpboelmt"
+
 func init() {
 	vdsl2lineconfigurationextensionsBME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineConfigurationExtensions",
-		ClassID: 165,
+		ClassID: Vdsl2LineConfigurationExtensionsClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -344,23 +363,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("Vdsl2ProfilesEnabling", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("Vdsl2PsdMaskClassSelectionClassmask", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint64Field("Vdsl2LimitPsdMasks", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint64Field("Vdsl2Us0Disabling", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint32Field("Vdsl2Us0PsdMasks", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  TableField("Vdsl2CarmaskTable", TableAttributeType, 0x0400, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("CarmaskValid", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  MultiByteField("Upboshaped", OctetsAttributeType, 0x0100, 23, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("CyclicExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("DownstreamSignalToNoiseRatioSnrMode", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: ByteField("UpstreamSnrMode", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: TableField("TransmitterReferredVirtualNoiseDownstreamTable", TableAttributeType, 0x0010, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: TableField("TransmitterReferredVirtualNoiseUpstreamTable", TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: MultiByteField("Dpboshaped", OctetsAttributeType, 0x0004, 15, toOctets("AAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: Uint16Field("UpboklrefPb", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("UpboshapedAeleMode,Upboelmt", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Vdsl2LineConfigurationExtensions_Vdsl2ProfilesEnabling, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(Vdsl2LineConfigurationExtensions_Vdsl2PsdMaskClassSelectionClassmask, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint64Field(Vdsl2LineConfigurationExtensions_Vdsl2LimitPsdMasks, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint64Field(Vdsl2LineConfigurationExtensions_Vdsl2Us0Disabling, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field(Vdsl2LineConfigurationExtensions_Vdsl2Us0PsdMasks, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  TableField(Vdsl2LineConfigurationExtensions_Vdsl2CarmaskTable, TableAttributeType, 0x0400, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(Vdsl2LineConfigurationExtensions_CarmaskValid, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  MultiByteField(Vdsl2LineConfigurationExtensions_Upboshaped, OctetsAttributeType, 0x0100, 23, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(Vdsl2LineConfigurationExtensions_CyclicExtension, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(Vdsl2LineConfigurationExtensions_DownstreamSignalToNoiseRatioSnrMode, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(Vdsl2LineConfigurationExtensions_UpstreamSnrMode, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: TableField(Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseDownstreamTable, TableAttributeType, 0x0010, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: TableField(Vdsl2LineConfigurationExtensions_TransmitterReferredVirtualNoiseUpstreamTable, TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: MultiByteField(Vdsl2LineConfigurationExtensions_Dpboshaped, OctetsAttributeType, 0x0004, 15, toOctets("AAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: Uint16Field(Vdsl2LineConfigurationExtensions_UpboklrefPb, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(Vdsl2LineConfigurationExtensions_UpboshapedAeleModeUpboelmt, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go
index 86f2383..40fc2e6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -156,10 +156,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineConfigurationExtensions2_SosTimeDownstream = "SosTimeDownstream"
+const Vdsl2LineConfigurationExtensions2_SosTimeUpstream = "SosTimeUpstream"
+const Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdDownstream = "SosDegradedTonesThresholdDownstream"
+const Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdUpstream = "SosDegradedTonesThresholdUpstream"
+const Vdsl2LineConfigurationExtensions2_SosCrcThresholdDownstream = "SosCrcThresholdDownstream"
+const Vdsl2LineConfigurationExtensions2_SosCrcThresholdUpstream = "SosCrcThresholdUpstream"
+const Vdsl2LineConfigurationExtensions2_MaxSosDownstream = "MaxSosDownstream"
+const Vdsl2LineConfigurationExtensions2_MaxSosUpstream = "MaxSosUpstream"
+const Vdsl2LineConfigurationExtensions2_SnrMaxOffsetDownstream = "SnrMaxOffsetDownstream"
+const Vdsl2LineConfigurationExtensions2_SnrMaxOffsetUpstream = "SnrMaxOffsetUpstream"
+const Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionDownstream = "RocMinimumImpulseNoiseProtectionDownstream"
+const Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionUpstream = "RocMinimumImpulseNoiseProtectionUpstream"
+const Vdsl2LineConfigurationExtensions2_FextDownstreamTransmitterReferredVirtualNoiseTable = "FextDownstreamTransmitterReferredVirtualNoiseTable"
+const Vdsl2LineConfigurationExtensions2_NextDownstreamTransmitterReferredVirtualNoiseTable = "NextDownstreamTransmitterReferredVirtualNoiseTable"
+
 func init() {
 	vdsl2lineconfigurationextensions2BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineConfigurationExtensions2",
-		ClassID: 323,
+		ClassID: Vdsl2LineConfigurationExtensions2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -170,21 +187,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("SosTimeDownstream", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2:  ByteField("SosTimeUpstream", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  ByteField("SosDegradedTonesThresholdDownstream", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("SosDegradedTonesThresholdUpstream", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  Uint16Field("SosCrcThresholdDownstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("SosCrcThresholdUpstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  ByteField("MaxSosDownstream", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  ByteField("MaxSosUpstream", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
-			9:  Uint16Field("SnrMaxOffsetDownstream", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: Uint16Field("SnrMaxOffsetUpstream", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
-			11: ByteField("RocMinimumImpulseNoiseProtectionDownstream", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
-			12: ByteField("RocMinimumImpulseNoiseProtectionUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
-			13: TableField("FextDownstreamTransmitterReferredVirtualNoiseTable", TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 13),
-			14: TableField("NextDownstreamTransmitterReferredVirtualNoiseTable", TableAttributeType, 0x0004, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Vdsl2LineConfigurationExtensions2_SosTimeDownstream, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  ByteField(Vdsl2LineConfigurationExtensions2_SosTimeUpstream, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  ByteField(Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdDownstream, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(Vdsl2LineConfigurationExtensions2_SosDegradedTonesThresholdUpstream, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  Uint16Field(Vdsl2LineConfigurationExtensions2_SosCrcThresholdDownstream, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(Vdsl2LineConfigurationExtensions2_SosCrcThresholdUpstream, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField(Vdsl2LineConfigurationExtensions2_MaxSosDownstream, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField(Vdsl2LineConfigurationExtensions2_MaxSosUpstream, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  Uint16Field(Vdsl2LineConfigurationExtensions2_SnrMaxOffsetDownstream, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: Uint16Field(Vdsl2LineConfigurationExtensions2_SnrMaxOffsetUpstream, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 10),
+			11: ByteField(Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionDownstream, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 11),
+			12: ByteField(Vdsl2LineConfigurationExtensions2_RocMinimumImpulseNoiseProtectionUpstream, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 12),
+			13: TableField(Vdsl2LineConfigurationExtensions2_FextDownstreamTransmitterReferredVirtualNoiseTable, TableAttributeType, 0x0008, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			14: TableField(Vdsl2LineConfigurationExtensions2_NextDownstreamTransmitterReferredVirtualNoiseTable, TableAttributeType, 0x0004, TableInfo{nil, 3}, mapset.NewSetWith(Read, Write), false, false, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go
index fd642d2..9ce5c64 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineconfigurationextensions3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineConfigurationExtensions3_Ripolicyds = "Ripolicyds"
+const Vdsl2LineConfigurationExtensions3_Ripolicyus = "Ripolicyus"
+const Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdds = "ReinitTimeThresholdds"
+const Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdus = "ReinitTimeThresholdus"
+const Vdsl2LineConfigurationExtensions3_Rxrefvnsfus = "Rxrefvnsfus"
+const Vdsl2LineConfigurationExtensions3_Txrefvnsfds = "Txrefvnsfds"
+const Vdsl2LineConfigurationExtensions3_RtxModeds = "RtxModeds"
+const Vdsl2LineConfigurationExtensions3_RtxModeus = "RtxModeus"
+const Vdsl2LineConfigurationExtensions3_LeftrThresh = "LeftrThresh"
+const Vdsl2LineConfigurationExtensions3_MaxdelayoctetSplitParameterMdosplit = "MaxdelayoctetSplitParameterMdosplit"
+const Vdsl2LineConfigurationExtensions3_AttndrMethodAttndrMethod = "AttndrMethodAttndrMethod"
+const Vdsl2LineConfigurationExtensions3_AttndrMaxdelayoctetSplitParameterAttndrMdosplit = "AttndrMaxdelayoctetSplitParameterAttndrMdosplit"
+
 func init() {
 	vdsl2lineconfigurationextensions3BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineConfigurationExtensions3",
-		ClassID: 410,
+		ClassID: Vdsl2LineConfigurationExtensions3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -129,19 +144,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("Ripolicyds", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2:  ByteField("Ripolicyus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3:  ByteField("ReinitTimeThresholdds", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  ByteField("ReinitTimeThresholdus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  ByteField("Rxrefvnsfus", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  ByteField("Txrefvnsfds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  ByteField("RtxModeds", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("RtxModeus", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("LeftrThresh", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("MaxdelayoctetSplitParameterMdosplit", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("AttndrMethodAttndrMethod", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("AttndrMaxdelayoctetSplitParameterAttndrMdosplit", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(Vdsl2LineConfigurationExtensions3_Ripolicyds, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  ByteField(Vdsl2LineConfigurationExtensions3_Ripolicyus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  ByteField(Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdds, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  ByteField(Vdsl2LineConfigurationExtensions3_ReinitTimeThresholdus, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  ByteField(Vdsl2LineConfigurationExtensions3_Rxrefvnsfus, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  ByteField(Vdsl2LineConfigurationExtensions3_Txrefvnsfds, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  ByteField(Vdsl2LineConfigurationExtensions3_RtxModeds, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(Vdsl2LineConfigurationExtensions3_RtxModeus, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(Vdsl2LineConfigurationExtensions3_LeftrThresh, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(Vdsl2LineConfigurationExtensions3_MaxdelayoctetSplitParameterMdosplit, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(Vdsl2LineConfigurationExtensions3_AttndrMethodAttndrMethod, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(Vdsl2LineConfigurationExtensions3_AttndrMaxdelayoctetSplitParameterAttndrMdosplit, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go
index 241073c..fb2ceb4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -173,32 +173,50 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystemCapabilityXtuC = "Vdsl2TransmissionSystemCapabilityXtuC"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystem = "Vdsl2TransmissionSystem"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Profile = "Vdsl2Profile"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2LimitPsdMaskAndBandplan = "Vdsl2LimitPsdMaskAndBandplan"
+const Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Us0PsdMask = "Vdsl2Us0PsdMask"
+const Vdsl2LineInventoryAndStatusDataPart1_Actsnrmodeds = "Actsnrmodeds"
+const Vdsl2LineInventoryAndStatusDataPart1_Hlingds = "Hlingds"
+const Vdsl2LineInventoryAndStatusDataPart1_Hloggds = "Hloggds"
+const Vdsl2LineInventoryAndStatusDataPart1_Qlngds = "Qlngds"
+const Vdsl2LineInventoryAndStatusDataPart1_Snrgds = "Snrgds"
+const Vdsl2LineInventoryAndStatusDataPart1_MrefpsddsTable = "MrefpsddsTable"
+const Vdsl2LineInventoryAndStatusDataPart1_Trellisds = "Trellisds"
+const Vdsl2LineInventoryAndStatusDataPart1_ActualRateAdaptationModeDownstream = "ActualRateAdaptationModeDownstream"
+const Vdsl2LineInventoryAndStatusDataPart1_ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream = "ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream"
+const Vdsl2LineInventoryAndStatusDataPart1_SnrMarginRocDownstream = "SnrMarginRocDownstream"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart1BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart1",
-		ClassID: 168,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Vdsl2TransmissionSystemCapabilityXtuC", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("Vdsl2TransmissionSystem", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  ByteField("Vdsl2Profile", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("Vdsl2LimitPsdMaskAndBandplan", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("Vdsl2Us0PsdMask", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("Actsnrmodeds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("Hlingds", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  ByteField("Hloggds", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("Qlngds", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("Snrgds", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: TableField("MrefpsddsTable", TableAttributeType, 0x0020, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 11),
-			12: ByteField("Trellisds", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: ByteField("ActualRateAdaptationModeDownstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: ByteField("ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint16Field("SnrMarginRocDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystemCapabilityXtuC, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2TransmissionSystem, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Profile, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2LimitPsdMaskAndBandplan, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart1_Vdsl2Us0PsdMask, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Actsnrmodeds, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Hlingds, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Hloggds, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(Vdsl2LineInventoryAndStatusDataPart1_Qlngds, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart1_Snrgds, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: TableField(Vdsl2LineInventoryAndStatusDataPart1_MrefpsddsTable, TableAttributeType, 0x0020, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart1_Trellisds, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: ByteField(Vdsl2LineInventoryAndStatusDataPart1_ActualRateAdaptationModeDownstream, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField(Vdsl2LineInventoryAndStatusDataPart1_ActualImpulseNoiseProtectionRobustOperationsChannelRocDownstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint16Field(Vdsl2LineInventoryAndStatusDataPart1_SnrMarginRocDownstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go
index e4cba76..a2b7b6b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -152,31 +152,48 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart2_Vdsl2TransmissionSystemCapabilityXtuR = "Vdsl2TransmissionSystemCapabilityXtuR"
+const Vdsl2LineInventoryAndStatusDataPart2_Actsnrmodeus = "Actsnrmodeus"
+const Vdsl2LineInventoryAndStatusDataPart2_Upbokle = "Upbokle"
+const Vdsl2LineInventoryAndStatusDataPart2_Hlingus = "Hlingus"
+const Vdsl2LineInventoryAndStatusDataPart2_Hloggus = "Hloggus"
+const Vdsl2LineInventoryAndStatusDataPart2_Qlngus = "Qlngus"
+const Vdsl2LineInventoryAndStatusDataPart2_Snrgus = "Snrgus"
+const Vdsl2LineInventoryAndStatusDataPart2_MrefpsdusTable = "MrefpsdusTable"
+const Vdsl2LineInventoryAndStatusDataPart2_Trellisus = "Trellisus"
+const Vdsl2LineInventoryAndStatusDataPart2_Actualce = "Actualce"
+const Vdsl2LineInventoryAndStatusDataPart2_UpbokleR = "UpbokleR"
+const Vdsl2LineInventoryAndStatusDataPart2_ActualRateAdaptationModeUpstream = "ActualRateAdaptationModeUpstream"
+const Vdsl2LineInventoryAndStatusDataPart2_ActualImpulseNoiseProtectionRocUpstream = "ActualImpulseNoiseProtectionRocUpstream"
+const Vdsl2LineInventoryAndStatusDataPart2_SnrMarginRocUpstream = "SnrMarginRocUpstream"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart2",
-		ClassID: 169,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			GetNext,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("Vdsl2TransmissionSystemCapabilityXtuR", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("Actsnrmodeus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("Upbokle", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("Hlingus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("Hloggus", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("Qlngus", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("Snrgus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  TableField("MrefpsdusTable", TableAttributeType, 0x0100, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("Trellisus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("Actualce", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("UpbokleR", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("ActualRateAdaptationModeUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: ByteField("ActualImpulseNoiseProtectionRocUpstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint16Field("SnrMarginRocUpstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Vdsl2TransmissionSystemCapabilityXtuR, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Actsnrmodeus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(Vdsl2LineInventoryAndStatusDataPart2_Upbokle, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Hlingus, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Hloggus, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Qlngus, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Snrgus, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  TableField(Vdsl2LineInventoryAndStatusDataPart2_MrefpsdusTable, TableAttributeType, 0x0100, TableInfo{nil, 3}, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(Vdsl2LineInventoryAndStatusDataPart2_Trellisus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart2_Actualce, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(Vdsl2LineInventoryAndStatusDataPart2_UpbokleR, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart2_ActualRateAdaptationModeUpstream, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: ByteField(Vdsl2LineInventoryAndStatusDataPart2_ActualImpulseNoiseProtectionRocUpstream, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint16Field(Vdsl2LineInventoryAndStatusDataPart2_SnrMarginRocUpstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go
index 64102aa..442c23e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -155,30 +155,47 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamBandsCount = "UpstreamBandsCount"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamBandsCount = "DownstreamBandsCount"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationPerBand = "DownstreamLineAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationPerBand = "UpstreamLineAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationPerBand = "DownstreamSignalAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationPerBand = "UpstreamSignalAttenuationPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginPerBand = "DownstreamSnrMarginPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginPerBand = "UpstreamSnrMarginPerBand"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationExtension = "DownstreamLineAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationExtension = "UpstreamLineAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationExtension = "DownstreamSignalAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationExtension = "UpstreamSignalAttenuationExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginExtension = "DownstreamSnrMarginExtension"
+const Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginExtension = "UpstreamSnrMarginExtension"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart3BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart3",
-		ClassID: 170,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("UpstreamBandsCount", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("DownstreamBandsCount", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  MultiByteField("DownstreamLineAttenuationPerBand", OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint32Field("UpstreamLineAttenuationPerBand", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  MultiByteField("DownstreamSignalAttenuationPerBand", OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("UpstreamSignalAttenuationPerBand", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  MultiByteField("DownstreamSnrMarginPerBand", OctetsAttributeType, 0x0200, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("UpstreamSnrMarginPerBand", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("DownstreamLineAttenuationExtension", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("UpstreamLineAttenuationExtension", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint16Field("DownstreamSignalAttenuationExtension", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("UpstreamSignalAttenuationExtension", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint16Field("DownstreamSnrMarginExtension", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: ByteField("UpstreamSnrMarginExtension", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamBandsCount, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamBandsCount, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationPerBand, OctetsAttributeType, 0x2000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationPerBand, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationPerBand, OctetsAttributeType, 0x0800, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationPerBand, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginPerBand, OctetsAttributeType, 0x0200, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginPerBand, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(Vdsl2LineInventoryAndStatusDataPart3_DownstreamLineAttenuationExtension, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamLineAttenuationExtension, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint16Field(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSignalAttenuationExtension, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSignalAttenuationExtension, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint16Field(Vdsl2LineInventoryAndStatusDataPart3_DownstreamSnrMarginExtension, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField(Vdsl2LineInventoryAndStatusDataPart3_UpstreamSnrMarginExtension, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go
index 107c9c6..bbd645d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vdsl2lineinventoryandstatusdatapart4.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -154,32 +154,51 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const Vdsl2LineInventoryAndStatusDataPart4_VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb = "VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb"
+const Vdsl2LineInventoryAndStatusDataPart4_VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb = "VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb"
+const Vdsl2LineInventoryAndStatusDataPart4_UpboDownstreamReceiverSignalLevelThresholdRxthrshds = "UpboDownstreamReceiverSignalLevelThresholdRxthrshds"
+const Vdsl2LineInventoryAndStatusDataPart4_UpboUpstreamReceiverSignalLevelThresholdRxthrshus = "UpboUpstreamReceiverSignalLevelThresholdRxthrshus"
+const Vdsl2LineInventoryAndStatusDataPart4_ActualAlternativeElectricalLengthEstimationModEActAeleMode = "ActualAlternativeElectricalLengthEstimationModEActAeleMode"
+const Vdsl2LineInventoryAndStatusDataPart4_ActualDownstreamRipolicyActripolicyds = "ActualDownstreamRipolicyActripolicyds"
+const Vdsl2LineInventoryAndStatusDataPart4_ActualUpstreamRipolicyActripolicyus = "ActualUpstreamRipolicyActripolicyus"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrActualMEthodAttndrActmethod = "AttndrActualMEthodAttndrActmethod"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds = "AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus = "AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds = "AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus = "AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamActualDelayAttndrActdelayds = "AttndrDownstreamActualDelayAttndrActdelayds"
+const Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualDelayAttndrActdelayus = "AttndrUpstreamACtualDelayAttndrActdelayus"
+const Vdsl2LineInventoryAndStatusDataPart4_NearEndAGgregateAchievableNetDataRateAggachndrNe = "NearEndAGgregateAchievableNetDataRateAggachndrNe"
+const Vdsl2LineInventoryAndStatusDataPart4_FarEndAggregateAchievableNetDataRateAggachndrFe = "FarEndAggregateAchievableNetDataRateAggachndrFe"
+
 func init() {
 	vdsl2lineinventoryandstatusdatapart4BME = &ManagedEntityDefinition{
 		Name:    "Vdsl2LineInventoryAndStatusDataPart4",
-		ClassID: 415,
+		ClassID: Vdsl2LineInventoryAndStatusDataPart4ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint32Field("VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
-			2:  MultiByteField("VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb", OctetsAttributeType, 0x4000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, true, false, 2),
-			3:  ByteField("UpboDownstreamReceiverSignalLevelThresholdRxthrshds", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  ByteField("UpboUpstreamReceiverSignalLevelThresholdRxthrshus", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  ByteField("ActualAlternativeElectricalLengthEstimationModEActAeleMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  ByteField("ActualDownstreamRipolicyActripolicyds", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7:  ByteField("ActualUpstreamRipolicyActripolicyus", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  ByteField("AttndrActualMEthodAttndrActmethod", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  ByteField("AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: ByteField("AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: ByteField("AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: ByteField("AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: ByteField("AttndrDownstreamActualDelayAttndrActdelayds", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: ByteField("AttndrUpstreamACtualDelayAttndrActdelayus", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("NearEndAGgregateAchievableNetDataRateAggachndrNe", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint32Field("FarEndAggregateAchievableNetDataRateAggachndrFe", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint32Field(Vdsl2LineInventoryAndStatusDataPart4_VtuOEstimatedUpstreamPowerBackOffElectricalLengthPerBandUpboklePb, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, true, false, 1),
+			2:  MultiByteField(Vdsl2LineInventoryAndStatusDataPart4_VtuREstimatedUpstreamPowerBackOffElectricalLengthPerBandUpbokleRPb, OctetsAttributeType, 0x4000, 3, toOctets("AAAA"), mapset.NewSetWith(Read), false, true, false, 2),
+			3:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_UpboDownstreamReceiverSignalLevelThresholdRxthrshds, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_UpboUpstreamReceiverSignalLevelThresholdRxthrshus, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_ActualAlternativeElectricalLengthEstimationModEActAeleMode, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_ActualDownstreamRipolicyActripolicyds, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_ActualUpstreamRipolicyActripolicyus, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrActualMEthodAttndrActmethod, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAttndrActinpds, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAttndrActinpus, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinds, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualImpulseNoiseProtectionAgainstReinAttndrActinpReinus, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrDownstreamActualDelayAttndrActdelayds, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: ByteField(Vdsl2LineInventoryAndStatusDataPart4_AttndrUpstreamACtualDelayAttndrActdelayus, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(Vdsl2LineInventoryAndStatusDataPart4_NearEndAGgregateAchievableNetDataRateAggachndrNe, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field(Vdsl2LineInventoryAndStatusDataPart4_FarEndAggregateAchievableNetDataRateAggachndrFe, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go
index 81b8030..185e191 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/version.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -46,8 +46,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "parser",
-			Version:    "0.15.13",
-			CreateTime: 1632853136.8901486,
+			Version:    "0.16.0",
+			CreateTime: 1643293483.072271,
 			ItuDocName: "T-REC-G.988-202003-I!Amd3!MSW-E.docx",
 			SHA256:     "084f5265bc090ca882fe45f6844d1ce368c218e52c77795060b7643240885469",
 		})
@@ -64,8 +64,8 @@
 	Versions = append(Versions,
 		VersionInfo{
 			Name:       "code-generator",
-			Version:    "0.15.13",
-			CreateTime: 1632853241.9567904,
+			Version:    "0.16.0",
+			CreateTime: 1643293492.5641377,
 			ItuDocName: "T-REC-G.988-202003-I!Amd3!MSW-E.docx",
 			SHA256:     "084f5265bc090ca882fe45f6844d1ce368c218e52c77795060b7643240885469",
 		})
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go
index eb15fd2..e0da86f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/virtualethernetinterfacepoint.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -89,22 +89,30 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VirtualEthernetInterfacePoint_AdministrativeState = "AdministrativeState"
+const VirtualEthernetInterfacePoint_OperationalState = "OperationalState"
+const VirtualEthernetInterfacePoint_InterdomainName = "InterdomainName"
+const VirtualEthernetInterfacePoint_TcpUdpPointer = "TcpUdpPointer"
+const VirtualEthernetInterfacePoint_IanaAssignedPort = "IanaAssignedPort"
+
 func init() {
 	virtualethernetinterfacepointBME = &ManagedEntityDefinition{
 		Name:    "VirtualEthernetInterfacePoint",
-		ClassID: 329,
+		ClassID: VirtualEthernetInterfacePointClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AdministrativeState", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("OperationalState", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
-			3: MultiByteField("InterdomainName", StringAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("TcpUdpPointer", PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: Uint16Field("IanaAssignedPort", UnsignedIntegerAttributeType, 0x0800, 65535, mapset.NewSetWith(Read), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(VirtualEthernetInterfacePoint_AdministrativeState, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(VirtualEthernetInterfacePoint_OperationalState, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read), true, true, false, 2),
+			3: MultiByteField(VirtualEthernetInterfacePoint_InterdomainName, StringAttributeType, 0x2000, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(VirtualEthernetInterfacePoint_TcpUdpPointer, PointerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: Uint16Field(VirtualEthernetInterfacePoint_IanaAssignedPort, UnsignedIntegerAttributeType, 0x0800, 65535, mapset.NewSetWith(Read), false, false, false, 5),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go
index 28d2443..17836a4 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingfilterdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -74,10 +74,16 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VlanTaggingFilterData_VlanFilterList = "VlanFilterList"
+const VlanTaggingFilterData_ForwardOperation = "ForwardOperation"
+const VlanTaggingFilterData_NumberOfEntries = "NumberOfEntries"
+
 func init() {
 	vlantaggingfilterdataBME = &ManagedEntityDefinition{
 		Name:    "VlanTaggingFilterData",
-		ClassID: 84,
+		ClassID: VlanTaggingFilterDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -86,10 +92,10 @@
 		),
 		AllowedAttributeMask: 0xe000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("VlanFilterList", OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: ByteField("ForwardOperation", EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("NumberOfEntries", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(VlanTaggingFilterData_VlanFilterList, OctetsAttributeType, 0x8000, 24, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: ByteField(VlanTaggingFilterData_ForwardOperation, EnumerationAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(VlanTaggingFilterData_NumberOfEntries, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go
index b13a398..5f1189a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vlantaggingoperationconfigurationdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -142,10 +142,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VlanTaggingOperationConfigurationData_UpstreamVlanTaggingOperationMode = "UpstreamVlanTaggingOperationMode"
+const VlanTaggingOperationConfigurationData_UpstreamVlanTagTciValue = "UpstreamVlanTagTciValue"
+const VlanTaggingOperationConfigurationData_DownstreamVlanTaggingOperationMode = "DownstreamVlanTaggingOperationMode"
+const VlanTaggingOperationConfigurationData_AssociationType = "AssociationType"
+const VlanTaggingOperationConfigurationData_AssociatedMePointer = "AssociatedMePointer"
+
 func init() {
 	vlantaggingoperationconfigurationdataBME = &ManagedEntityDefinition{
 		Name:    "VlanTaggingOperationConfigurationData",
-		ClassID: 78,
+		ClassID: VlanTaggingOperationConfigurationDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -154,12 +162,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("UpstreamVlanTaggingOperationMode", EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("UpstreamVlanTagTciValue", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("DownstreamVlanTaggingOperationMode", EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: ByteField("AssociationType", EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5: Uint16Field("AssociatedMePointer", PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(VlanTaggingOperationConfigurationData_UpstreamVlanTaggingOperationMode, EnumerationAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(VlanTaggingOperationConfigurationData_UpstreamVlanTagTciValue, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(VlanTaggingOperationConfigurationData_DownstreamVlanTaggingOperationMode, EnumerationAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField(VlanTaggingOperationConfigurationData_AssociationType, EnumerationAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5: Uint16Field(VlanTaggingOperationConfigurationData_AssociatedMePointer, PointerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go
index d9827ed..db021d7 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiceserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -242,10 +242,27 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoiceServiceProfile_AnnouncementType = "AnnouncementType"
+const VoiceServiceProfile_JitterTarget = "JitterTarget"
+const VoiceServiceProfile_JitterBufferMax = "JitterBufferMax"
+const VoiceServiceProfile_EchoCancelInd = "EchoCancelInd"
+const VoiceServiceProfile_PstnProtocolVariant = "PstnProtocolVariant"
+const VoiceServiceProfile_DtmfDigitLevels = "DtmfDigitLevels"
+const VoiceServiceProfile_DtmfDigitDuration = "DtmfDigitDuration"
+const VoiceServiceProfile_HookFlashMinimumTime = "HookFlashMinimumTime"
+const VoiceServiceProfile_HookFlashMaximumTime = "HookFlashMaximumTime"
+const VoiceServiceProfile_TonePatternTable = "TonePatternTable"
+const VoiceServiceProfile_ToneEventTable = "ToneEventTable"
+const VoiceServiceProfile_RingingPatternTable = "RingingPatternTable"
+const VoiceServiceProfile_RingingEventTable = "RingingEventTable"
+const VoiceServiceProfile_NetworkSpecificExtensionsPointer = "NetworkSpecificExtensionsPointer"
+
 func init() {
 	voiceserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "VoiceServiceProfile",
-		ClassID: 58,
+		ClassID: VoiceServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -256,21 +273,21 @@
 		),
 		AllowedAttributeMask: 0xfffc,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("AnnouncementType", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("JitterTarget", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  Uint16Field("JitterBufferMax", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("EchoCancelInd", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint16Field("PstnProtocolVariant", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("DtmfDigitLevels", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  Uint16Field("DtmfDigitDuration", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  Uint16Field("HookFlashMinimumTime", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
-			9:  Uint16Field("HookFlashMaximumTime", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
-			10: TableField("TonePatternTable", TableAttributeType, 0x0040, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: TableField("ToneEventTable", TableAttributeType, 0x0020, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: TableField("RingingPatternTable", TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: TableField("RingingEventTable", TableAttributeType, 0x0008, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: Uint16Field("NetworkSpecificExtensionsPointer", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(VoiceServiceProfile_AnnouncementType, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(VoiceServiceProfile_JitterTarget, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  Uint16Field(VoiceServiceProfile_JitterBufferMax, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(VoiceServiceProfile_EchoCancelInd, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint16Field(VoiceServiceProfile_PstnProtocolVariant, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(VoiceServiceProfile_DtmfDigitLevels, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  Uint16Field(VoiceServiceProfile_DtmfDigitDuration, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint16Field(VoiceServiceProfile_HookFlashMinimumTime, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 8),
+			9:  Uint16Field(VoiceServiceProfile_HookFlashMaximumTime, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 9),
+			10: TableField(VoiceServiceProfile_TonePatternTable, TableAttributeType, 0x0040, TableInfo{nil, 20}, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: TableField(VoiceServiceProfile_ToneEventTable, TableAttributeType, 0x0020, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: TableField(VoiceServiceProfile_RingingPatternTable, TableAttributeType, 0x0010, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: TableField(VoiceServiceProfile_RingingEventTable, TableAttributeType, 0x0008, TableInfo{nil, 7}, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint16Field(VoiceServiceProfile_NetworkSpecificExtensionsPointer, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 14),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go
index 2eb1fec..213eb5e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipapplicationserviceprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -169,10 +169,23 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipApplicationServiceProfile_CidFeatures = "CidFeatures"
+const VoipApplicationServiceProfile_CallWaitingFeatures = "CallWaitingFeatures"
+const VoipApplicationServiceProfile_CallProgressOrTransferFeatures = "CallProgressOrTransferFeatures"
+const VoipApplicationServiceProfile_CallPresentationFeatures = "CallPresentationFeatures"
+const VoipApplicationServiceProfile_DirectConnectFeature = "DirectConnectFeature"
+const VoipApplicationServiceProfile_DirectConnectUriPointer = "DirectConnectUriPointer"
+const VoipApplicationServiceProfile_BridgedLineAgentUriPointer = "BridgedLineAgentUriPointer"
+const VoipApplicationServiceProfile_ConferenceFactoryUriPointer = "ConferenceFactoryUriPointer"
+const VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew = "DialToneFeatureDelayWarmlineTimerNew"
+const VoipApplicationServiceProfile_IpHostPointer = "IpHostPointer"
+
 func init() {
 	voipapplicationserviceprofileBME = &ManagedEntityDefinition{
 		Name:    "VoipApplicationServiceProfile",
-		ClassID: 146,
+		ClassID: VoipApplicationServiceProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -181,17 +194,17 @@
 		),
 		AllowedAttributeMask: 0xffc0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("CidFeatures", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("CallWaitingFeatures", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("CallProgressOrTransferFeatures", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  Uint16Field("CallPresentationFeatures", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("DirectConnectFeature", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint16Field("DirectConnectUriPointer", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint16Field("BridgedLineAgentUriPointer", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  Uint16Field("ConferenceFactoryUriPointer", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  Uint16Field("DialToneFeatureDelayWarmlineTimerNew", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: Uint16Field("IpHostPointer", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(VoipApplicationServiceProfile_CidFeatures, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(VoipApplicationServiceProfile_CallWaitingFeatures, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(VoipApplicationServiceProfile_CallProgressOrTransferFeatures, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  Uint16Field(VoipApplicationServiceProfile_CallPresentationFeatures, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(VoipApplicationServiceProfile_DirectConnectFeature, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint16Field(VoipApplicationServiceProfile_DirectConnectUriPointer, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint16Field(VoipApplicationServiceProfile_BridgedLineAgentUriPointer, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  Uint16Field(VoipApplicationServiceProfile_ConferenceFactoryUriPointer, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  Uint16Field(VoipApplicationServiceProfile_DialToneFeatureDelayWarmlineTimerNew, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: Uint16Field(VoipApplicationServiceProfile_IpHostPointer, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go
index 0e8f60e..c65416e 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipconfigdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -151,25 +151,36 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipConfigData_AvailableSignallingProtocols = "AvailableSignallingProtocols"
+const VoipConfigData_SignallingProtocolUsed = "SignallingProtocolUsed"
+const VoipConfigData_AvailableVoipConfigurationMethods = "AvailableVoipConfigurationMethods"
+const VoipConfigData_VoipConfigurationMethodUsed = "VoipConfigurationMethodUsed"
+const VoipConfigData_VoipConfigurationAddressPointer = "VoipConfigurationAddressPointer"
+const VoipConfigData_VoipConfigurationState = "VoipConfigurationState"
+const VoipConfigData_RetrieveProfile = "RetrieveProfile"
+const VoipConfigData_ProfileVersion = "ProfileVersion"
+
 func init() {
 	voipconfigdataBME = &ManagedEntityDefinition{
 		Name:    "VoipConfigData",
-		ClassID: 138,
+		ClassID: VoipConfigDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 			Set,
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("AvailableSignallingProtocols", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("SignallingProtocolUsed", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: Uint32Field("AvailableVoipConfigurationMethods", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: ByteField("VoipConfigurationMethodUsed", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: Uint16Field("VoipConfigurationAddressPointer", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6: ByteField("VoipConfigurationState", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: ByteField("RetrieveProfile", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
-			8: MultiByteField("ProfileVersion", OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(VoipConfigData_AvailableSignallingProtocols, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(VoipConfigData_SignallingProtocolUsed, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: Uint32Field(VoipConfigData_AvailableVoipConfigurationMethods, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: ByteField(VoipConfigData_VoipConfigurationMethodUsed, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: Uint16Field(VoipConfigData_VoipConfigurationAddressPointer, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6: ByteField(VoipConfigData_VoipConfigurationState, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: ByteField(VoipConfigData_RetrieveProfile, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Write), false, false, false, 7),
+			8: MultiByteField(VoipConfigData_ProfileVersion, OctetsAttributeType, 0x0100, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), true, false, false, 8),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go
index 1b8f0ac..b0cce32 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipfeatureaccesscodes.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipFeatureAccessCodes_CancelCallWaiting = "CancelCallWaiting"
+const VoipFeatureAccessCodes_CallHold = "CallHold"
+const VoipFeatureAccessCodes_CallPark = "CallPark"
+const VoipFeatureAccessCodes_CallerIdActivate = "CallerIdActivate"
+const VoipFeatureAccessCodes_CallerIdDeactivate = "CallerIdDeactivate"
+const VoipFeatureAccessCodes_DoNotDisturbActivation = "DoNotDisturbActivation"
+const VoipFeatureAccessCodes_DoNotDisturbDeactivation = "DoNotDisturbDeactivation"
+const VoipFeatureAccessCodes_DoNotDisturbPinChange = "DoNotDisturbPinChange"
+const VoipFeatureAccessCodes_EmergencyServiceNumber = "EmergencyServiceNumber"
+const VoipFeatureAccessCodes_IntercomService = "IntercomService"
+const VoipFeatureAccessCodes_UnattendedBlindCallTransfer = "UnattendedBlindCallTransfer"
+const VoipFeatureAccessCodes_AttendedCallTransfer = "AttendedCallTransfer"
+
 func init() {
 	voipfeatureaccesscodesBME = &ManagedEntityDefinition{
 		Name:    "VoipFeatureAccessCodes",
-		ClassID: 147,
+		ClassID: VoipFeatureAccessCodesClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -103,19 +118,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("CancelCallWaiting", OctetsAttributeType, 0x8000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2:  MultiByteField("CallHold", OctetsAttributeType, 0x4000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3:  MultiByteField("CallPark", OctetsAttributeType, 0x2000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4:  MultiByteField("CallerIdActivate", OctetsAttributeType, 0x1000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5:  MultiByteField("CallerIdDeactivate", OctetsAttributeType, 0x0800, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 5),
-			6:  MultiByteField("DoNotDisturbActivation", OctetsAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 6),
-			7:  MultiByteField("DoNotDisturbDeactivation", OctetsAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 7),
-			8:  MultiByteField("DoNotDisturbPinChange", OctetsAttributeType, 0x0100, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 8),
-			9:  MultiByteField("EmergencyServiceNumber", OctetsAttributeType, 0x0080, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: MultiByteField("IntercomService", OctetsAttributeType, 0x0040, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: MultiByteField("UnattendedBlindCallTransfer", OctetsAttributeType, 0x0020, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: MultiByteField("AttendedCallTransfer", OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(VoipFeatureAccessCodes_CancelCallWaiting, OctetsAttributeType, 0x8000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2:  MultiByteField(VoipFeatureAccessCodes_CallHold, OctetsAttributeType, 0x4000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3:  MultiByteField(VoipFeatureAccessCodes_CallPark, OctetsAttributeType, 0x2000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4:  MultiByteField(VoipFeatureAccessCodes_CallerIdActivate, OctetsAttributeType, 0x1000, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5:  MultiByteField(VoipFeatureAccessCodes_CallerIdDeactivate, OctetsAttributeType, 0x0800, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 5),
+			6:  MultiByteField(VoipFeatureAccessCodes_DoNotDisturbActivation, OctetsAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 6),
+			7:  MultiByteField(VoipFeatureAccessCodes_DoNotDisturbDeactivation, OctetsAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 7),
+			8:  MultiByteField(VoipFeatureAccessCodes_DoNotDisturbPinChange, OctetsAttributeType, 0x0100, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 8),
+			9:  MultiByteField(VoipFeatureAccessCodes_EmergencyServiceNumber, OctetsAttributeType, 0x0080, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: MultiByteField(VoipFeatureAccessCodes_IntercomService, OctetsAttributeType, 0x0040, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: MultiByteField(VoipFeatureAccessCodes_UnattendedBlindCallTransfer, OctetsAttributeType, 0x0020, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: MultiByteField(VoipFeatureAccessCodes_AttendedCallTransfer, OctetsAttributeType, 0x0010, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read, Write), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go
index 623b83e..4f1320c 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voiplinestatus.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -207,25 +207,37 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipLineStatus_VoipCodecUsed = "VoipCodecUsed"
+const VoipLineStatus_VoipVoiceServerStatus = "VoipVoiceServerStatus"
+const VoipLineStatus_VoipPortSessionType = "VoipPortSessionType"
+const VoipLineStatus_VoipCall1PacketPeriod = "VoipCall1PacketPeriod"
+const VoipLineStatus_VoipCall2PacketPeriod = "VoipCall2PacketPeriod"
+const VoipLineStatus_VoipCall1DestAddr = "VoipCall1DestAddr"
+const VoipLineStatus_VoipCall2DestAddr = "VoipCall2DestAddr"
+const VoipLineStatus_VoipLineState = "VoipLineState"
+const VoipLineStatus_EmergencyCallStatus = "EmergencyCallStatus"
+
 func init() {
 	voiplinestatusBME = &ManagedEntityDefinition{
 		Name:    "VoipLineStatus",
-		ClassID: 141,
+		ClassID: VoipLineStatusClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xff80,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: Uint16Field("VoipCodecUsed", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("VoipVoiceServerStatus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: ByteField("VoipPortSessionType", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint16Field("VoipCall1PacketPeriod", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("VoipCall2PacketPeriod", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: MultiByteField("VoipCall1DestAddr", OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
-			7: MultiByteField("VoipCall2DestAddr", OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
-			8: ByteField("VoipLineState", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9: ByteField("EmergencyCallStatus", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: Uint16Field(VoipLineStatus_VoipCodecUsed, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(VoipLineStatus_VoipVoiceServerStatus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: ByteField(VoipLineStatus_VoipPortSessionType, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field(VoipLineStatus_VoipCall1PacketPeriod, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(VoipLineStatus_VoipCall2PacketPeriod, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: MultiByteField(VoipLineStatus_VoipCall1DestAddr, OctetsAttributeType, 0x0400, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7: MultiByteField(VoipLineStatus_VoipCall2DestAddr, OctetsAttributeType, 0x0200, 25, toOctets("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
+			8: ByteField(VoipLineStatus_VoipLineState, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9: ByteField(VoipLineStatus_EmergencyCallStatus, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), true, true, false, 9),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go
index e450946..77728a6 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipmediaprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -119,10 +119,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipMediaProfile_FaxMode = "FaxMode"
+const VoipMediaProfile_VoiceServiceProfilePointer = "VoiceServiceProfilePointer"
+const VoipMediaProfile_CodecSelection1StOrder = "CodecSelection1StOrder"
+const VoipMediaProfile_PacketPeriodSelection1StOrder = "PacketPeriodSelection1StOrder"
+const VoipMediaProfile_SilenceSuppression1StOrder = "SilenceSuppression1StOrder"
+const VoipMediaProfile_CodecSelection2NdOrder = "CodecSelection2NdOrder"
+const VoipMediaProfile_PacketPeriodSelection2NdOrder = "PacketPeriodSelection2NdOrder"
+const VoipMediaProfile_SilenceSuppression2NdOrder = "SilenceSuppression2NdOrder"
+const VoipMediaProfile_CodecSelection3RdOrder = "CodecSelection3RdOrder"
+const VoipMediaProfile_PacketPeriodSelection3RdOrder = "PacketPeriodSelection3RdOrder"
+const VoipMediaProfile_SilenceSuppression3RdOrder = "SilenceSuppression3RdOrder"
+const VoipMediaProfile_CodecSelection4ThOrder = "CodecSelection4ThOrder"
+const VoipMediaProfile_PacketPeriodSelection4ThOrder = "PacketPeriodSelection4ThOrder"
+const VoipMediaProfile_SilenceSuppression4ThOrder = "SilenceSuppression4ThOrder"
+const VoipMediaProfile_OobDtmf = "OobDtmf"
+const VoipMediaProfile_RtpProfilePointer = "RtpProfilePointer"
+
 func init() {
 	voipmediaprofileBME = &ManagedEntityDefinition{
 		Name:    "VoipMediaProfile",
-		ClassID: 142,
+		ClassID: VoipMediaProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -131,23 +150,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("FaxMode", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint16Field("VoiceServiceProfilePointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("CodecSelection1StOrder", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("PacketPeriodSelection1StOrder", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("SilenceSuppression1StOrder", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  ByteField("CodecSelection2NdOrder", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  ByteField("PacketPeriodSelection2NdOrder", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
-			8:  ByteField("SilenceSuppression2NdOrder", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("CodecSelection3RdOrder", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: ByteField("PacketPeriodSelection3RdOrder", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("SilenceSuppression3RdOrder", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: ByteField("CodecSelection4ThOrder", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("PacketPeriodSelection4ThOrder", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
-			14: ByteField("SilenceSuppression4ThOrder", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
-			15: ByteField("OobDtmf", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 15),
-			16: Uint16Field("RtpProfilePointer", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(VoipMediaProfile_FaxMode, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint16Field(VoipMediaProfile_VoiceServiceProfilePointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(VoipMediaProfile_CodecSelection1StOrder, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(VoipMediaProfile_PacketPeriodSelection1StOrder, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(VoipMediaProfile_SilenceSuppression1StOrder, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  ByteField(VoipMediaProfile_CodecSelection2NdOrder, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  ByteField(VoipMediaProfile_PacketPeriodSelection2NdOrder, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 7),
+			8:  ByteField(VoipMediaProfile_SilenceSuppression2NdOrder, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(VoipMediaProfile_CodecSelection3RdOrder, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField(VoipMediaProfile_PacketPeriodSelection3RdOrder, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(VoipMediaProfile_SilenceSuppression3RdOrder, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField(VoipMediaProfile_CodecSelection4ThOrder, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(VoipMediaProfile_PacketPeriodSelection4ThOrder, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
+			14: ByteField(VoipMediaProfile_SilenceSuppression4ThOrder, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
+			15: ByteField(VoipMediaProfile_OobDtmf, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 15),
+			16: Uint16Field(VoipMediaProfile_RtpProfilePointer, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go
index 3dbb0c9..6809659 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/voipvoicectp.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -85,10 +85,17 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VoipVoiceCtp_UserProtocolPointer = "UserProtocolPointer"
+const VoipVoiceCtp_PptpPointer = "PptpPointer"
+const VoipVoiceCtp_VOIpMediaProfilePointer = "VOIpMediaProfilePointer"
+const VoipVoiceCtp_SignallingCode = "SignallingCode"
+
 func init() {
 	voipvoicectpBME = &ManagedEntityDefinition{
 		Name:    "VoipVoiceCtp",
-		ClassID: 139,
+		ClassID: VoipVoiceCtpClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -97,11 +104,11 @@
 		),
 		AllowedAttributeMask: 0xf000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("UserProtocolPointer", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("PptpPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("VOIpMediaProfilePointer", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: ByteField("SignallingCode", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(VoipVoiceCtp_UserProtocolPointer, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(VoipVoiceCtp_PptpPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(VoipVoiceCtp_VOIpMediaProfilePointer, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: ByteField(VoipVoiceCtp_SignallingCode, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go
index 37964fb..fbf3540 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpnetworkctp.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -78,10 +78,20 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VpNetworkCtp_VpiValue = "VpiValue"
+const VpNetworkCtp_UniPointer = "UniPointer"
+const VpNetworkCtp_Direction = "Direction"
+const VpNetworkCtp_Deprecated1 = "Deprecated1"
+const VpNetworkCtp_Deprecated2 = "Deprecated2"
+const VpNetworkCtp_Deprecated3 = "Deprecated3"
+const VpNetworkCtp_Deprecated4 = "Deprecated4"
+
 func init() {
 	vpnetworkctpBME = &ManagedEntityDefinition{
 		Name:    "VpNetworkCtp",
-		ClassID: 269,
+		ClassID: VpNetworkCtpClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -90,14 +100,14 @@
 		),
 		AllowedAttributeMask: 0xfe00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint16Field("VpiValue", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: Uint16Field("UniPointer", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: ByteField("Direction", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4: Uint16Field("Deprecated1", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
-			5: Uint16Field("Deprecated2", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 5),
-			6: Uint16Field("Deprecated3", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 6),
-			7: ByteField("Deprecated4", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, true, 7),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint16Field(VpNetworkCtp_VpiValue, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: Uint16Field(VpNetworkCtp_UniPointer, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: ByteField(VpNetworkCtp_Direction, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4: Uint16Field(VpNetworkCtp_Deprecated1, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 4),
+			5: Uint16Field(VpNetworkCtp_Deprecated2, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, true, 5),
+			6: Uint16Field(VpNetworkCtp_Deprecated3, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, true, 6),
+			7: ByteField(VpNetworkCtp_Deprecated4, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, true, 7),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go
index aaf21f0..4f09012 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/vpperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -58,7 +58,7 @@
 //			It records only loss of information, independent of the priority of the cell. (R) (mandatory)
 //			(2-bytes)
 //
-//		Lost C_= 0 Cells
+//		Lost C0 Cells
 //			Lost C-= 0 cells: This attribute counts loss of high priority cells. It cannot distinguish
 //			between cells lost because of header bit errors, ATM-level header errors, cell policing, or
 //			buffer overflows. It records only loss of high priority cells. (R) (mandatory) (2-bytes)
@@ -66,11 +66,11 @@
 //		Misinserted Cells
 //			This attribute counts cells that are misrouted to a monitored VP. (R) (mandatory) (2-bytes)
 //
-//		Transmitted C_= 0 _ 1 Cells
+//		Transmitted C0 _ 1 Cells
 //			Transmitted C-= 0-+ 1 cells: This attribute counts cells originated by the transmitting end
 //			point (i.e., backward reporting is assumed). (R) (mandatory) (5-bytes)
 //
-//		Transmitted C_= 0 Cells
+//		Transmitted C0 Cells
 //			Transmitted C-= 0 cells: This attribute counts high priority cells originated by the
 //			transmitting end point (i.e., backward reporting is assumed). (R) (mandatory) (5-bytes)
 //
@@ -85,10 +85,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const VpPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const VpPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const VpPerformanceMonitoringHistoryData_LostC01Cells = "LostC01Cells"
+const VpPerformanceMonitoringHistoryData_LostC0Cells = "LostC0Cells"
+const VpPerformanceMonitoringHistoryData_MisinsertedCells = "MisinsertedCells"
+const VpPerformanceMonitoringHistoryData_TransmittedC01Cells = "TransmittedC01Cells"
+const VpPerformanceMonitoringHistoryData_TransmittedC0Cells = "TransmittedC0Cells"
+const VpPerformanceMonitoringHistoryData_ImpairedBlock = "ImpairedBlock"
+
 func init() {
 	vpperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "VpPerformanceMonitoringHistoryData",
-		ClassID: 62,
+		ClassID: VpPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,15 +109,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("LostC01Cells", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint16Field("LostC=0Cells", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint16Field("MisinsertedCells", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: MultiByteField("TransmittedC=01Cells", CounterAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 6),
-			7: MultiByteField("TransmittedC=0Cells", CounterAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint16Field("ImpairedBlock", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(VpPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(VpPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(VpPerformanceMonitoringHistoryData_LostC01Cells, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint16Field(VpPerformanceMonitoringHistoryData_LostC0Cells, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint16Field(VpPerformanceMonitoringHistoryData_MisinsertedCells, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: MultiByteField(VpPerformanceMonitoringHistoryData_TransmittedC01Cells, CounterAttributeType, 0x0400, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 6),
+			7: MultiByteField(VpPerformanceMonitoringHistoryData_TransmittedC0Cells, CounterAttributeType, 0x0200, 5, toOctets("AAAAAAA="), mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field(VpPerformanceMonitoringHistoryData_ImpairedBlock, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go
index a11f3da..07dd47f 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -170,10 +170,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelConfigurationProfile_MinimumDataRate = "MinimumDataRate"
+const XdslChannelConfigurationProfile_MaximumDataRate = "MaximumDataRate"
+const XdslChannelConfigurationProfile_RateAdaptationRatio = "RateAdaptationRatio"
+const XdslChannelConfigurationProfile_MaximumInterleavingDelay = "MaximumInterleavingDelay"
+const XdslChannelConfigurationProfile_DataRateThresholdUpshift = "DataRateThresholdUpshift"
+const XdslChannelConfigurationProfile_DataRateThresholdDownshift = "DataRateThresholdDownshift"
+const XdslChannelConfigurationProfile_MinimumReservedDataRate = "MinimumReservedDataRate"
+const XdslChannelConfigurationProfile_MinimumDataRateInLowPowerState = "MinimumDataRateInLowPowerState"
+const XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection = "MinimumImpulseNoiseProtection"
+const XdslChannelConfigurationProfile_MaximumBitErrorRatio = "MaximumBitErrorRatio"
+const XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection8Khz = "MinimumImpulseNoiseProtection8Khz"
+const XdslChannelConfigurationProfile_MaximumDelayVariation = "MaximumDelayVariation"
+const XdslChannelConfigurationProfile_ChannelInitializationPolicySelection = "ChannelInitializationPolicySelection"
+const XdslChannelConfigurationProfile_MinimumSosBitRateDownstream = "MinimumSosBitRateDownstream"
+const XdslChannelConfigurationProfile_MinimumSosBitRateUpstream = "MinimumSosBitRateUpstream"
+
 func init() {
 	xdslchannelconfigurationprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslChannelConfigurationProfile",
-		ClassID: 107,
+		ClassID: XdslChannelConfigurationProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -182,22 +200,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint32Field("MinimumDataRate", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  Uint32Field("MaximumDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("RateAdaptationRatio", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  ByteField("MaximumInterleavingDelay", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  Uint32Field("DataRateThresholdUpshift", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
-			6:  Uint32Field("DataRateThresholdDownshift", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
-			7:  Uint32Field("MinimumReservedDataRate", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  Uint32Field("MinimumDataRateInLowPowerState", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("MinimumImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: ByteField("MaximumBitErrorRatio", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: ByteField("MinimumImpulseNoiseProtection8Khz", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: ByteField("MaximumDelayVariation", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
-			13: ByteField("ChannelInitializationPolicySelection", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: Uint32Field("MinimumSosBitRateDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: Uint32Field("MinimumSosBitRateUpstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field(XdslChannelConfigurationProfile_MinimumDataRate, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  Uint32Field(XdslChannelConfigurationProfile_MaximumDataRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(XdslChannelConfigurationProfile_RateAdaptationRatio, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  ByteField(XdslChannelConfigurationProfile_MaximumInterleavingDelay, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  Uint32Field(XdslChannelConfigurationProfile_DataRateThresholdUpshift, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 5),
+			6:  Uint32Field(XdslChannelConfigurationProfile_DataRateThresholdDownshift, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 6),
+			7:  Uint32Field(XdslChannelConfigurationProfile_MinimumReservedDataRate, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  Uint32Field(XdslChannelConfigurationProfile_MinimumDataRateInLowPowerState, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: ByteField(XdslChannelConfigurationProfile_MaximumBitErrorRatio, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: ByteField(XdslChannelConfigurationProfile_MinimumImpulseNoiseProtection8Khz, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: ByteField(XdslChannelConfigurationProfile_MaximumDelayVariation, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: ByteField(XdslChannelConfigurationProfile_ChannelInitializationPolicySelection, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: Uint32Field(XdslChannelConfigurationProfile_MinimumSosBitRateDownstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: Uint32Field(XdslChannelConfigurationProfile_MinimumSosBitRateUpstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go
index 851b056..2f78a1a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelconfigurationprofilepart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -136,10 +136,26 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelConfigurationProfilePart2_MinimumExpectedThroughputForRetransmissionMinetrRtx = "MinimumExpectedThroughputForRetransmissionMinetrRtx"
+const XdslChannelConfigurationProfilePart2_MaximumExpectedThroughputForRetransmissionMaxetrRtx = "MaximumExpectedThroughputForRetransmissionMaxetrRtx"
+const XdslChannelConfigurationProfilePart2_MaximumNetDataRateForRetransmissionMaxndrRtx = "MaximumNetDataRateForRetransmissionMaxndrRtx"
+const XdslChannelConfigurationProfilePart2_MaximumDelayForRetransmissionDelaymaxRtx = "MaximumDelayForRetransmissionDelaymaxRtx"
+const XdslChannelConfigurationProfilePart2_MinimumDelayForRetransmissionDelayminRtx = "MinimumDelayForRetransmissionDelayminRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx = "MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx = "MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx"
+const XdslChannelConfigurationProfilePart2_ShineratioRtx = "ShineratioRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx = "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx"
+const XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx = "MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx"
+const XdslChannelConfigurationProfilePart2_ReinInterArrivalTimeForRetransmissionIatReinRtx = "ReinInterArrivalTimeForRetransmissionIatReinRtx"
+const XdslChannelConfigurationProfilePart2_TargetNetDataRateTargetNdr = "TargetNetDataRateTargetNdr"
+const XdslChannelConfigurationProfilePart2_TargetExpectedThroughputForRetransmissionTargetEtr = "TargetExpectedThroughputForRetransmissionTargetEtr"
+
 func init() {
 	xdslchannelconfigurationprofilepart2BME = &ManagedEntityDefinition{
 		Name:    "XdslChannelConfigurationProfilePart2",
-		ClassID: 412,
+		ClassID: XdslChannelConfigurationProfilePart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -148,20 +164,20 @@
 		),
 		AllowedAttributeMask: 0xfff8,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint32Field("MinimumExpectedThroughputForRetransmissionMinetrRtx", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2:  Uint32Field("MaximumExpectedThroughputForRetransmissionMaxetrRtx", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3:  Uint32Field("MaximumNetDataRateForRetransmissionMaxndrRtx", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4:  ByteField("MaximumDelayForRetransmissionDelaymaxRtx", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5:  ByteField("MinimumDelayForRetransmissionDelayminRtx", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
-			8:  ByteField("ShineratioRtx", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
-			9:  ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
-			10: ByteField("MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
-			11: ByteField("ReinInterArrivalTimeForRetransmissionIatReinRtx", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
-			12: Uint32Field("TargetNetDataRateTargetNdr", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
-			13: Uint32Field("TargetExpectedThroughputForRetransmissionTargetEtr", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint32Field(XdslChannelConfigurationProfilePart2_MinimumExpectedThroughputForRetransmissionMinetrRtx, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2:  Uint32Field(XdslChannelConfigurationProfilePart2_MaximumExpectedThroughputForRetransmissionMaxetrRtx, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3:  Uint32Field(XdslChannelConfigurationProfilePart2_MaximumNetDataRateForRetransmissionMaxndrRtx, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4:  ByteField(XdslChannelConfigurationProfilePart2_MaximumDelayForRetransmissionDelaymaxRtx, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5:  ByteField(XdslChannelConfigurationProfilePart2_MinimumDelayForRetransmissionDelayminRtx, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstSingleHighImpulseNoiseEventShineForRetransmissionInpminShineRtx, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstShineForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ShineRtx, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), false, false, false, 7),
+			8:  ByteField(XdslChannelConfigurationProfilePart2_ShineratioRtx, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), false, false, false, 8),
+			9:  ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionInpminReinRtx, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, false, false, 9),
+			10: ByteField(XdslChannelConfigurationProfilePart2_MinimumImpulseNoiseProtectionAgainstReinForRetransmissionForSystemsUsing8625KhzSubcarrierSpacingInpmin8ReinRtx, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, false, false, 10),
+			11: ByteField(XdslChannelConfigurationProfilePart2_ReinInterArrivalTimeForRetransmissionIatReinRtx, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, false, false, 11),
+			12: Uint32Field(XdslChannelConfigurationProfilePart2_TargetNetDataRateTargetNdr, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, false, false, 12),
+			13: Uint32Field(XdslChannelConfigurationProfilePart2_TargetExpectedThroughputForRetransmissionTargetEtr, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, false, false, 13),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go
index 172ab1a..87f8707 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchanneldownstreamstatusdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -123,27 +123,41 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelDownstreamStatusData_ActualInterleavingDelay = "ActualInterleavingDelay"
+const XdslChannelDownstreamStatusData_ActualDataRate = "ActualDataRate"
+const XdslChannelDownstreamStatusData_PreviousDataRate = "PreviousDataRate"
+const XdslChannelDownstreamStatusData_ActualImpulseNoiseProtection = "ActualImpulseNoiseProtection"
+const XdslChannelDownstreamStatusData_ActualSizeOfReedSolomonCodeword = "ActualSizeOfReedSolomonCodeword"
+const XdslChannelDownstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes = "ActualNumberOfReedSolomonRedundancyBytes"
+const XdslChannelDownstreamStatusData_ActualNumberOfBitsPerSymbol = "ActualNumberOfBitsPerSymbol"
+const XdslChannelDownstreamStatusData_ActualInterleavingDepth = "ActualInterleavingDepth"
+const XdslChannelDownstreamStatusData_ActualInterleavingBlockLength = "ActualInterleavingBlockLength"
+const XdslChannelDownstreamStatusData_ActualLatencyPath = "ActualLatencyPath"
+const XdslChannelDownstreamStatusData_ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein = "ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein"
+
 func init() {
 	xdslchanneldownstreamstatusdataBME = &ManagedEntityDefinition{
 		Name:    "XdslChannelDownstreamStatusData",
-		ClassID: 102,
+		ClassID: XdslChannelDownstreamStatusDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ActualInterleavingDelay", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint32Field("ActualDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint32Field("PreviousDataRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("ActualImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("ActualSizeOfReedSolomonCodeword", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("ActualNumberOfBitsPerSymbol", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("ActualInterleavingDepth", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  ByteField("ActualInterleavingBlockLength", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("ActualLatencyPath", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: ByteField("ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(XdslChannelDownstreamStatusData_ActualInterleavingDelay, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint32Field(XdslChannelDownstreamStatusData_ActualDataRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint32Field(XdslChannelDownstreamStatusData_PreviousDataRate, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(XdslChannelDownstreamStatusData_ActualImpulseNoiseProtection, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(XdslChannelDownstreamStatusData_ActualSizeOfReedSolomonCodeword, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(XdslChannelDownstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslChannelDownstreamStatusData_ActualNumberOfBitsPerSymbol, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslChannelDownstreamStatusData_ActualInterleavingDepth, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  ByteField(XdslChannelDownstreamStatusData_ActualInterleavingBlockLength, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(XdslChannelDownstreamStatusData_ActualLatencyPath, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField(XdslChannelDownstreamStatusData_ActualImpulseNoiseProtectionAgainstRepetitiveElectricalImpulseNoiseActinpRein, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go
index 58970a7..9c932fe 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslchannelupstreamstatusdata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -118,27 +118,41 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslChannelUpstreamStatusData_ActualInterleavingDelay = "ActualInterleavingDelay"
+const XdslChannelUpstreamStatusData_ActualDataRate = "ActualDataRate"
+const XdslChannelUpstreamStatusData_PreviousDataRate = "PreviousDataRate"
+const XdslChannelUpstreamStatusData_ActualImpulseNoiseProtection = "ActualImpulseNoiseProtection"
+const XdslChannelUpstreamStatusData_ImpulseNoiseProtectionReportingMode = "ImpulseNoiseProtectionReportingMode"
+const XdslChannelUpstreamStatusData_ActualSizeOfReedSolomonCodeword = "ActualSizeOfReedSolomonCodeword"
+const XdslChannelUpstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes = "ActualNumberOfReedSolomonRedundancyBytes"
+const XdslChannelUpstreamStatusData_ActualNumberOfBitsPerSymbol = "ActualNumberOfBitsPerSymbol"
+const XdslChannelUpstreamStatusData_ActualInterleavingDepth = "ActualInterleavingDepth"
+const XdslChannelUpstreamStatusData_ActualInterleavingBlockLength = "ActualInterleavingBlockLength"
+const XdslChannelUpstreamStatusData_ActualLatencyPath = "ActualLatencyPath"
+
 func init() {
 	xdslchannelupstreamstatusdataBME = &ManagedEntityDefinition{
 		Name:    "XdslChannelUpstreamStatusData",
-		ClassID: 103,
+		ClassID: XdslChannelUpstreamStatusDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffe0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  ByteField("ActualInterleavingDelay", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint32Field("ActualDataRate", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint32Field("PreviousDataRate", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  ByteField("ActualImpulseNoiseProtection", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  ByteField("ImpulseNoiseProtectionReportingMode", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  ByteField("ActualSizeOfReedSolomonCodeword", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  ByteField("ActualNumberOfReedSolomonRedundancyBytes", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("ActualNumberOfBitsPerSymbol", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("ActualInterleavingDepth", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: ByteField("ActualInterleavingBlockLength", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: ByteField("ActualLatencyPath", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  ByteField(XdslChannelUpstreamStatusData_ActualInterleavingDelay, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint32Field(XdslChannelUpstreamStatusData_ActualDataRate, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint32Field(XdslChannelUpstreamStatusData_PreviousDataRate, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  ByteField(XdslChannelUpstreamStatusData_ActualImpulseNoiseProtection, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  ByteField(XdslChannelUpstreamStatusData_ImpulseNoiseProtectionReportingMode, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  ByteField(XdslChannelUpstreamStatusData_ActualSizeOfReedSolomonCodeword, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  ByteField(XdslChannelUpstreamStatusData_ActualNumberOfReedSolomonRedundancyBytes, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslChannelUpstreamStatusData_ActualNumberOfBitsPerSymbol, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslChannelUpstreamStatusData_ActualInterleavingDepth, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: ByteField(XdslChannelUpstreamStatusData_ActualInterleavingBlockLength, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: ByteField(XdslChannelUpstreamStatusData_ActualLatencyPath, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go
index bd31bb0..55aee0d 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsldownstreamrfibandsprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -97,10 +97,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslDownstreamRfiBandsProfile_DownstreamRfiBandsTable = "DownstreamRfiBandsTable"
+const XdslDownstreamRfiBandsProfile_BandsValid = "BandsValid"
+
 func init() {
 	xdsldownstreamrfibandsprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslDownstreamRfiBandsProfile",
-		ClassID: 111,
+		ClassID: XdslDownstreamRfiBandsProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -111,9 +116,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("DownstreamRfiBandsTable", TableAttributeType, 0x8000, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("BandsValid", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(XdslDownstreamRfiBandsProfile_DownstreamRfiBandsTable, TableAttributeType, 0x8000, TableInfo{nil, 5}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(XdslDownstreamRfiBandsProfile_BandsValid, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
index 75125b3..bbb3980 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslimpulsenoisemonitorperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramTable = "InmInpeqHistogramTable"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurement = "InmTotalMeasurement"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogram = "InmIatHistogram"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramLfeTable = "InmInpeqHistogramLfeTable"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurementLfe = "InmTotalMeasurementLfe"
+const XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogramLfe = "InmIatHistogramLfe"
+
 func init() {
 	xdslimpulsenoisemonitorperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData",
-		ClassID: 324,
+		ClassID: XdslImpulseNoiseMonitorPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -105,15 +116,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: TableField("InmInpeqHistogramTable", TableAttributeType, 0x2000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint16Field("InmTotalMeasurement", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint16Field("InmIatHistogram", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: TableField("InmInpeqHistogramLfeTable", TableAttributeType, 0x0400, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint16Field("InmTotalMeasurementLfe", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint16Field("InmIatHistogramLfe", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: TableField(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramTable, TableAttributeType, 0x2000, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurement, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogram, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: TableField(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmInpeqHistogramLfeTable, TableAttributeType, 0x0400, TableInfo{nil, 2}, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmTotalMeasurementLfe, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint16Field(XdslImpulseNoiseMonitorPerformanceMonitoringHistoryData_InmIatHistogramLfe, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go
index dfdd42c..54c573a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -147,10 +147,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForUpshiftRateAdaptation = "DownstreamMinimumTimeIntervalForUpshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForUpshiftRateAdaptation = "UpstreamMinimumTimeIntervalForUpshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_DownstreamDownshiftNoiseMargin = "DownstreamDownshiftNoiseMargin"
+const XdslLineConfigurationProfilePart2_UpstreamDownshiftNoiseMargin = "UpstreamDownshiftNoiseMargin"
+const XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForDownshiftRateAdaptation = "DownstreamMinimumTimeIntervalForDownshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForDownshiftRateAdaptation = "UpstreamMinimumTimeIntervalForDownshiftRateAdaptation"
+const XdslLineConfigurationProfilePart2_XtuImpedanceStateForced = "XtuImpedanceStateForced"
+const XdslLineConfigurationProfilePart2_L0Time = "L0Time"
+const XdslLineConfigurationProfilePart2_L2Time = "L2Time"
+const XdslLineConfigurationProfilePart2_DownstreamMaximumNominalPowerSpectralDensity = "DownstreamMaximumNominalPowerSpectralDensity"
+const XdslLineConfigurationProfilePart2_UpstreamMaximumNominalPowerSpectralDensity = "UpstreamMaximumNominalPowerSpectralDensity"
+const XdslLineConfigurationProfilePart2_DownstreamMaximumNominalAggregateTransmitPower = "DownstreamMaximumNominalAggregateTransmitPower"
+const XdslLineConfigurationProfilePart2_UpstreamMaximumNominalAggregateTransmitPower = "UpstreamMaximumNominalAggregateTransmitPower"
+const XdslLineConfigurationProfilePart2_UpstreamMaximumAggregateReceivePower = "UpstreamMaximumAggregateReceivePower"
+const XdslLineConfigurationProfilePart2_Vdsl2TransmissionSystemEnabling = "Vdsl2TransmissionSystemEnabling"
+
 func init() {
 	xdsllineconfigurationprofilepart2BME = &ManagedEntityDefinition{
 		Name:    "XdslLineConfigurationProfilePart2",
-		ClassID: 105,
+		ClassID: XdslLineConfigurationProfilePart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -159,22 +177,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  Uint16Field("DownstreamMinimumTimeIntervalForUpshiftRateAdaptation", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
-			2:  Uint16Field("UpstreamMinimumTimeIntervalForUpshiftRateAdaptation", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
-			3:  Uint16Field("DownstreamDownshiftNoiseMargin", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
-			4:  Uint16Field("UpstreamDownshiftNoiseMargin", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
-			5:  Uint16Field("DownstreamMinimumTimeIntervalForDownshiftRateAdaptation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
-			6:  Uint16Field("UpstreamMinimumTimeIntervalForDownshiftRateAdaptation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
-			7:  ByteField("XtuImpedanceStateForced", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
-			8:  ByteField("L0Time", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
-			9:  ByteField("L2Time", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
-			10: Uint16Field("DownstreamMaximumNominalPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
-			11: Uint16Field("UpstreamMaximumNominalPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
-			12: ByteField("DownstreamMaximumNominalAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
-			13: ByteField("UpstreamMaximumNominalAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
-			14: Uint16Field("UpstreamMaximumAggregateReceivePower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
-			15: ByteField("Vdsl2TransmissionSystemEnabling", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  Uint16Field(XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForUpshiftRateAdaptation, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 1),
+			2:  Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForUpshiftRateAdaptation, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 2),
+			3:  Uint16Field(XdslLineConfigurationProfilePart2_DownstreamDownshiftNoiseMargin, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 3),
+			4:  Uint16Field(XdslLineConfigurationProfilePart2_UpstreamDownshiftNoiseMargin, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 4),
+			5:  Uint16Field(XdslLineConfigurationProfilePart2_DownstreamMinimumTimeIntervalForDownshiftRateAdaptation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 5),
+			6:  Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMinimumTimeIntervalForDownshiftRateAdaptation, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 6),
+			7:  ByteField(XdslLineConfigurationProfilePart2_XtuImpedanceStateForced, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 7),
+			8:  ByteField(XdslLineConfigurationProfilePart2_L0Time, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 8),
+			9:  ByteField(XdslLineConfigurationProfilePart2_L2Time, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 9),
+			10: Uint16Field(XdslLineConfigurationProfilePart2_DownstreamMaximumNominalPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 10),
+			11: Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMaximumNominalPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 11),
+			12: ByteField(XdslLineConfigurationProfilePart2_DownstreamMaximumNominalAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 12),
+			13: ByteField(XdslLineConfigurationProfilePart2_UpstreamMaximumNominalAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 13),
+			14: Uint16Field(XdslLineConfigurationProfilePart2_UpstreamMaximumAggregateReceivePower, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 14),
+			15: ByteField(XdslLineConfigurationProfilePart2_Vdsl2TransmissionSystemEnabling, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go
index 48981e9..20a69a9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineconfigurationprofilepart3.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -175,10 +175,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineConfigurationProfilePart3_LoopDiagnosticsModeForcedLdsf = "LoopDiagnosticsModeForcedLdsf"
+const XdslLineConfigurationProfilePart3_AutomodeColdStartForced = "AutomodeColdStartForced"
+const XdslLineConfigurationProfilePart3_L2Atpr = "L2Atpr"
+const XdslLineConfigurationProfilePart3_L2Atprt = "L2Atprt"
+const XdslLineConfigurationProfilePart3_ForceInpDownstream = "ForceInpDownstream"
+const XdslLineConfigurationProfilePart3_ForceInpUpstream = "ForceInpUpstream"
+const XdslLineConfigurationProfilePart3_UpdateRequestFlagForNearEndTestParameters = "UpdateRequestFlagForNearEndTestParameters"
+const XdslLineConfigurationProfilePart3_UpdateRequestFlagForFarEndTestParameters = "UpdateRequestFlagForFarEndTestParameters"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetUpstream = "InmInterArrivalTimeOffsetUpstream"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepUpstream = "InmInterArrivalTimeStepUpstream"
+const XdslLineConfigurationProfilePart3_InmClusterContinuationValueUpstream = "InmClusterContinuationValueUpstream"
+const XdslLineConfigurationProfilePart3_InmEquivalentInpModeUpstream = "InmEquivalentInpModeUpstream"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetDownstream = "InmInterArrivalTimeOffsetDownstream"
+const XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepDownstream = "InmInterArrivalTimeStepDownstream"
+const XdslLineConfigurationProfilePart3_InmClusterContinuationValueDownstream = "InmClusterContinuationValueDownstream"
+const XdslLineConfigurationProfilePart3_InmEquivalentInpModeDownstream = "InmEquivalentInpModeDownstream"
+
 func init() {
 	xdsllineconfigurationprofilepart3BME = &ManagedEntityDefinition{
 		Name:    "XdslLineConfigurationProfilePart3",
-		ClassID: 106,
+		ClassID: XdslLineConfigurationProfilePart3ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -187,23 +206,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("LoopDiagnosticsModeForcedLdsf", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2:  ByteField("AutomodeColdStartForced", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  ByteField("L2Atpr", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
-			4:  ByteField("L2Atprt", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
-			5:  ByteField("ForceInpDownstream", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
-			6:  ByteField("ForceInpUpstream", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
-			7:  ByteField("UpdateRequestFlagForNearEndTestParameters", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), true, true, false, 7),
-			8:  ByteField("UpdateRequestFlagForFarEndTestParameters", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
-			9:  Uint16Field("InmInterArrivalTimeOffsetUpstream", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
-			10: ByteField("InmInterArrivalTimeStepUpstream", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
-			11: ByteField("InmClusterContinuationValueUpstream", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
-			12: ByteField("InmEquivalentInpModeUpstream", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
-			13: Uint16Field("InmInterArrivalTimeOffsetDownstream", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
-			14: ByteField("InmInterArrivalTimeStepDownstream", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
-			15: ByteField("InmClusterContinuationValueDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
-			16: ByteField("InmEquivalentInpModeDownstream", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XdslLineConfigurationProfilePart3_LoopDiagnosticsModeForcedLdsf, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2:  ByteField(XdslLineConfigurationProfilePart3_AutomodeColdStartForced, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  ByteField(XdslLineConfigurationProfilePart3_L2Atpr, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 3),
+			4:  ByteField(XdslLineConfigurationProfilePart3_L2Atprt, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 4),
+			5:  ByteField(XdslLineConfigurationProfilePart3_ForceInpDownstream, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			6:  ByteField(XdslLineConfigurationProfilePart3_ForceInpUpstream, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read, Write), false, false, false, 6),
+			7:  ByteField(XdslLineConfigurationProfilePart3_UpdateRequestFlagForNearEndTestParameters, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read, Write), true, true, false, 7),
+			8:  ByteField(XdslLineConfigurationProfilePart3_UpdateRequestFlagForFarEndTestParameters, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read, Write), true, true, false, 8),
+			9:  Uint16Field(XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetUpstream, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read, Write), false, true, false, 9),
+			10: ByteField(XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepUpstream, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read, Write), false, true, false, 10),
+			11: ByteField(XdslLineConfigurationProfilePart3_InmClusterContinuationValueUpstream, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read, Write), false, true, false, 11),
+			12: ByteField(XdslLineConfigurationProfilePart3_InmEquivalentInpModeUpstream, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read, Write), false, true, false, 12),
+			13: Uint16Field(XdslLineConfigurationProfilePart3_InmInterArrivalTimeOffsetDownstream, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read, Write), false, true, false, 13),
+			14: ByteField(XdslLineConfigurationProfilePart3_InmInterArrivalTimeStepDownstream, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read, Write), false, true, false, 14),
+			15: ByteField(XdslLineConfigurationProfilePart3_InmClusterContinuationValueDownstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read, Write), false, true, false, 15),
+			16: ByteField(XdslLineConfigurationProfilePart3_InmEquivalentInpModeDownstream, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read, Write), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go
index 92dbed6..393ae25 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart1.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -167,31 +167,49 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart1_XtuCG9941VendorId = "XtuCG9941VendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuRG9941VendorId = "XtuRG9941VendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuCSystemVendorId = "XtuCSystemVendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuRSystemVendorId = "XtuRSystemVendorId"
+const XdslLineInventoryAndStatusDataPart1_XtuCVersionNumber = "XtuCVersionNumber"
+const XdslLineInventoryAndStatusDataPart1_XtuRVersionNumber = "XtuRVersionNumber"
+const XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart1 = "XtuCSerialNumberPart1"
+const XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart2 = "XtuCSerialNumberPart2"
+const XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart1 = "XtuRSerialNumberPart1"
+const XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart2 = "XtuRSerialNumberPart2"
+const XdslLineInventoryAndStatusDataPart1_XtuCSelfTestResults = "XtuCSelfTestResults"
+const XdslLineInventoryAndStatusDataPart1_XtuRSelfTestResults = "XtuRSelfTestResults"
+const XdslLineInventoryAndStatusDataPart1_XtuCTransmissionSystemCapability = "XtuCTransmissionSystemCapability"
+const XdslLineInventoryAndStatusDataPart1_XtuRTransmissionSystemCapability = "XtuRTransmissionSystemCapability"
+const XdslLineInventoryAndStatusDataPart1_InitializationSuccessFailureCause = "InitializationSuccessFailureCause"
+
 func init() {
 	xdsllineinventoryandstatusdatapart1BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart1",
-		ClassID: 100,
+		ClassID: XdslLineInventoryAndStatusDataPart1ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint64Field("XtuCG9941VendorId", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint64Field("XtuRG9941VendorId", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint64Field("XtuCSystemVendorId", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint64Field("XtuRSystemVendorId", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  MultiByteField("XtuCVersionNumber", OctetsAttributeType, 0x0800, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 5),
-			6:  MultiByteField("XtuRVersionNumber", OctetsAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
-			7:  MultiByteField("XtuCSerialNumberPart1", OctetsAttributeType, 0x0200, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
-			8:  MultiByteField("XtuCSerialNumberPart2", OctetsAttributeType, 0x0100, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
-			9:  MultiByteField("XtuRSerialNumberPart1", OctetsAttributeType, 0x0080, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 9),
-			10: MultiByteField("XtuRSerialNumberPart2", OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint32Field("XtuCSelfTestResults", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint32Field("XtuRSelfTestResults", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: MultiByteField("XtuCTransmissionSystemCapability", OctetsAttributeType, 0x0008, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 13),
-			14: MultiByteField("XtuRTransmissionSystemCapability", OctetsAttributeType, 0x0004, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 14),
-			15: ByteField("InitializationSuccessFailureCause", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuCG9941VendorId, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuRG9941VendorId, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuCSystemVendorId, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint64Field(XdslLineInventoryAndStatusDataPart1_XtuRSystemVendorId, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCVersionNumber, OctetsAttributeType, 0x0800, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 5),
+			6:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRVersionNumber, OctetsAttributeType, 0x0400, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 6),
+			7:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart1, OctetsAttributeType, 0x0200, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 7),
+			8:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCSerialNumberPart2, OctetsAttributeType, 0x0100, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 8),
+			9:  MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart1, OctetsAttributeType, 0x0080, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 9),
+			10: MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRSerialNumberPart2, OctetsAttributeType, 0x0040, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint32Field(XdslLineInventoryAndStatusDataPart1_XtuCSelfTestResults, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint32Field(XdslLineInventoryAndStatusDataPart1_XtuRSelfTestResults, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuCTransmissionSystemCapability, OctetsAttributeType, 0x0008, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 13),
+			14: MultiByteField(XdslLineInventoryAndStatusDataPart1_XtuRTransmissionSystemCapability, OctetsAttributeType, 0x0004, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField(XdslLineInventoryAndStatusDataPart1_InitializationSuccessFailureCause, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go
index 6385cfd..0172ef9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -217,32 +217,51 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart2_XdslTransmissionSystem = "XdslTransmissionSystem"
+const XdslLineInventoryAndStatusDataPart2_LinePowerManagementState = "LinePowerManagementState"
+const XdslLineInventoryAndStatusDataPart2_DownstreamLineAttenuation = "DownstreamLineAttenuation"
+const XdslLineInventoryAndStatusDataPart2_UpstreamLineAttenuation = "UpstreamLineAttenuation"
+const XdslLineInventoryAndStatusDataPart2_DownstreamSignalAttenuation = "DownstreamSignalAttenuation"
+const XdslLineInventoryAndStatusDataPart2_UpstreamSignalAttenuation = "UpstreamSignalAttenuation"
+const XdslLineInventoryAndStatusDataPart2_DownstreamSnrRatioMargin = "DownstreamSnrRatioMargin"
+const XdslLineInventoryAndStatusDataPart2_UpstreamSnrMargin = "UpstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart2_DownstreamMaximumAttainableDataRate = "DownstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart2_UpstreamMaximumAttainableDataRate = "UpstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart2_DownstreamActualPowerSpectrumDensity = "DownstreamActualPowerSpectrumDensity"
+const XdslLineInventoryAndStatusDataPart2_UpstreamActualPowerSpectrumDensity = "UpstreamActualPowerSpectrumDensity"
+const XdslLineInventoryAndStatusDataPart2_DownstreamActualAggregateTransmitPower = "DownstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart2_UpstreamActualAggregateTransmitPower = "UpstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedDownstream = "InitializationLastStateTransmittedDownstream"
+const XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedUpstream = "InitializationLastStateTransmittedUpstream"
+
 func init() {
 	xdsllineinventoryandstatusdatapart2BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart2",
-		ClassID: 101,
+		ClassID: XdslLineInventoryAndStatusDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  MultiByteField("XdslTransmissionSystem", OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
-			2:  ByteField("LinePowerManagementState", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("DownstreamLineAttenuation", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("UpstreamLineAttenuation", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("DownstreamSignalAttenuation", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("UpstreamSignalAttenuation", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("DownstreamSnrRatioMargin", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("UpstreamSnrMargin", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint32Field("DownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("UpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("DownstreamActualPowerSpectrumDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint16Field("UpstreamActualPowerSpectrumDensity", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint16Field("DownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("UpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: ByteField("InitializationLastStateTransmittedDownstream", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: ByteField("InitializationLastStateTransmittedUpstream", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  MultiByteField(XdslLineInventoryAndStatusDataPart2_XdslTransmissionSystem, OctetsAttributeType, 0x8000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, false, false, 1),
+			2:  ByteField(XdslLineInventoryAndStatusDataPart2_LinePowerManagementState, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamLineAttenuation, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamLineAttenuation, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamSignalAttenuation, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamSignalAttenuation, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamSnrRatioMargin, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamSnrMargin, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint32Field(XdslLineInventoryAndStatusDataPart2_DownstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(XdslLineInventoryAndStatusDataPart2_UpstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamActualPowerSpectrumDensity, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamActualPowerSpectrumDensity, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field(XdslLineInventoryAndStatusDataPart2_DownstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(XdslLineInventoryAndStatusDataPart2_UpstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: ByteField(XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedDownstream, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: ByteField(XdslLineInventoryAndStatusDataPart2_InitializationLastStateTransmittedUpstream, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go
index 4e0cf45..6f3f39a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart5.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -141,32 +141,51 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamSnrMargin = "FextDownstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamSnrMargin = "NextDownstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamSnrMargin = "FextUpstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamSnrMargin = "NextUpstreamSnrMargin"
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamMaximumAttainableDataRate = "FextDownstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamMaximumAttainableDataRate = "NextDownstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamMaximumAttainableDataRate = "FextUpstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamMaximumAttainableDataRate = "NextUpstreamMaximumAttainableDataRate"
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamActualPowerSpectralDensity = "FextDownstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamActualPowerSpectralDensity = "NextDownstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamActualPowerSpectralDensity = "FextUpstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamActualPowerSpectralDensity = "NextUpstreamActualPowerSpectralDensity"
+const XdslLineInventoryAndStatusDataPart5_FextDownstreamActualAggregateTransmitPower = "FextDownstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart5_NextDownstreamActualAggregateTransmitPower = "NextDownstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart5_FextUpstreamActualAggregateTransmitPower = "FextUpstreamActualAggregateTransmitPower"
+const XdslLineInventoryAndStatusDataPart5_NextUpstreamActualAggregateTransmitPower = "NextUpstreamActualAggregateTransmitPower"
+
 func init() {
 	xdsllineinventoryandstatusdatapart5BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart5",
-		ClassID: 325,
+		ClassID: XdslLineInventoryAndStatusDataPart5ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1:  Uint16Field("FextDownstreamSnrMargin", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("NextDownstreamSnrMargin", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3:  Uint16Field("FextUpstreamSnrMargin", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("NextUpstreamSnrMargin", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint32Field("FextDownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint32Field("NextDownstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("FextUpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint32Field("NextUpstreamMaximumAttainableDataRate", UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("FextDownstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("NextDownstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("FextUpstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint16Field("NextUpstreamActualPowerSpectralDensity", UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
-			13: Uint16Field("FextDownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("NextDownstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint16Field("FextUpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
-			16: Uint16Field("NextUpstreamActualAggregateTransmitPower", UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1:  Uint16Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamSnrMargin, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamSnrMargin, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3:  Uint16Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamSnrMargin, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamSnrMargin, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint32Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint32Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint32Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamMaximumAttainableDataRate, UnsignedIntegerAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamActualPowerSpectralDensity, UnsignedIntegerAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, false, false, 12),
+			13: Uint16Field(XdslLineInventoryAndStatusDataPart5_FextDownstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextDownstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint16Field(XdslLineInventoryAndStatusDataPart5_FextUpstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, false, false, 15),
+			16: Uint16Field(XdslLineInventoryAndStatusDataPart5_NextUpstreamActualAggregateTransmitPower, UnsignedIntegerAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, false, false, 16),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go
index ad1a629..892c00b 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdsllineinventoryandstatusdatapart8.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -84,22 +84,31 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslLineInventoryAndStatusDataPart8_RetransmissionUsedDownstreamRtxUsedds = "RetransmissionUsedDownstreamRtxUsedds"
+const XdslLineInventoryAndStatusDataPart8_RetransmissionUsedUpstreamRtxUsedus = "RetransmissionUsedUpstreamRtxUsedus"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfNearEndTestParametersStampTestNe = "DateTimeStampingOfNearEndTestParametersStampTestNe"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfFarEndTestParametersStampTestFe = "DateTimeStampingOfFarEndTestParametersStampTestFe"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs = "DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs"
+const XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs = "DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs"
+
 func init() {
 	xdsllineinventoryandstatusdatapart8BME = &ManagedEntityDefinition{
 		Name:    "XdslLineInventoryAndStatusDataPart8",
-		ClassID: 414,
+		ClassID: XdslLineInventoryAndStatusDataPart8ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Get,
 		),
 		AllowedAttributeMask: 0xfc00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
-			1: ByteField("RetransmissionUsedDownstreamRtxUsedds", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: ByteField("RetransmissionUsedUpstreamRtxUsedus", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
-			3: MultiByteField("DateTimeStampingOfNearEndTestParametersStampTestNe", OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
-			4: MultiByteField("DateTimeStampingOfFarEndTestParametersStampTestFe", OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
-			5: MultiByteField("DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs", OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
-			6: MultiByteField("DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs", OctetsAttributeType, 0x0400, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read), false, false, false, 0),
+			1: ByteField(XdslLineInventoryAndStatusDataPart8_RetransmissionUsedDownstreamRtxUsedds, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: ByteField(XdslLineInventoryAndStatusDataPart8_RetransmissionUsedUpstreamRtxUsedus, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read), false, false, false, 2),
+			3: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfNearEndTestParametersStampTestNe, OctetsAttributeType, 0x2000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 3),
+			4: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfFarEndTestParametersStampTestFe, OctetsAttributeType, 0x1000, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 4),
+			5: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulDownstreamOlrOperationStampOlrDs, OctetsAttributeType, 0x0800, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 5),
+			6: MultiByteField(XdslLineInventoryAndStatusDataPart8_DateTimeStampingOfLastSuccessfulUpstreamOlrOperationStampOlrUs, OctetsAttributeType, 0x0400, 7, toOctets("AAAAAAAAAA=="), mapset.NewSetWith(Read), false, true, false, 6),
 		},
 		Access:  CreatedByOnu,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go
index 9b455a3..3b31ff8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslpsdmaskprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -101,10 +101,15 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslPsdMaskProfile_PsdMaskTable = "PsdMaskTable"
+const XdslPsdMaskProfile_MaskValid = "MaskValid"
+
 func init() {
 	xdslpsdmaskprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslPsdMaskProfile",
-		ClassID: 110,
+		ClassID: XdslPsdMaskProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -115,9 +120,9 @@
 		),
 		AllowedAttributeMask: 0xc000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("PsdMaskTable", TableAttributeType, 0x8000, TableInfo{nil, 4}, mapset.NewSetWith(Read, Write), false, false, false, 1),
-			2: ByteField("MaskValid", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(XdslPsdMaskProfile_PsdMaskTable, TableAttributeType, 0x8000, TableInfo{nil, 4}, mapset.NewSetWith(Read, Write), false, false, false, 1),
+			2: ByteField(XdslPsdMaskProfile_MaskValid, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, Write), false, false, false, 2),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go
index 05e7d55..05390c1 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingdownstreamprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -91,10 +91,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask1 = "DownstreamSubcarrierMask1"
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask2 = "DownstreamSubcarrierMask2"
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask3 = "DownstreamSubcarrierMask3"
+const XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask4 = "DownstreamSubcarrierMask4"
+const XdslSubcarrierMaskingDownstreamProfile_MaskValid = "MaskValid"
+
 func init() {
 	xdslsubcarriermaskingdownstreamprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslSubcarrierMaskingDownstreamProfile",
-		ClassID: 108,
+		ClassID: XdslSubcarrierMaskingDownstreamProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -103,12 +111,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: MultiByteField("DownstreamSubcarrierMask1", OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
-			2: MultiByteField("DownstreamSubcarrierMask2", OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
-			3: MultiByteField("DownstreamSubcarrierMask3", OctetsAttributeType, 0x2000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
-			4: MultiByteField("DownstreamSubcarrierMask4", OctetsAttributeType, 0x1000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
-			5: ByteField("MaskValid", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask1, OctetsAttributeType, 0x8000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			2: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask2, OctetsAttributeType, 0x4000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 2),
+			3: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask3, OctetsAttributeType, 0x2000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 3),
+			4: MultiByteField(XdslSubcarrierMaskingDownstreamProfile_DownstreamSubcarrierMask4, OctetsAttributeType, 0x1000, 16, toOctets("AAAAAAAAAAAAAAAAAAAAAA=="), mapset.NewSetWith(Read, Write), false, false, false, 4),
+			5: ByteField(XdslSubcarrierMaskingDownstreamProfile_MaskValid, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go
index 0e02784..037d7b0 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslsubcarriermaskingupstreamprofile.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -61,10 +61,14 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslSubcarrierMaskingUpstreamProfile_UpstreamSubcarrierMask = "UpstreamSubcarrierMask"
+
 func init() {
 	xdslsubcarriermaskingupstreamprofileBME = &ManagedEntityDefinition{
 		Name:    "XdslSubcarrierMaskingUpstreamProfile",
-		ClassID: 109,
+		ClassID: XdslSubcarrierMaskingUpstreamProfileClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -73,8 +77,8 @@
 		),
 		AllowedAttributeMask: 0x8000,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: Uint64Field("UpstreamSubcarrierMask", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: Uint64Field(XdslSubcarrierMaskingUpstreamProfile_UpstreamSubcarrierMask, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 1),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
index 00e0827..64e1ec9 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cchannelperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -81,10 +81,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuCChannelPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_CorrectedBlocks = "CorrectedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_UncorrectedBlocks = "UncorrectedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_TransmittedBlocks = "TransmittedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_ReceivedBlocks = "ReceivedBlocks"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_CodeViolations = "CodeViolations"
+const XdslXtuCChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections = "ForwardErrorCorrections"
+
 func init() {
 	xdslxtucchannelperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuCChannelPerformanceMonitoringHistoryData",
-		ClassID: 114,
+		ClassID: XdslXtuCChannelPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -94,15 +105,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CorrectedBlocks", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("UncorrectedBlocks", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("TransmittedBlocks", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ReceivedBlocks", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("CodeViolations", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint16Field("ForwardErrorCorrections", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslXtuCChannelPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslXtuCChannelPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_CorrectedBlocks, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_UncorrectedBlocks, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_TransmittedBlocks, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(XdslXtuCChannelPerformanceMonitoringHistoryData_ReceivedBlocks, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(XdslXtuCChannelPerformanceMonitoringHistoryData_CodeViolations, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field(XdslXtuCChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go
index caa6f42..3436761 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -121,25 +121,44 @@
 //			attribute counts are inhibited during unavailability - see clause 7.2.7.13 of [ITUT G.997.1].
 //			(R) (mandatory) (2-bytes)
 //
-//		Sos Success Count, Near End
-//			The SOS-SUCCESS-NE attribute is a count of the total number of successful SOS procedures
-//			initiated by the near-end xTU on the line during the accumulation period. Successful SOS is
-//			defined in clause-12.1.4 of [ITUT G.993.2]. (R) (optional) (2-bytes)
+//		Sos Success Count Near End
+//			SOS success count, near end: The SOS-SUCCESS-NE attribute is a count of the total number of
+//			successful SOS procedures initiated by the near-end xTU on the line during the accumulation
+//			period. Successful SOS is defined in clause-12.1.4 of [ITUT G.993.2]. (R) (optional) (2-bytes)
 //
-//		Sos Success Count, Far End
-//			The SOS-SUCCESS-FE attribute is a count of the total number of successful SOS procedures
-//			initiated by the far-end xTU on the line during the accumulation period. Successful SOS is
-//			defined in clause 12.1.4 of [ITUT-G.993.2]. (R) (optional) (2-bytes)
+//		Sos Success Count Far End
+//			SOS success count, far end: The SOS-SUCCESS-FE attribute is a count of the total number of
+//			successful SOS procedures initiated by the far-end xTU on the line during the accumulation
+//			period. Successful SOS is defined in clause 12.1.4 of [ITUT-G.993.2]. (R) (optional) (2-bytes)
 //
 type XdslXtuCPerformanceMonitoringHistoryData struct {
 	ManagedEntityDefinition
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuCPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuCPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfFrameSeconds = "LossOfFrameSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfSignalSeconds = "LossOfSignalSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfLinkSeconds = "LossOfLinkSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LossOfPowerSeconds = "LossOfPowerSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_ErroredSecondsEs = "ErroredSecondsEs"
+const XdslXtuCPerformanceMonitoringHistoryData_SeverelyErroredSeconds = "SeverelyErroredSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_LineInitializations = "LineInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_FailedLineInitializations = "FailedLineInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_ShortInitializations = "ShortInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_FailedShortInitializations = "FailedShortInitializations"
+const XdslXtuCPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_UnavailableSeconds = "UnavailableSeconds"
+const XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountNearEnd = "SosSuccessCountNearEnd"
+const XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountFarEnd = "SosSuccessCountFarEnd"
+
 func init() {
 	xdslxtucperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuCPerformanceMonitoringHistoryData",
-		ClassID: 112,
+		ClassID: XdslXtuCPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -149,23 +168,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("LossOfFrameSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("LossOfSignalSeconds", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("LossOfLinkSeconds", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("LossOfPowerSeconds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("ErroredSecondsEs", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("SeverelyErroredSeconds", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("LineInitializations", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("FailedLineInitializations", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint16Field("ShortInitializations", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint16Field("FailedShortInitializations", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint16Field("FecSeconds", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
-			14: Uint16Field("UnavailableSeconds", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
-			15: Uint16Field("SosSuccessCount,NearEnd", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint16Field("SosSuccessCount,FarEnd", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XdslXtuCPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfFrameSeconds, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfSignalSeconds, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfLinkSeconds, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LossOfPowerSeconds, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_ErroredSecondsEs, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_SeverelyErroredSeconds, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_LineInitializations, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_FailedLineInitializations, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_ShortInitializations, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_FailedShortInitializations, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, false, false, 13),
+			14: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_UnavailableSeconds, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, false, false, 14),
+			15: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountNearEnd, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint16Field(XdslXtuCPerformanceMonitoringHistoryData_SosSuccessCountFarEnd, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
index bc65164..1523591 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-cperformancemonitoringhistorydatapart2.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -73,10 +73,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_IntervalEndTime = "IntervalEndTime"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_LeftrDefectSeconds = "LeftrDefectSeconds"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_ErrorFreeBitsCounter = "ErrorFreeBitsCounter"
+const XdslXtuCPerformanceMonitoringHistoryDataPart2_MinimumErrorFreeThroughputMineftr = "MinimumErrorFreeThroughputMineftr"
+
 func init() {
 	xdslxtucperformancemonitoringhistorydatapart2BME = &ManagedEntityDefinition{
 		Name:    "XdslXtuCPerformanceMonitoringHistoryDataPart2",
-		ClassID: 408,
+		ClassID: XdslXtuCPerformanceMonitoringHistoryDataPart2ClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -86,12 +94,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint16Field("LeftrDefectSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("ErrorFreeBitsCounter", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("MinimumErrorFreeThroughputMineftr", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslXtuCPerformanceMonitoringHistoryDataPart2_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint16Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_LeftrDefectSeconds, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_ErrorFreeBitsCounter, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(XdslXtuCPerformanceMonitoringHistoryDataPart2_MinimumErrorFreeThroughputMineftr, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
index d9602df..46f31f8 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rchannelperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -85,10 +85,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuRChannelPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_CorrectedBlocks = "CorrectedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_UncorrectedBlocks = "UncorrectedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_TransmittedBlocks = "TransmittedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_ReceivedBlocks = "ReceivedBlocks"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_CodeViolations = "CodeViolations"
+const XdslXtuRChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections = "ForwardErrorCorrections"
+
 func init() {
 	xdslxturchannelperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuRChannelPerformanceMonitoringHistoryData",
-		ClassID: 115,
+		ClassID: XdslXtuRChannelPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -98,15 +109,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("CorrectedBlocks", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4: Uint32Field("UncorrectedBlocks", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5: Uint32Field("TransmittedBlocks", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6: Uint32Field("ReceivedBlocks", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7: Uint16Field("CodeViolations", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8: Uint16Field("ForwardErrorCorrections", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XdslXtuRChannelPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XdslXtuRChannelPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_CorrectedBlocks, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_UncorrectedBlocks, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_TransmittedBlocks, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6: Uint32Field(XdslXtuRChannelPerformanceMonitoringHistoryData_ReceivedBlocks, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7: Uint16Field(XdslXtuRChannelPerformanceMonitoringHistoryData_CodeViolations, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8: Uint16Field(XdslXtuRChannelPerformanceMonitoringHistoryData_ForwardErrorCorrections, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go
index a649da5..4a9266a 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xdslxtu-rperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,25 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XdslXtuRPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XdslXtuRPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XdslXtuRPerformanceMonitoringHistoryData_LossOfFrameSeconds = "LossOfFrameSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_LossOfSignalSeconds = "LossOfSignalSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_LossOfPowerSeconds = "LossOfPowerSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_ErroredSeconds = "ErroredSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_SeverelyErroredSeconds = "SeverelyErroredSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_FecSeconds = "FecSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_UnavailableSeconds = "UnavailableSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_LeftrDefectSeconds = "LeftrDefectSeconds"
+const XdslXtuRPerformanceMonitoringHistoryData_ErrorFreeBitsCounter = "ErrorFreeBitsCounter"
+const XdslXtuRPerformanceMonitoringHistoryData_MinimumErrorFreeThroughputMineftr = "MinimumErrorFreeThroughputMineftr"
+
 func init() {
 	xdslxturperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XdslXtuRPerformanceMonitoringHistoryData",
-		ClassID: 113,
+		ClassID: XdslXtuRPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,19 +145,19 @@
 		),
 		AllowedAttributeMask: 0xfff0,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint16Field("LossOfFrameSeconds", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
-			4:  Uint16Field("LossOfSignalSeconds", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
-			5:  Uint16Field("LossOfPowerSeconds", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
-			6:  Uint16Field("ErroredSeconds", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint16Field("SeverelyErroredSeconds", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
-			8:  Uint16Field("FecSeconds", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
-			9:  Uint16Field("UnavailableSeconds", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint16Field("LeftrDefectSeconds", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("ErrorFreeBitsCounter", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("MinimumErrorFreeThroughputMineftr", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XdslXtuRPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_ThresholdData12Id, UnsignedIntegerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LossOfFrameSeconds, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, false, false, 3),
+			4:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LossOfSignalSeconds, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, false, false, 4),
+			5:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LossOfPowerSeconds, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, false, false, 5),
+			6:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_ErroredSeconds, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_SeverelyErroredSeconds, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, false, false, 7),
+			8:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_FecSeconds, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, false, false, 8),
+			9:  Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_UnavailableSeconds, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint16Field(XdslXtuRPerformanceMonitoringHistoryData_LeftrDefectSeconds, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(XdslXtuRPerformanceMonitoringHistoryData_ErrorFreeBitsCounter, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(XdslXtuRPerformanceMonitoringHistoryData_MinimumErrorFreeThroughputMineftr, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
index 3245441..56c4b26 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pondownstreammanagementperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -117,10 +117,29 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_PloamMessageIntegrityCheckMicErrorCount = "PloamMessageIntegrityCheckMicErrorCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_DownstreamPloamMessagesCount = "DownstreamPloamMessagesCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_ProfileMessagesReceived = "ProfileMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_RangingTimeMessagesReceived = "RangingTimeMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_DeactivateOnuIdMessagesReceived = "DeactivateOnuIdMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_DisableSerialNumberMessagesReceived = "DisableSerialNumberMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_RequestRegistrationMessagesReceived = "RequestRegistrationMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignAllocIdMessagesReceived = "AssignAllocIdMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_KeyControlMessagesReceived = "KeyControlMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_SleepAllowMessagesReceived = "SleepAllowMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_BaselineOmciMessagesReceivedCount = "BaselineOmciMessagesReceivedCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_ExtendedOmciMessagesReceivedCount = "ExtendedOmciMessagesReceivedCount"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignOnuIdMessagesReceived = "AssignOnuIdMessagesReceived"
+const XgPonDownstreamManagementPerformanceMonitoringHistoryData_OmciMicErrorCount = "OmciMicErrorCount"
+
 func init() {
 	xgpondownstreammanagementperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XgPonDownstreamManagementPerformanceMonitoringHistoryData",
-		ClassID: 345,
+		ClassID: XgPonDownstreamManagementPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -130,23 +149,23 @@
 		),
 		AllowedAttributeMask: 0xffff,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PloamMessageIntegrityCheckMicErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("DownstreamPloamMessagesCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("ProfileMessagesReceived", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("RangingTimeMessagesReceived", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("DeactivateOnuIdMessagesReceived", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("DisableSerialNumberMessagesReceived", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("RequestRegistrationMessagesReceived", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
-			10: Uint32Field("AssignAllocIdMessagesReceived", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
-			11: Uint32Field("KeyControlMessagesReceived", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
-			12: Uint32Field("SleepAllowMessagesReceived", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("BaselineOmciMessagesReceivedCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("ExtendedOmciMessagesReceivedCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("AssignOnuIdMessagesReceived", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
-			16: Uint32Field("OmciMicErrorCount", CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XgPonDownstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_PloamMessageIntegrityCheckMicErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_DownstreamPloamMessagesCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_ProfileMessagesReceived, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_RangingTimeMessagesReceived, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_DeactivateOnuIdMessagesReceived, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_DisableSerialNumberMessagesReceived, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_RequestRegistrationMessagesReceived, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, true, false, 9),
+			10: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignAllocIdMessagesReceived, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, true, false, 10),
+			11: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_KeyControlMessagesReceived, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, true, false, 11),
+			12: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_SleepAllowMessagesReceived, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_BaselineOmciMessagesReceivedCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_ExtendedOmciMessagesReceivedCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_AssignOnuIdMessagesReceived, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			16: Uint32Field(XgPonDownstreamManagementPerformanceMonitoringHistoryData_OmciMicErrorCount, CounterAttributeType, 0x0001, 0, mapset.NewSetWith(Read), false, true, false, 16),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go
index 4c7a0f9..ba08f36 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-pontcperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -123,10 +123,28 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount = "PsbdHecErrorCount"
+const XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount = "XgtcHecErrorCount"
+const XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount = "UnknownProfileCount"
+const XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames = "TransmittedXgPonEncapsulationMethodXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames = "FragmentXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount = "XgemHecLostWordsCount"
+const XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors = "XgemKeyErrors"
+const XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount = "XgemHecErrorCount"
+const XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames = "TransmittedBytesInNonIdleXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames = "ReceivedBytesInNonIdleXgemFrames"
+const XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount = "LossOfDownstreamSynchronizationLodsEventCount"
+const XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount = "LodsEventRestoredCount"
+const XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents = "OnuReactivationByLodsEvents"
+
 func init() {
 	xgpontcperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XgPonTcPerformanceMonitoringHistoryData",
-		ClassID: 344,
+		ClassID: XgPonTcPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -136,22 +154,22 @@
 		),
 		AllowedAttributeMask: 0xfffe,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0:  Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1:  ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2:  Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3:  Uint32Field("PsbdHecErrorCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4:  Uint32Field("XgtcHecErrorCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5:  Uint32Field("UnknownProfileCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6:  Uint32Field("TransmittedXgPonEncapsulationMethodXgemFrames", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
-			7:  Uint32Field("FragmentXgemFrames", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8:  Uint32Field("XgemHecLostWordsCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
-			9:  Uint32Field("XgemKeyErrors", CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
-			10: Uint32Field("XgemHecErrorCount", CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
-			11: Uint64Field("TransmittedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
-			12: Uint64Field("ReceivedBytesInNonIdleXgemFrames", CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
-			13: Uint32Field("LossOfDownstreamSynchronizationLodsEventCount", CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
-			14: Uint32Field("LodsEventRestoredCount", CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
-			15: Uint32Field("OnuReactivationByLodsEvents", CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
+			0:  Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1:  ByteField(XgPonTcPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2:  Uint16Field(XgPonTcPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_PsbdHecErrorCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgtcHecErrorCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_UnknownProfileCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_TransmittedXgPonEncapsulationMethodXgemFrames, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, false, false, 6),
+			7:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_FragmentXgemFrames, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemHecLostWordsCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			9:  Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemKeyErrors, CounterAttributeType, 0x0080, 0, mapset.NewSetWith(Read), false, false, false, 9),
+			10: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_XgemHecErrorCount, CounterAttributeType, 0x0040, 0, mapset.NewSetWith(Read), false, false, false, 10),
+			11: Uint64Field(XgPonTcPerformanceMonitoringHistoryData_TransmittedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0020, 0, mapset.NewSetWith(Read), false, false, false, 11),
+			12: Uint64Field(XgPonTcPerformanceMonitoringHistoryData_ReceivedBytesInNonIdleXgemFrames, CounterAttributeType, 0x0010, 0, mapset.NewSetWith(Read), false, true, false, 12),
+			13: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_LossOfDownstreamSynchronizationLodsEventCount, CounterAttributeType, 0x0008, 0, mapset.NewSetWith(Read), false, true, false, 13),
+			14: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_LodsEventRestoredCount, CounterAttributeType, 0x0004, 0, mapset.NewSetWith(Read), false, true, false, 14),
+			15: Uint32Field(XgPonTcPerformanceMonitoringHistoryData_OnuReactivationByLodsEvents, CounterAttributeType, 0x0002, 0, mapset.NewSetWith(Read), false, true, false, 15),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
index 6b44c68..7f178d3 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xg-ponupstreammanagementperformancemonitoringhistorydata.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -79,10 +79,21 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime = "IntervalEndTime"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id = "ThresholdData12Id"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_UpstreamPloamMessageCount = "UpstreamPloamMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_SerialNumberOnuMessageCount = "SerialNumberOnuMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_RegistrationMessageCount = "RegistrationMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_KeyReportMessageCount = "KeyReportMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_AcknowledgeMessageCount = "AcknowledgeMessageCount"
+const XgPonUpstreamManagementPerformanceMonitoringHistoryData_SleepRequestMessageCount = "SleepRequestMessageCount"
+
 func init() {
 	xgponupstreammanagementperformancemonitoringhistorydataBME = &ManagedEntityDefinition{
 		Name:    "XgPonUpstreamManagementPerformanceMonitoringHistoryData",
-		ClassID: 346,
+		ClassID: XgPonUpstreamManagementPerformanceMonitoringHistoryDataClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -92,15 +103,15 @@
 		),
 		AllowedAttributeMask: 0xff00,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: ByteField("IntervalEndTime", UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
-			2: Uint16Field("ThresholdData12Id", PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
-			3: Uint32Field("UpstreamPloamMessageCount", CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
-			4: Uint32Field("SerialNumberOnuMessageCount", CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
-			5: Uint32Field("RegistrationMessageCount", CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
-			6: Uint32Field("KeyReportMessageCount", CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
-			7: Uint32Field("AcknowledgeMessageCount", CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
-			8: Uint32Field("SleepRequestMessageCount", CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: ByteField(XgPonUpstreamManagementPerformanceMonitoringHistoryData_IntervalEndTime, UnsignedIntegerAttributeType, 0x8000, 0, mapset.NewSetWith(Read), false, false, false, 1),
+			2: Uint16Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_ThresholdData12Id, PointerAttributeType, 0x4000, 0, mapset.NewSetWith(Read, SetByCreate, Write), false, false, false, 2),
+			3: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_UpstreamPloamMessageCount, CounterAttributeType, 0x2000, 0, mapset.NewSetWith(Read), false, true, false, 3),
+			4: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_SerialNumberOnuMessageCount, CounterAttributeType, 0x1000, 0, mapset.NewSetWith(Read), false, true, false, 4),
+			5: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_RegistrationMessageCount, CounterAttributeType, 0x0800, 0, mapset.NewSetWith(Read), false, true, false, 5),
+			6: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_KeyReportMessageCount, CounterAttributeType, 0x0400, 0, mapset.NewSetWith(Read), false, true, false, 6),
+			7: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_AcknowledgeMessageCount, CounterAttributeType, 0x0200, 0, mapset.NewSetWith(Read), false, true, false, 7),
+			8: Uint32Field(XgPonUpstreamManagementPerformanceMonitoringHistoryData_SleepRequestMessageCount, CounterAttributeType, 0x0100, 0, mapset.NewSetWith(Read), false, true, false, 8),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go b/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go
index 33e78c5..154b288 100644
--- a/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go
+++ b/vendor/github.com/opencord/omci-lib-go/v2/generated/xtudatagatheringconfiguration.go
@@ -1,13 +1,13 @@
 /*
  * Copyright (c) 2018 - present.  Boling Consulting Solutions (bcsw.net)
  * Copyright 2020-present Open Networking Foundation
-
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
-
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
-
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -83,10 +83,18 @@
 	Attributes AttributeValueMap
 }
 
+// Attribute name constants
+
+const XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable = "LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable"
+const XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable = "LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable"
+const XtuDataGatheringConfiguration_LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO = "LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO"
+const XtuDataGatheringConfiguration_LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR = "LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR"
+const XtuDataGatheringConfiguration_LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst = "LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst"
+
 func init() {
 	xtudatagatheringconfigurationBME = &ManagedEntityDefinition{
 		Name:    "XtuDataGatheringConfiguration",
-		ClassID: 413,
+		ClassID: XtuDataGatheringConfigurationClassID,
 		MessageTypes: mapset.NewSetWith(
 			Create,
 			Delete,
@@ -97,12 +105,12 @@
 		),
 		AllowedAttributeMask: 0xf800,
 		AttributeDefinitions: AttributeDefinitionMap{
-			0: Uint16Field("ManagedEntityId", PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
-			1: TableField("LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable", TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 1),
-			2: TableField("LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable", TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 2),
-			3: Uint16Field("LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO", UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
-			4: Uint16Field("LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR", UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
-			5: ByteField("LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst", UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
+			0: Uint16Field(ManagedEntityID, PointerAttributeType, 0x0000, 0, mapset.NewSetWith(Read, SetByCreate), false, false, false, 0),
+			1: TableField(XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuOLoggingDepthEventPercentageOiTable, TableAttributeType, 0x8000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 1),
+			2: TableField(XtuDataGatheringConfiguration_LoggingDepthEventPercentagePerEventVtuRLoggingDepthEventPercentageRiTable, TableAttributeType, 0x4000, TableInfo{nil, 2}, mapset.NewSetWith(Read, Write), false, true, false, 2),
+			3: Uint16Field(XtuDataGatheringConfiguration_LoggingDepthForVtuOReportingVtuRLoggingDepthReportingO, UnsignedIntegerAttributeType, 0x2000, 0, mapset.NewSetWith(Read, Write), false, true, false, 3),
+			4: Uint16Field(XtuDataGatheringConfiguration_LoggingDepthForVtuRReportingVtuRLoggingDepthReportingR, UnsignedIntegerAttributeType, 0x1000, 0, mapset.NewSetWith(Read, Write), false, true, false, 4),
+			5: ByteField(XtuDataGatheringConfiguration_LoggingDataReportNewerEventsFirstVtuRLoggingReportNewerFirst, UnsignedIntegerAttributeType, 0x0800, 0, mapset.NewSetWith(Read, Write), false, true, false, 5),
 		},
 		Access:  CreatedByOlt,
 		Support: UnknownSupport,
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 83f8439..eb6c1e9 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -121,7 +121,7 @@
 # github.com/looplab/fsm v0.2.0
 ## explicit
 github.com/looplab/fsm
-# github.com/opencord/omci-lib-go/v2 v2.1.3
+# github.com/opencord/omci-lib-go/v2 v2.2.0
 ## explicit
 github.com/opencord/omci-lib-go/v2
 github.com/opencord/omci-lib-go/v2/generated
