X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=pkg%2Frpe%2Frmr.go;h=8929c6357708e484987013ccb17024447f53b30a;hb=a8596ec6db91b8a45a1a21421a726b9b05ce7d48;hp=a4bf77697c878103e6ec2fa6c6a9b2801f102a44;hpb=871fa393844ce1b61b8d5218d27687d9fc05803a;p=ric-plt%2Frtmgr.git diff --git a/pkg/rpe/rmr.go b/pkg/rpe/rmr.go index a4bf776..8929c63 100644 --- a/pkg/rpe/rmr.go +++ b/pkg/rpe/rmr.go @@ -14,6 +14,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + + This source code is part of the near-RT RIC (RAN Intelligent Controller) + platform project (RICP). + ================================================================================== */ /* @@ -25,31 +30,45 @@ package rpe -import "rtmgr" +import ( + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" + "routing-manager/pkg/rtmgr" + "strconv" +) + +type Rmr struct { + Rpe +} + +type RmrPush struct { + Rmr +} + +func NewRmrPush() *RmrPush { + instance := new(RmrPush) + return instance +} /* Produces the raw route message consumable by RMR */ -func generateRMRPolicies(xapps *[]rtmgr.XApp) *[]string { - rtmgr.Logger.Debug("Invoked rmr.generateRMRPolicies") - rtmgr.Logger.Debug("args: %v", (*xapps)) - key := "00000 " +func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { rawrt := []string{key + "newrt|start\n"} - rt := getRouteTable(xapps) + rt := r.generateRouteTable(eps) for _, rte := range *rt { - rawrte := key + "rte|" + rte.MessageType + rawrte := key + "mse|" + rte.MessageType for _, tx := range rte.TxList { - rawrte += "," + tx.IpSocket + rawrte += "," + tx.Ip + ":" + strconv.Itoa(int(tx.Port)) } - rawrte += "|" + rawrte += "|" + strconv.Itoa(int(rte.SubID)) + "|" group := "" for _, rxg := range rte.RxGroups { member := "" for _, rx := range rxg { if member == "" { - member += rx.IpSocket + member += rx.Ip + ":" + strconv.Itoa(int(rx.Port)) } else { - member += "," + rx.IpSocket + member += "," + rx.Ip + ":" + strconv.Itoa(int(rx.Port)) } } if group == "" { @@ -62,6 +81,15 @@ func generateRMRPolicies(xapps *[]rtmgr.XApp) *[]string { rawrt = append(rawrt, rawrte+"\n") } rawrt = append(rawrt, key+"newrt|end\n") - rtmgr.Logger.Debug("rmr.generateRMRPolicies returns: %v", rawrt) + xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt) return &rawrt } + +func (r *RmrPush) GeneratePolicies(eps rtmgr.Endpoints) *[]string { + xapp.Logger.Debug("Invoked rmr.GeneratePolicies, args: %v: ", eps) + return r.generateRMRPolicies(eps, "") +} + +func (r *RmrPush) GenerateRouteTable(eps rtmgr.Endpoints) *rtmgr.RouteTable { + return r.generateRouteTable(eps) +}