X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fnbi%2Fcontrol.go;h=db6c40563982751a3a2654ce7d3972ce5a994578;hb=4984522994d50af32fe8f0d1b0fbc7339bdf077f;hp=e31379d1373ec1a59ad560d0f685ec79996ace6a;hpb=6a9ce4976c1fbbcb8d4a068f81e76515c99a9d3f;p=ric-plt%2Frtmgr.git diff --git a/pkg/nbi/control.go b/pkg/nbi/control.go index e31379d..db6c405 100644 --- a/pkg/nbi/control.go +++ b/pkg/nbi/control.go @@ -144,14 +144,22 @@ func (c *Control) handleUpdateToRoutingManagerRequest(params *xapp.RMRParams) { return } - ep,whid := sbiEngine.CreateEndpoint(string(params.Payload),msg.String()) - if ep == nil || whid < 0 { + ep := sbiEngine.CheckEndpoint(string(params.Payload)) + if ep == nil { xapp.Logger.Error("Update Routing Table Request can't handle due to end point %s is not avail in complete ep list: ", string(params.Payload)) return } + epstr,whid := sbiEngine.CreateEndpoint(msg.String()) + if epstr == nil || whid < 0 { + xapp.Logger.Error("Wormhole Id creation failed %d for %s",whid,msg.String() ) + return + } + /*This is to ensure the latest routes are sent. + Assumption is that in this time interval the routes are built for this endpoint */ + time.Sleep(100 * time.Millisecond) policies := rpeEngine.GeneratePolicies(rtmgr.Eps, data) - err = sbiEngine.DistributeToEp(policies, *ep, whid) + err = sbiEngine.DistributeToEp(policies, *epstr, whid) if err != nil { xapp.Logger.Error("Routing table cannot be published due to: " + err.Error()) return