Extension for OnuAdapter reconcilement on VLAN processing for Multi-UNI support

Signed-off-by: mpagenko <michael.pagenkopf@adtran.com>
Change-Id: Iee3419feb8cdeec00a3a625dd15c2bbb09293016
diff --git a/internal/pkg/mib/onu_device_entry.go b/internal/pkg/mib/onu_device_entry.go
index a6068ec..517a94a 100755
--- a/internal/pkg/mib/onu_device_entry.go
+++ b/internal/pkg/mib/onu_device_entry.go
@@ -195,8 +195,6 @@
 	pLastTxMeInstance                *me.ManagedEntity
 	omciMessageReceived              chan bool        //seperate channel needed by DownloadFsm
 	omciRebootMessageReceivedChannel chan cmn.Message // channel needed by reboot request
-
-	mutexTcontMap sync.RWMutex
 }
 
 //NewOnuDeviceEntry returns a new instance of a OnuDeviceEntry
@@ -851,8 +849,8 @@
 	logger.Debugw(ctx, "allocate-free-tcont", log.Fields{"device-id": oo.deviceID, "allocID": allocID,
 		"allocated-instances": oo.SOnuPersistentData.PersTcontMap})
 
-	oo.mutexTcontMap.Lock()
-	defer oo.mutexTcontMap.Unlock()
+	oo.MutexPersOnuConfig.Lock()
+	defer oo.MutexPersOnuConfig.Unlock()
 	if entityID, ok := oo.SOnuPersistentData.PersTcontMap[allocID]; ok {
 		//tcont already allocated before, return the used instance-id
 		return entityID, true, nil
@@ -876,14 +874,13 @@
 		}
 	}
 	return 0, false, fmt.Errorf(fmt.Sprintf("no-free-tcont-left-for-device-%s", oo.deviceID))
-
 }
 
 // FreeTcont - TODO: add comment
 func (oo *OnuDeviceEntry) FreeTcont(ctx context.Context, allocID uint16) {
 	logger.Debugw(ctx, "free-tcont", log.Fields{"device-id": oo.deviceID, "alloc": allocID})
-	oo.mutexTcontMap.Lock()
-	defer oo.mutexTcontMap.Unlock()
+	oo.MutexPersOnuConfig.Lock()
+	defer oo.MutexPersOnuConfig.Unlock()
 	delete(oo.SOnuPersistentData.PersTcontMap, allocID)
 }
 
@@ -899,18 +896,24 @@
 
 // GetPersSerialNumber - TODO: add comment
 func (oo *OnuDeviceEntry) GetPersSerialNumber() string {
+	oo.MutexPersOnuConfig.RLock()
+	defer oo.MutexPersOnuConfig.RUnlock()
 	value := oo.SOnuPersistentData.PersSerialNumber
 	return value
 }
 
 // GetPersVendorID - TODO: add comment
 func (oo *OnuDeviceEntry) GetPersVendorID() string {
+	oo.MutexPersOnuConfig.RLock()
+	defer oo.MutexPersOnuConfig.RUnlock()
 	value := oo.SOnuPersistentData.PersVendorID
 	return value
 }
 
 // GetPersEquipmentID - TODO: add comment
 func (oo *OnuDeviceEntry) GetPersEquipmentID() string {
+	oo.MutexPersOnuConfig.RLock()
+	defer oo.MutexPersOnuConfig.RUnlock()
 	value := oo.SOnuPersistentData.PersEquipmentID
 	return value
 }
@@ -950,23 +953,17 @@
 	oo.onuSwImageIndications = value
 }
 
-// LockMutexPersOnuConfig - TODO: add comment
-func (oo *OnuDeviceEntry) LockMutexPersOnuConfig() {
-	oo.MutexPersOnuConfig.Lock()
-}
-
-// UnlockMutexPersOnuConfig - TODO: add comment
-func (oo *OnuDeviceEntry) UnlockMutexPersOnuConfig() {
-	oo.MutexPersOnuConfig.Unlock()
-}
-
 // GetPersActiveSwVersion - TODO: add comment
 func (oo *OnuDeviceEntry) GetPersActiveSwVersion() string {
+	oo.MutexPersOnuConfig.RLock()
+	defer oo.MutexPersOnuConfig.RUnlock()
 	return oo.SOnuPersistentData.PersActiveSwVersion
 }
 
 // SetPersActiveSwVersion - TODO: add comment
 func (oo *OnuDeviceEntry) SetPersActiveSwVersion(value string) {
+	oo.MutexPersOnuConfig.Lock()
+	defer oo.MutexPersOnuConfig.Unlock()
 	oo.SOnuPersistentData.PersActiveSwVersion = value
 }