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/xapp-frame/pkg/xapp"
28 //-----------------------------------------------------------------------------
30 //-----------------------------------------------------------------------------
32 type RmrRouteTable struct {
38 func (rrt *RmrRouteTable) AddRoute(mtype int, src string, subid int, trg string) {
41 line += strconv.FormatInt(int64(mtype), 10)
46 line += strconv.FormatInt(int64(subid), 10)
49 rrt.routes = append(rrt.routes, line)
52 func (rrt *RmrRouteTable) AddMeid(trg string, meids []string) {
58 for _, str := range meids {
61 rrt.meids = append(rrt.meids, line)
64 func (rrt *RmrRouteTable) DelMeid(meids []string) {
68 for _, str := range meids {
71 rrt.meids = append(rrt.meids, line)
74 func (rrt *RmrRouteTable) FileName() string {
78 func (rrt *RmrRouteTable) Table() string {
79 allrt := "newrt|start\n"
80 for _, val := range rrt.routes {
83 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 rrt.tmpfile, _ = CreateTmpFile(rrt.Table())
97 os.Setenv("RMR_SEED_RT", rrt.tmpfile)
98 os.Setenv("RMR_RTG_SVC", "-1")
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")
106 os.Unsetenv("RMR_RTG_SVC")
108 xapp.Logger.Info("Not using rt file ")
112 //-----------------------------------------------------------------------------
114 //-----------------------------------------------------------------------------
116 type RmrSrcId struct {
120 func (rsi *RmrSrcId) Enable() {
122 os.Setenv("RMR_SRC_ID", rsi.String())
123 xapp.Logger.Info("Using src id %s", os.Getenv("RMR_SRC_ID"))
127 func (rsi *RmrSrcId) Disable() {
128 os.Unsetenv("RMR_SRC_ID")
129 xapp.Logger.Info("Not using Using src id")
132 //-----------------------------------------------------------------------------
134 //-----------------------------------------------------------------------------
135 type RmrRtgSvc struct {
139 func (rrs *RmrRtgSvc) Enable() {
141 os.Setenv("RMR_RTG_SVC", rrs.String())
142 xapp.Logger.Info("Using rtg svc %s", os.Getenv("RMR_SRC_ID"))
146 func (rrs *RmrRtgSvc) Disable() {
147 os.Unsetenv("RMR_RTG_SVC")
148 xapp.Logger.Info("Not using Using rtg svc")