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
}