[VOL-4688] openonuAdapterGo: OMCI extended message set - derive the capability from the OMCC version
Do not merge before https://gerrit.opencord.org/c/bbsim/+/32128
Change-Id: I800f1bae3b696f320c63c80336a22f187b9c947c
diff --git a/internal/pkg/common/omci_cc.go b/internal/pkg/common/omci_cc.go
index e1115d3..c7bda8b 100755
--- a/internal/pkg/common/omci_cc.go
+++ b/internal/pkg/common/omci_cc.go
@@ -53,6 +53,7 @@
// UnusedTcontAllocID - TODO: add comment
const UnusedTcontAllocID = uint16(0xFFFF) //common unused AllocId for G.984 and G.987 systems
+const cOmciDeviceIdentifierPos = 3
const cOmciBaseMessageTrailerLen = 40
// tOmciReceiveError - enum type for detected problems/errors in the received OMCI message (format)
@@ -282,41 +283,65 @@
// ReceiveMessage - Rx handler for onu messages
// e.g. would call ReceiveOnuMessage() in case of TID=0 or Action=test ...
+// nolint: gocyclo
func (oo *OmciCC) ReceiveMessage(ctx context.Context, rxMsg []byte) error {
//logger.Debugw(ctx,"cc-receive-omci-message", log.Fields{"RxOmciMessage-x2s": hex.EncodeToString(rxMsg)})
- if len(rxMsg) >= 44 { // then it should normally include the BaseFormat trailer Len
- // NOTE: autocorrection only valid for OmciBaseFormat, which is not specifically verified here!!!
- // (an extendedFormat message could be destroyed this way!)
- trailerLenData := rxMsg[42:44]
- trailerLen := binary.BigEndian.Uint16(trailerLenData)
- //logger.Debugw(ctx,"omci-received-trailer-len", log.Fields{"Length": trailerLen})
- if trailerLen != cOmciBaseMessageTrailerLen { // invalid base Format entry -> autocorrect
- binary.BigEndian.PutUint16(rxMsg[42:44], cOmciBaseMessageTrailerLen)
- if oo.rxOmciFrameError != cOmciMessageReceiveErrorTrailerLen {
- //do just one error log, expectation is: if seen once it should appear regularly - avoid to many log entries
- logger.Errorw(ctx, "wrong omci-message trailer length: trailer len auto-corrected",
- log.Fields{"trailer-length": trailerLen, "device-id": oo.deviceID})
- oo.rxOmciFrameError = cOmciMessageReceiveErrorTrailerLen
- }
+
+ if len(rxMsg) < 10 {
+ logger.Errorw(ctx, "rxOmciMessage has wrong length in general - abort",
+ log.Fields{"Length": len(rxMsg), "device-id": oo.deviceID})
+ if len(rxMsg) > 0 {
+ oo.printRxMessage(ctx, rxMsg)
}
- } else if len(rxMsg) >= cOmciBaseMessageTrailerLen { // workaround for Adtran OLT Sim, which currently does not send trailer bytes at all!
- // NOTE: autocorrection only valid for OmciBaseFormat, which is not specifically verified here!!!
- // (an extendedFormat message could be destroyed this way!)
- // extend/overwrite with trailer
- trailer := make([]byte, 8)
- binary.BigEndian.PutUint16(trailer[2:], cOmciBaseMessageTrailerLen) //set the defined baseline length
- rxMsg = append(rxMsg[:cOmciBaseMessageTrailerLen], trailer...)
- if oo.rxOmciFrameError != cOmciMessageReceiveErrorMissTrailer {
- //do just one error log, expectation is: if seen once it should appear regularly - avoid to many log entries
- logger.Errorw(ctx, "omci-message to short to include trailer len: trailer auto-corrected (added)",
- log.Fields{"message-length": len(rxMsg), "device-id": oo.deviceID})
- oo.rxOmciFrameError = cOmciMessageReceiveErrorMissTrailer
+ return fmt.Errorf("rxOmciMessage has wrong length in general - abort %s", oo.deviceID)
+ }
+ if rxMsg[cOmciDeviceIdentifierPos] == byte(omci.BaselineIdent) {
+ if len(rxMsg) >= 44 { // then it should normally include the BaseFormat trailer Len
+ // NOTE: autocorrection only valid for OmciBaseFormat, which is not specifically verified here!!!
+ // (an extendedFormat message could be destroyed this way!)
+ trailerLenData := rxMsg[42:44]
+ trailerLen := binary.BigEndian.Uint16(trailerLenData)
+ //logger.Debugw(ctx,"omci-received-trailer-len", log.Fields{"Length": trailerLen})
+ if trailerLen != cOmciBaseMessageTrailerLen { // invalid base Format entry -> autocorrect
+ binary.BigEndian.PutUint16(rxMsg[42:44], cOmciBaseMessageTrailerLen)
+ if oo.rxOmciFrameError != cOmciMessageReceiveErrorTrailerLen {
+ //do just one error log, expectation is: if seen once it should appear regularly - avoid to many log entries
+ logger.Errorw(ctx, "wrong omci-message trailer length: trailer len auto-corrected",
+ log.Fields{"trailer-length": trailerLen, "device-id": oo.deviceID})
+ oo.rxOmciFrameError = cOmciMessageReceiveErrorTrailerLen
+ }
+ }
+ } else if len(rxMsg) >= cOmciBaseMessageTrailerLen { // workaround for Adtran OLT Sim, which currently does not send trailer bytes at all!
+ // NOTE: autocorrection only valid for OmciBaseFormat, which is not specifically verified here!!!
+ // (an extendedFormat message could be destroyed this way!)
+ // extend/overwrite with trailer
+ trailer := make([]byte, 8)
+ binary.BigEndian.PutUint16(trailer[2:], cOmciBaseMessageTrailerLen) //set the defined baseline length
+ rxMsg = append(rxMsg[:cOmciBaseMessageTrailerLen], trailer...)
+ if oo.rxOmciFrameError != cOmciMessageReceiveErrorMissTrailer {
+ //do just one error log, expectation is: if seen once it should appear regularly - avoid to many log entries
+ logger.Errorw(ctx, "omci-message to short to include trailer len: trailer auto-corrected (added)",
+ log.Fields{"message-length": len(rxMsg), "device-id": oo.deviceID})
+ oo.rxOmciFrameError = cOmciMessageReceiveErrorMissTrailer
+ }
+ } else {
+ logger.Errorw(ctx, "received omci-message too small for OmciBaseFormat - abort",
+ log.Fields{"Length": len(rxMsg), "device-id": oo.deviceID})
+ oo.printRxMessage(ctx, rxMsg)
+ return fmt.Errorf("rxOmciMessage too small for BaseFormat %s", oo.deviceID)
+ }
+ } else if rxMsg[cOmciDeviceIdentifierPos] == byte(omci.ExtendedIdent) {
+ if len(rxMsg) > 1980 {
+ logger.Errorw(ctx, "rxOmciMessage has wrong length for OmciExtendedFormat - abort",
+ log.Fields{"Length": len(rxMsg), "device-id": oo.deviceID})
+ oo.printRxMessage(ctx, rxMsg)
+ return fmt.Errorf("rxOmciMessage has wrong length for OmciExtendedFormat %s", oo.deviceID)
}
} else {
- logger.Errorw(ctx, "received omci-message too small for OmciBaseFormat - abort",
+ logger.Errorw(ctx, "rxOmciMessage has wrong Device Identifier - abort",
log.Fields{"Length": len(rxMsg), "device-id": oo.deviceID})
oo.printRxMessage(ctx, rxMsg)
- return fmt.Errorf("rxOmciMessage too small for BaseFormat %s", oo.deviceID)
+ return fmt.Errorf("rxOmciMessage has wrong Device Identifier %s", oo.deviceID)
}
decodeOptions := gopacket.DecodeOptions{
Lazy: true,
@@ -530,7 +555,7 @@
receiveCallbackPair CallbackPair) error {
if timeout != 0 {
- logger.Debugw(ctx, "register-response-callback:", log.Fields{"for TansCorrId": receiveCallbackPair.CbKey})
+ logger.Debugw(ctx, "register-response-callback:", log.Fields{"for TransCorrId": receiveCallbackPair.CbKey})
oo.mutexRxSchedMap.Lock()
// it could be checked, if the callback key is already registered - but simply overwrite may be acceptable ...
oo.rxSchedulerMap[receiveCallbackPair.CbKey] = receiveCallbackPair.CbEntry
@@ -587,6 +612,11 @@
for oo.highPrioTxQueue.Len() > 0 {
queueElement := oo.highPrioTxQueue.Front() // First element
if err := oo.sendOMCIRequest(ctx, queueElement.Value.(OmciTransferStructure)); err != nil {
+ // Element will be removed from the queue regardless of the send success, to prevent
+ // an accumulation of send requests for the same message in the event of an error.
+ // In this case, resend attempts for the message are ensured by our retry
+ // mechanism after omci-timeout.
+ oo.highPrioTxQueue.Remove(queueElement) // Dequeue
return err
}
oo.highPrioTxQueue.Remove(queueElement) // Dequeue
@@ -602,12 +632,22 @@
aOmciTxReq := queueElement.Value.(OmciTransferStructure)
if aOmciTxReq.OnuSwWindow != nil {
if err := oo.sendOnuSwSectionsOfWindow(ctx, aOmciTxReq); err != nil {
+ // Element will be removed from the queue regardless of the send success, to prevent
+ // an accumulation of send requests for the same message in the event of an error.
+ // In this case, resend attempts for the message are ensured by our retry
+ // mechanism after omci-timeout.
+ oo.lowPrioTxQueue.Remove(queueElement) // Dequeue
oo.mutexLowPrioTxQueue.Unlock()
return err
}
} else {
err := oo.sendOMCIRequest(ctx, queueElement.Value.(OmciTransferStructure))
if err != nil {
+ // Element will be removed from the queue regardless of the send success, to prevent
+ // an accumulation of send requests for the same message in the event of an error.
+ // In this case, resend attempts for the message are ensured by our retry
+ // mechanism after omci-timeout.
+ oo.lowPrioTxQueue.Remove(queueElement) // Dequeue
oo.mutexLowPrioTxQueue.Unlock()
return err
}
@@ -712,10 +752,11 @@
TransactionID: tid,
MessageType: msgType,
}
- return serializeOmciLayer(ctx, omciLayer, request)
+ return SerializeOmciLayer(ctx, omciLayer, request)
}
-func serializeOmciLayer(ctx context.Context, aOmciLayer *omci.OMCI, aRequest gopacket.SerializableLayer) ([]byte, error) {
+// SerializeOmciLayer - TODO: add comment
+func SerializeOmciLayer(ctx context.Context, aOmciLayer *omci.OMCI, aRequest gopacket.SerializableLayer) ([]byte, error) {
var options gopacket.SerializeOptions
options.FixLengths = true
@@ -960,7 +1001,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize GalEnetProfile create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1009,7 +1050,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize ONU2-G set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1064,7 +1105,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MBSP create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1122,7 +1163,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MBPCD create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1182,7 +1223,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize EVTOCD create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1228,7 +1269,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize ONU-G set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1274,7 +1315,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize PPTPEthUni-Set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1368,7 +1409,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VEIP-Set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1413,7 +1454,7 @@
logger.Errorf(ctx, "Cannot encode instance for get-request", log.Fields{"meClassIDName": meClassIDName, "Err": err, "device-id": oo.deviceID})
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize get-request", log.Fields{"meClassIDName": meClassIDName, "Err": err, "device-id": oo.deviceID})
return nil, err
@@ -1501,7 +1542,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize .1pMapper create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1545,7 +1586,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MBPCD create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1589,7 +1630,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize GemNCTP create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1632,7 +1673,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize GemNCTP set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1676,7 +1717,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize GemIwTp create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1718,7 +1759,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TCont set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1760,7 +1801,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize PrioQueue set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1802,7 +1843,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize 1PMapper set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1849,7 +1890,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VTFD create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1895,7 +1936,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VTFD set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1939,7 +1980,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize EVTOCD create", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -1981,7 +2022,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize EVTOCD set", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2023,7 +2064,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize EVTOCD delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2070,7 +2111,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VTFD delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2108,7 +2149,7 @@
logger.Errorw(ctx, "Cannot encode TD for create", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TD create", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
@@ -2144,7 +2185,7 @@
logger.Errorw(ctx, "Cannot encode TD for set", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TD set", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
@@ -2182,7 +2223,7 @@
logger.Errorw(ctx, "Cannot encode TD for delete", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TD delete", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
@@ -2226,7 +2267,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize GemIwTp delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2273,7 +2314,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize GemNCtp delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2320,7 +2361,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize .1pMapper delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2367,7 +2408,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MBPCD delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2409,7 +2450,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MulticastGEMIWTP create", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
@@ -2448,7 +2489,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MulticastGEMIWTP create", log.Fields{"Err": err, "device-id": oo.deviceID})
return nil, err
@@ -2488,7 +2529,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MulticastOperationProfile create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2530,7 +2571,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MulticastOperationProfile create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2572,7 +2613,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize MulticastSubConfigInfo create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2614,7 +2655,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipVoiceCTP create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2656,7 +2697,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipVoiceCTP set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2702,7 +2743,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipVoiceCTP delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2745,7 +2786,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipMediaProfile create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2787,7 +2828,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipMediaProfile set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2830,7 +2871,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipMediaProfile delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -2873,7 +2914,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoiceServiceProfile create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2915,7 +2956,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoiceServiceProfile set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -2958,7 +2999,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoiceServiceProfile delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3001,7 +3042,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPUserData create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3043,7 +3084,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPUserData set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3086,7 +3127,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPUserData delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3129,7 +3170,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipApplicationServiceProfile create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3171,7 +3212,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize VoipApplicationServiceProfile set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3214,7 +3255,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPVoipApplicationServiceProfile delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3257,7 +3298,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPAgentConfigData create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3299,7 +3340,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPAgentConfigData set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3342,7 +3383,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize SIPAgentConfigData delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3385,7 +3426,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TCPUDPConfigData create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3427,7 +3468,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TCPUDPConfigData set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3470,7 +3511,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize TCPUDPConfigData delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3513,7 +3554,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize IPHostConfigData create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3555,7 +3596,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize IPHostConfigData set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3598,7 +3639,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize IPHostConfigData delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3641,7 +3682,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize RTPProfileData create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3683,7 +3724,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize RTPProfileData set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3726,7 +3767,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize RTPProfileData delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3769,7 +3810,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize NetworkDialPlanTable create", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3811,7 +3852,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize NetworkDialPlanTable set", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3854,7 +3895,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize NetworkDialPlanTable delete", log.Fields{
"Err": err, "device-id": oo.deviceID})
@@ -3905,7 +3946,7 @@
Second: uint8(utcTime.Second()),
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, request)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, request)
if err != nil {
logger.Errorw(ctx, "Cannot serialize synchronize time request", log.Fields{"Err": err,
"device-id": oo.deviceID})
@@ -3956,7 +3997,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize ethernet frame performance monitoring history data ME",
log.Fields{"Err": err, "device-id": oo.deviceID, "upstream": upstream, "create": create, "InstId": strconv.FormatInt(int64(entityID), 16)})
@@ -4009,7 +4050,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize ethernet uni history data ME",
log.Fields{"Err": err, "device-id": oo.deviceID, "create": create, "InstId": strconv.FormatInt(int64(entityID), 16)})
@@ -4062,7 +4103,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize fec history data ME",
log.Fields{"Err": err, "device-id": oo.deviceID, "create": create, "InstId": strconv.FormatInt(int64(entityID), 16)})
@@ -4115,7 +4156,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "Cannot serialize gemport history data ME",
log.Fields{"Err": err, "device-id": oo.deviceID, "create": create, "InstId": strconv.FormatInt(int64(entityID), 16)})
@@ -4847,7 +4888,7 @@
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "cannot-serialize-ethernet-frame-extended-pm-me",
log.Fields{"err": err, "device-id": oo.deviceID, "upstream": upstream, "create": create, "inst-id": strconv.FormatInt(int64(entityID), 16)})
@@ -4918,7 +4959,7 @@
log.Fields{"err": err, "device-id": oo.deviceID, "inst-id": strconv.FormatInt(int64(entityID), 16)})
return nil, err
}
- pkt, err := serializeOmciLayer(ctx, omciLayer, msgLayer)
+ pkt, err := SerializeOmciLayer(ctx, omciLayer, msgLayer)
if err != nil {
logger.Errorw(ctx, "cannot-serialize-ethernet-frame-extended-pm-me-set-msg",
log.Fields{"err": err, "device-id": oo.deviceID, "inst-id": strconv.FormatInt(int64(entityID), 16)})