X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frpe%2Frmr.go;h=80323a3131096ed2785010e33d49735804270130;hb=e110ee0d197cd7d61faf4ad761ebad3bf0c68121;hp=cb311a8f0a5d2797f4f968a354f618ff21605b5f;hpb=761934a3d9f7a1426d1e14e34fb9a4c16599a237;p=ric-plt%2Frtmgr.git diff --git a/pkg/rpe/rmr.go b/pkg/rpe/rmr.go index cb311a8..80323a3 100644 --- a/pkg/rpe/rmr.go +++ b/pkg/rpe/rmr.go @@ -31,8 +31,10 @@ package rpe import ( + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" "routing-manager/pkg/rtmgr" "strconv" + "strings" ) type Rmr struct { @@ -51,7 +53,7 @@ func NewRmrPush() *RmrPush { /* Produces the raw route message consumable by RMR */ -func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { +func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, rcs *rtmgr.RicComponents, key string) *[]string { rawrt := []string{key + "newrt|start\n"} rt := r.generateRouteTable(eps) for _, rte := range *rt { @@ -77,16 +79,39 @@ func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { } } rawrte += group + + if (rte.RouteType == "%meid") { + rawrte += group + rte.RouteType + } + rawrt = append(rawrt, rawrte+"\n") } rawrt = append(rawrt, key+"newrt|end\n") - rtmgr.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt) + count := 0 + meidrt := key +"meid_map|start\n" + for e2tkey, value := range rcs.E2Ts { + xapp.Logger.Debug("rmr.E2T Key: %v", e2tkey) + xapp.Logger.Debug("rmr.E2T Value: %v", value) + xapp.Logger.Debug("rmr.E2T RAN List: %v", rcs.E2Ts[e2tkey].Ranlist) + if ( len(rcs.E2Ts[e2tkey].Ranlist) != 0 ) { + ranList := strings.Join(rcs.E2Ts[e2tkey].Ranlist, " ") + meidrt += key + "mme_ar|" + e2tkey + "|" + ranList + "\n" + count++ + } else { + xapp.Logger.Debug("rmr.E2T Empty RAN LIST for FQDN: %v", e2tkey) + } + } + meidrt += key+"meid_map|end|" + strconv.Itoa(count) +"\n" + + rawrt = append(rawrt, meidrt) + xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt) + xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rcs) return &rawrt } -func (r *RmrPush) GeneratePolicies(eps rtmgr.Endpoints) *[]string { - rtmgr.Logger.Debug("Invoked rmr.GeneratePolicies, args: %v: ", eps) - return r.generateRMRPolicies(eps, "") +func (r *RmrPush) GeneratePolicies(eps rtmgr.Endpoints, rcs *rtmgr.RicComponents) *[]string { + xapp.Logger.Debug("Invoked rmr.GeneratePolicies, args: %v: ", eps) + return r.generateRMRPolicies(eps, rcs, "") } func (r *RmrPush) GenerateRouteTable(eps rtmgr.Endpoints) *rtmgr.RouteTable {