Code Review
/
ric-plt
/
rtmgr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
MEID table corruption due to index mismatch
[ric-plt/rtmgr.git]
/
pkg
/
rpe
/
rmr.go
diff --git
a/pkg/rpe/rmr.go
b/pkg/rpe/rmr.go
index
c1f126c
..
5447693
100644
(file)
--- a/
pkg/rpe/rmr.go
+++ b/
pkg/rpe/rmr.go
@@
-79,10
+79,11
@@
func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, rcs *rtmgr.RicComponents,
group += ";" + member
}
}
group += ";" + member
}
}
- rawrte += group
if rte.RouteType == "%meid" {
if rte.RouteType == "%meid" {
- rawrte += group + rte.RouteType
+ rawrte += "%" + "meid"
+ } else {
+ rawrte += group
}
rawrt = append(rawrt, rawrte+"\n")
}
rawrt = append(rawrt, rawrte+"\n")
@@
-112,14
+113,16
@@
func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, rcs *rtmgr.RicComponents,
mapindex := "mme_del|" + MEID + "\n"
i := keys[mapindex].index
if keys[mapindex].flag {
mapindex := "mme_del|" + MEID + "\n"
i := keys[mapindex].index
if keys[mapindex].flag {
- copy(rawrt[i:], rawrt[i+1:])
- rawrt[len(rawrt)-1] = ""
- rawrt = rawrt[:len(rawrt)-1]
+ //copy(rawrt[i:], rawrt[i+1:])
+ //rawrt[len(rawrt)-1] = ""
+ //rawrt = rawrt[:len(rawrt)-1]
+ rawrt[i] = ""
delete(keys, mapindex)
count--
}
}
}
delete(keys, mapindex)
count--
}
}
}
+ rawrt = removeEmptyStrings(rawrt)
rawrt = append(rawrt, key+"meid_map|end|"+strconv.Itoa(count)+"\n")
xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt)
rawrt = append(rawrt, key+"meid_map|end|"+strconv.Itoa(count)+"\n")
xapp.Logger.Debug("rmr.GeneratePolicies returns: %v", rawrt)
@@
-155,10
+158,11
@@
func (r *Rmr) generatePartialRMRPolicies(eps rtmgr.Endpoints, xappSubData *model
group += ";" + member
}
}
group += ";" + member
}
}
- rawrte += group
if rte.RouteType == "%meid" {
if rte.RouteType == "%meid" {
- rawrte += group + rte.RouteType
+ rawrte += "%" + "meid"
+ } else {
+ rawrte += group
}
rawrt = append(rawrt, rawrte+"\n")
}
rawrt = append(rawrt, rawrte+"\n")
@@
-180,6
+184,16
@@
func (r *RmrPush) GenerateRouteTable(eps rtmgr.Endpoints) *rtmgr.RouteTable {
}
func (r *RmrPush) GeneratePartialPolicies(eps rtmgr.Endpoints, xappSubData *models.XappSubscriptionData, updatetype rtmgr.RMRUpdateType) *[]string {
}
func (r *RmrPush) GeneratePartialPolicies(eps rtmgr.Endpoints, xappSubData *models.XappSubscriptionData, updatetype rtmgr.RMRUpdateType) *[]string {
- xapp.Logger.Debug("Invoked rmr.GeneratePartial
RMR
, args: %v: ", eps)
+ xapp.Logger.Debug("Invoked rmr.GeneratePartial
Policies
, args: %v: ", eps)
return r.generatePartialRMRPolicies(eps, xappSubData, "", updatetype)
}
return r.generatePartialRMRPolicies(eps, xappSubData, "", updatetype)
}
+
+func removeEmptyStrings(s []string) []string {
+ var r []string
+ for _, str := range s {
+ if str != "" {
+ r = append(r, str)
+ }
+ }
+ return r
+}