Merge "[VOL-3987] Do not validate GemPort 4069 as it's reserved for multicast and shared across ONUs"
diff --git a/internal/bbsim/devices/onu.go b/internal/bbsim/devices/onu.go
index 1ee67dd..f9e2e32 100644
--- a/internal/bbsim/devices/onu.go
+++ b/internal/bbsim/devices/onu.go
@@ -823,21 +823,24 @@
msgObj, err := omcilib.ParseCreateRequest(msg.OmciPkt)
if err == nil {
if msgObj.EntityClass == me.GemPortNetworkCtpClassID {
- if used, sn = o.PonPort.isGemPortAllocated(msgObj.EntityInstance); used {
- onuLogger.WithFields(log.Fields{
- "IntfId": o.PonPortID,
- "OnuId": o.ID,
- "GemPortId": msgObj.EntityInstance,
- "SerialNumber": o.Sn(),
- }).Errorf("gemport-already-allocated-to-onu-with-sn-%s", common.OnuSnToString(sn))
- } else {
- onuLogger.WithFields(log.Fields{
- "IntfId": o.PonPortID,
- "OnuId": o.ID,
- "GemPortId": msgObj.EntityInstance,
- "SerialNumber": o.Sn(),
- }).Trace("storing-gem-port-id-via-omci")
- o.PonPort.storeGemPort(msgObj.EntityInstance, o.SerialNumber)
+ // GemPort 4069 is reserved for multicast and shared across ONUs
+ if msgObj.EntityInstance != 4069 {
+ if used, sn = o.PonPort.isGemPortAllocated(msgObj.EntityInstance); used {
+ onuLogger.WithFields(log.Fields{
+ "IntfId": o.PonPortID,
+ "OnuId": o.ID,
+ "GemPortId": msgObj.EntityInstance,
+ "SerialNumber": o.Sn(),
+ }).Errorf("gemport-already-allocated-to-onu-with-sn-%s", common.OnuSnToString(sn))
+ } else {
+ onuLogger.WithFields(log.Fields{
+ "IntfId": o.PonPortID,
+ "OnuId": o.ID,
+ "GemPortId": msgObj.EntityInstance,
+ "SerialNumber": o.Sn(),
+ }).Trace("storing-gem-port-id-via-omci")
+ o.PonPort.storeGemPort(msgObj.EntityInstance, o.SerialNumber)
+ }
}
}
}