2 ==================================================================================
3 Copyright (c) 2019 AT&T Intellectual Property.
4 Copyright (c) 2019 Nokia
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
17 ==================================================================================
23 "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/xapptweaks"
24 "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp"
29 //-----------------------------------------------------------------------------
31 //-----------------------------------------------------------------------------
33 type RmrRouteTable struct {
39 func (rrt *RmrRouteTable) AddRoute(mtype int, src string, subid int, trg string) {
42 line += strconv.FormatInt(int64(mtype), 10)
47 line += strconv.FormatInt(int64(subid), 10)
50 rrt.routes = append(rrt.routes, line)
53 func (rrt *RmrRouteTable) AddMeid(trg string, meids []string) {
59 for _, str := range meids {
62 rrt.meids = append(rrt.meids, line)
65 func (rrt *RmrRouteTable) DelMeid(meids []string) {
69 for _, str := range meids {
72 rrt.meids = append(rrt.meids, line)
75 func (rrt *RmrRouteTable) FileName() string {
79 func (rrt *RmrRouteTable) Table() string {
80 allrt := "newrt|start\n"
81 for _, val := range rrt.routes {
84 allrt += "newrt|end\n"
85 allrt += "meid_map | start\n"
86 for _, val := range rrt.meids {
89 allrt += "meid_map | end | " + strconv.FormatInt(int64(len(rrt.meids)), 10) + "\n"
93 func (rrt *RmrRouteTable) Enable() {
94 if len(rrt.tmpfile) > 0 {
95 os.Remove(rrt.tmpfile)
97 rrt.tmpfile, _ = CreateTmpFile(rrt.Table())
98 os.Setenv("RMR_SEED_RT", rrt.tmpfile)
99 xapp.Logger.Info("Using rt file %s", os.Getenv("RMR_SEED_RT"))
102 func (rrt *RmrRouteTable) Disable() {
103 if len(rrt.tmpfile) > 0 {
104 os.Remove(rrt.tmpfile)
105 os.Unsetenv("RMR_SEED_RT")
107 xapp.Logger.Info("Not using rt file ")
111 //-----------------------------------------------------------------------------
113 //-----------------------------------------------------------------------------
115 type RmrSrcId struct {
116 xapptweaks.RmrEndpoint
119 func (rsi *RmrSrcId) Enable() {
121 os.Setenv("RMR_SRC_ID", rsi.String())
122 xapp.Logger.Info("Using src id %s", os.Getenv("RMR_SRC_ID"))
126 func (rsi *RmrSrcId) Disable() {
127 os.Unsetenv("RMR_SRC_ID")
128 xapp.Logger.Info("Not using Using src id")
131 //-----------------------------------------------------------------------------
133 //-----------------------------------------------------------------------------
134 type RmrRtgSvc struct {
135 xapptweaks.RmrEndpoint
138 func (rrs *RmrRtgSvc) Enable() {
140 os.Setenv("RMR_RTG_SVC", rrs.String())
141 xapp.Logger.Info("Using rtg svc %s", os.Getenv("RMR_SRC_ID"))
145 func (rrs *RmrRtgSvc) Disable() {
146 os.Unsetenv("RMR_RTG_SVC")
147 xapp.Logger.Info("Not using Using rtg svc")