[VOL-4485] omci-lib-go: ME Attribute names should be exported

Change-Id: I15ef78c3b470a9c49a23b32aad513c1cddfb3066
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()