X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fsbi%2Fsbi.go;h=9d1380e0de0f56a34f8425e6efa44588c35d0ebe;hb=749099bc00ec6cad5da19846e65bd5b4bd9b8de4;hp=ae63034ec0c76287742384fe9ef4c7e0fed78d26;hpb=5e864c742292fcaa70992406dd7e0cea3fdc80a7;p=ric-plt%2Frtmgr.git diff --git a/pkg/sbi/sbi.go b/pkg/sbi/sbi.go index ae63034..9d1380e 100644 --- a/pkg/sbi/sbi.go +++ b/pkg/sbi/sbi.go @@ -34,6 +34,7 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "routing-manager/pkg/rtmgr" "strconv" + "strings" ) const DefaultNngPipelineSocketPrefix = "tcp://" @@ -106,6 +107,7 @@ func (s *Sbi) updateEndpoints(rcs *rtmgr.RicComponents, sbi Engine) { } } s.updatePlatformEndpoints(&((*rcs).Pcs), sbi) + s.updateE2TEndpoints(&((*rcs).E2Ts), sbi) s.pruneEndpointList(sbi) } @@ -137,3 +139,35 @@ func (s *Sbi) updatePlatformEndpoints(pcs *rtmgr.PlatformComponents, sbi Engine) } } } + +func (s *Sbi) updateE2TEndpoints(E2Ts *map[string]rtmgr.E2TInstance, sbi Engine) { + xapp.Logger.Debug("updateE2TEndpoints invoked. E2T: %v", *E2Ts) + for _, e2t := range *E2Ts { + uuid := e2t.Fqdn + stringSlice := strings.Split(e2t.Fqdn, ":") + ipaddress := stringSlice[0] + port, _ := strconv.Atoi(stringSlice[1]) + if _, ok := rtmgr.Eps[uuid]; ok { + rtmgr.Eps[uuid].Keepalive = true + } else { + ep := &rtmgr.Endpoint{ + Uuid: uuid, + Name: e2t.Name, + XAppType: PlatformType, + Ip: ipaddress, + Port: uint16(port), + TxMessages: rtmgr.PLATFORMMESSAGETYPES[e2t.Name]["tx"], + RxMessages: rtmgr.PLATFORMMESSAGETYPES[e2t.Name]["rx"], + Socket: nil, + IsReady: false, + Keepalive: true, + } + xapp.Logger.Debug("ep created: %v", ep) + if err := sbi.AddEndpoint(ep); err != nil { + xapp.Logger.Error("can't create socket for endpoint: " + ep.Name + " due to:" + err.Error()) + continue + } + rtmgr.Eps[uuid] = ep + } + } +}