VOL-3049 patch for alarm sync and audit
Change-Id: I400eddba48732d9b3ef5b6212fbda03b5c1f7ef1
diff --git a/internal/pkg/onuadaptercore/omci_cc.go b/internal/pkg/onuadaptercore/omci_cc.go
index 3a46f45..1f32be0 100644
--- a/internal/pkg/onuadaptercore/omci_cc.go
+++ b/internal/pkg/onuadaptercore/omci_cc.go
@@ -156,7 +156,6 @@
omciCC.hpTid = 0x8000
omciCC.uploadSequNo = 0
omciCC.uploadNoOfCmds = 0
-
omciCC.txQueue = list.New()
omciCC.rxSchedulerMap = make(map[uint16]callbackPairEntry)
@@ -779,6 +778,58 @@
return oo.send(ctx, pkt, timeout, 0, highPrio, omciRxCallbackPair)
}
+func (oo *omciCC) sendGetAllAlarm(ctx context.Context, alarmRetreivalMode uint8, timeout int, highPrio bool) error {
+ logger.Debugw(ctx, "send GetAllAlarms-msg to:", log.Fields{"device-id": oo.deviceID})
+ request := &omci.GetAllAlarmsRequest{
+ MeBasePacket: omci.MeBasePacket{
+ EntityClass: me.OnuDataClassID,
+ },
+ AlarmRetrievalMode: byte(alarmRetreivalMode),
+ }
+ tid := oo.getNextTid(highPrio)
+ pkt, err := serialize(ctx, omci.GetAllAlarmsRequestType, request, tid)
+ if err != nil {
+ logger.Errorw(ctx, "Cannot serialize GetAllAlarmsRequest", log.Fields{
+ "Err": err, "device-id": oo.deviceID})
+ return err
+ }
+ oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo = 0
+ oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadNoOfCmds = 0
+
+ omciRxCallbackPair := callbackPair{
+ cbKey: tid,
+ cbEntry: callbackPairEntry{(*oo.pBaseDeviceHandler.pAlarmMgr).eventChannel,
+ oo.receiveOmciResponse, true},
+ }
+ return oo.send(ctx, pkt, timeout, 0, highPrio, omciRxCallbackPair)
+}
+
+func (oo *omciCC) sendGetAllAlarmNext(ctx context.Context, timeout int, highPrio bool) error {
+ alarmUploadSeqNo := oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo
+ logger.Debugw(ctx, "send sendGetAllAlarmNext-msg to:", log.Fields{"device-id": oo.deviceID,
+ "alarmUploadSeqNo": alarmUploadSeqNo})
+ request := &omci.GetAllAlarmsNextRequest{
+ MeBasePacket: omci.MeBasePacket{
+ EntityClass: me.OnuDataClassID,
+ },
+ CommandSequenceNumber: alarmUploadSeqNo,
+ }
+ tid := oo.getNextTid(highPrio)
+ pkt, err := serialize(ctx, omci.GetAllAlarmsNextRequestType, request, tid)
+ if err != nil {
+ logger.Errorw(ctx, "Cannot serialize GetAllAlarmsNextRequest", log.Fields{
+ "Err": err, "device-id": oo.deviceID})
+ return err
+ }
+ oo.pBaseDeviceHandler.pAlarmMgr.alarmUploadSeqNo++
+
+ omciRxCallbackPair := callbackPair{
+ cbKey: tid,
+ cbEntry: callbackPairEntry{(*oo.pBaseDeviceHandler.pAlarmMgr).eventChannel, oo.receiveOmciResponse, true},
+ }
+ return oo.send(ctx, pkt, timeout, 0, highPrio, omciRxCallbackPair)
+}
+
func (oo *omciCC) sendCreateGalEthernetProfile(ctx context.Context, timeout int, highPrio bool) *me.ManagedEntity {
tid := oo.getNextTid(highPrio)
logger.Debugw(ctx, "send GalEnetProfile-Create-msg:", log.Fields{"device-id": oo.deviceID,