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"
86 allrt += "meid_map | start\n"
87 for _, val := range rrt.meids {
90 allrt += "meid_map | end | " + strconv.FormatInt(int64(len(rrt.meids)), 10) + "\n"
94 func (rrt *RmrRouteTable) Enable() {
95 if len(rrt.tmpfile) == 0 {
96 rrt.tmpfile, _ = CreateTmpFile(rrt.Table())
98 os.Setenv("RMR_SEED_RT", rrt.tmpfile)
99 os.Setenv("RMR_RTG_SVC", "-1")
100 xapp.Logger.Info("Using rt file %s", os.Getenv("RMR_SEED_RT"))
103 func (rrt *RmrRouteTable) Disable() {
104 if len(rrt.tmpfile) > 0 {
105 os.Remove(rrt.tmpfile)
106 os.Unsetenv("RMR_SEED_RT")
107 os.Unsetenv("RMR_RTG_SVC")
109 xapp.Logger.Info("Not using rt file ")
113 //-----------------------------------------------------------------------------
115 //-----------------------------------------------------------------------------
117 type RmrSrcId struct {
118 xapptweaks.RmrEndpoint
121 func (rsi *RmrSrcId) Enable() {
123 os.Setenv("RMR_SRC_ID", rsi.String())
124 xapp.Logger.Info("Using src id %s", os.Getenv("RMR_SRC_ID"))
128 func (rsi *RmrSrcId) Disable() {
129 os.Unsetenv("RMR_SRC_ID")
130 xapp.Logger.Info("Not using Using src id")
133 //-----------------------------------------------------------------------------
135 //-----------------------------------------------------------------------------
136 type RmrRtgSvc struct {
137 xapptweaks.RmrEndpoint
140 func (rrs *RmrRtgSvc) Enable() {
142 os.Setenv("RMR_RTG_SVC", rrs.String())
143 xapp.Logger.Info("Using rtg svc %s", os.Getenv("RMR_SRC_ID"))
147 func (rrs *RmrRtgSvc) Disable() {
148 os.Unsetenv("RMR_RTG_SVC")
149 xapp.Logger.Info("Not using Using rtg svc")