X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frpe%2Frpe.go;h=3a3eac1e20b1fd870a0f469ea36be456aa983fd4;hb=refs%2Fchanges%2F69%2F4869%2F2;hp=39c2bb12df602e93a1232051b3e061c120dce435;hpb=bce67475ab8f92b42841dba561fff27b7d239820;p=ric-plt%2Frtmgr.git diff --git a/pkg/rpe/rpe.go b/pkg/rpe/rpe.go index 39c2bb1..3a3eac1 100644 --- a/pkg/rpe/rpe.go +++ b/pkg/rpe/rpe.go @@ -184,31 +184,49 @@ func (r *Rpe) generateXappRoutes(xAppEp *rtmgr.Endpoint, subManEp *rtmgr.Endpoin } - func (r *Rpe) generateXappToXappRoutes(RecvxAppEp *rtmgr.Endpoint, endPointList rtmgr.Endpoints, routeTable *rtmgr.RouteTable) { xapp.Logger.Debug("rpe.generateXappToXappRoutes invoked") for _, rxmsg := range RecvxAppEp.RxMessages { var src_present bool + identicalMsg := false + var RxGrp []rtmgr.Endpoint xapp.Logger.Debug("RecvxAppEp.RxMessages Endpoint: %v, xAppType: %v and rxmsg: %v ", RecvxAppEp.Name, RecvxAppEp.XAppType, rxmsg) - if (rxmsg != "RIC_SUB_RESP" && rxmsg != "RIC_SUB_FAILURE" && rxmsg != "RIC_SUB_DEL_RESP" && rxmsg != "RIC_SUB_DEL_FAILURE" && rxmsg != "RIC_INDICATION" && rxmsg != "RIC_CONTROL_ACK" && rxmsg != "RIC_CONTROL_FAILURE" && rxmsg != "A1_POLICY_REQ") { + if rxmsg != "RIC_SUB_RESP" && rxmsg != "RIC_SUB_FAILURE" && rxmsg != "RIC_SUB_DEL_RESP" && rxmsg != "RIC_SUB_DEL_FAILURE" && rxmsg != "RIC_INDICATION" && rxmsg != "RIC_CONTROL_ACK" && rxmsg != "RIC_CONTROL_FAILURE" && rxmsg != "A1_POLICY_REQ" { for _, SrcxAppEp := range endPointList { if SrcxAppEp.XAppType != sbi.PlatformType && (len(SrcxAppEp.TxMessages) > 0) && SrcxAppEp.Name != RecvxAppEp.Name { for _, txmsg := range SrcxAppEp.TxMessages { - if (rxmsg == txmsg) { - r.addRoute(rxmsg, SrcxAppEp, RecvxAppEp, routeTable, -1, "") - src_present = true - break - } + if rxmsg == txmsg { + r.addRoute(rxmsg, SrcxAppEp, RecvxAppEp, routeTable, -1, "") + src_present = true + break + } } } } - if src_present == false { + for _, SrcxAppEp := range endPointList { + + if SrcxAppEp.XAppType != sbi.PlatformType && (len(SrcxAppEp.RxMessages) > 0) && SrcxAppEp.Name != RecvxAppEp.Name { + for _, newrxmsg := range SrcxAppEp.RxMessages { + if newrxmsg == rxmsg { + RxGrp = append(RxGrp, *SrcxAppEp) + identicalMsg = true + } + } + } + } + if src_present == false && identicalMsg == false { + xapp.Logger.Debug("Message type %v,for SrcxAppEp.Name %v", rxmsg, RecvxAppEp) r.addRoute(rxmsg, nil, RecvxAppEp, routeTable, -1, "") } + if identicalMsg == true { + xapp.Logger.Debug("Appending Message type %v,for SrcxAppEp.Name %v", rxmsg, RecvxAppEp) + RxGrp = append(RxGrp, *RecvxAppEp) + r.addRoute_rx_list(rxmsg, nil, RxGrp, routeTable, -1, "") + return + } } - } } @@ -235,7 +253,7 @@ func (r *Rpe) generateSubscriptionRoutes(selectedxAppEp *rtmgr.Endpoint, subManE r.addRoute("RIC_CONTROL_FAILURE", nil, xAppEp, routeTable, subscription.SubID, "") } } else { - xapp.Logger.Error("generateSubscriptionRoutes xAppEp is nil, xApp UUID: %v", xAppUuid) + xapp.Logger.Error("generateSubscriptionRoutes xAppEp is nil, xApp UUID: %v", xAppUuid) } } } @@ -244,6 +262,10 @@ func (r *Rpe) generatePlatformRoutes(e2TermEp []rtmgr.Endpoint, subManEp *rtmgr. xapp.Logger.Debug("rpe.generatePlatformRoutes invoked") //Platform Routes --- Subscription Routes //Subscription Manager -> E2 Termination + if rtmgr.PrsCfg == nil { + xapp.Logger.Info("No static routes configuration") + return + } for _, routes := range *rtmgr.PrsCfg { var sendEp *rtmgr.Endpoint var Ep *rtmgr.Endpoint