Skip to content

Commit 8b3d8c8

Browse files
Bump golang from 1.22.6-bookworm to 1.23.0-bookworm (#72)
1 parent 4d11a1d commit 8b3d8c8

File tree

8 files changed

+66
-62
lines changed

8 files changed

+66
-62
lines changed

.github/workflows/master.yml

+14
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,20 @@ jobs:
3232
- name: Build Docker image
3333
run: make docker-build
3434

35+
staticcheck:
36+
runs-on: ubuntu-latest
37+
steps:
38+
- uses: actions/checkout@v4
39+
40+
- uses: WillAbides/setup-go-faster@v1.14.0
41+
with:
42+
go-version-file: 'go.mod'
43+
44+
- uses: dominikh/staticcheck-action@v1.3.1
45+
with:
46+
version: latest
47+
install-go: false
48+
3549
lint:
3650
runs-on: ubuntu-latest
3751
steps:

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# SPDX-License-Identifier: Apache-2.0
55
#
66

7-
FROM golang:1.22.6-bookworm AS builder
7+
FROM golang:1.23.0-bookworm AS builder
88

99
LABEL maintainer="Aether SD-Core <dev@lists.aetherproject.org>"
1010

backend/grpc.go

+12-11
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
gClient "github.com/omec-project/sctplb/sdcoreAmfServer"
1515
"google.golang.org/grpc"
1616
"google.golang.org/grpc/connectivity"
17+
"google.golang.org/grpc/credentials/insecure"
1718
)
1819

1920
func (b *GrpcServer) ConnectToServer(port int) {
@@ -22,7 +23,7 @@ func (b *GrpcServer) ConnectToServer(port int) {
2223
fmt.Println("Connecting to target ", target)
2324

2425
var err error
25-
b.conn, err = grpc.Dial(target, grpc.WithInsecure())
26+
b.conn, err = grpc.NewClient(target, grpc.WithTransportCredentials(insecure.NewCredentials()))
2627

2728
if err != nil {
2829
fmt.Println("did not connect: ", err)
@@ -58,20 +59,20 @@ func (b *GrpcServer) ConnectToServer(port int) {
5859
if err := stream.Send(&req); err != nil {
5960
logger.AppLog.Println("can not send: ", err)
6061
}
61-
logger.AppLog.Println("Send Request message")
62+
logger.AppLog.Println("send Request message")
6263
response, err := stream.Recv()
6364
if err != nil {
64-
logger.AppLog.Println("Response from server: error ", err)
65+
logger.AppLog.Println("response from server: error ", err)
6566
b.state = false
6667
} else {
67-
logger.AppLog.Printf("Init Response from Server %s server: %s\n", response.AmfId, response.VerboseMsg)
68+
logger.AppLog.Printf("init Response from Server %s server: %s\n", response.AmfId, response.VerboseMsg)
6869
b.state = true
6970
}
7071
return true
7172
})
7273
break
7374
}
74-
if b.state == true {
75+
if b.state {
7576
go b.connectionOnState()
7677
go b.readFromServer()
7778
}
@@ -81,19 +82,19 @@ func (b *GrpcServer) readFromServer() {
8182
for {
8283
response, err := b.stream.Recv()
8384
if err != nil {
84-
logger.GrpcLog.Printf("Error in Recv %v, Stop listening for this server %v ", err, b.address)
85+
logger.GrpcLog.Printf("error in Recv %v, Stop listening for this server %v", err, b.address)
8586
deleteBackendNF(b)
8687
return
8788
} else {
8889
if response.Msgtype == gClient.MsgType_INIT_MSG {
89-
logger.GrpcLog.Printf("Init Response from Server %s server: %s", response.AmfId, response.VerboseMsg)
90+
logger.GrpcLog.Printf("init Response from Server %s server: %s", response.AmfId, response.VerboseMsg)
9091
} else if response.Msgtype == gClient.MsgType_REDIRECT_MSG {
9192
var found bool
9293
ctx := context.Sctplb_Self()
9394
for _, instance := range ctx.Backends {
9495
b1 := instance.(*GrpcServer)
9596
if b1.address == response.RedirectId {
96-
if b1.state == false {
97+
if !b1.state {
9798
logger.GrpcLog.Printf("backend state is not in READY state, so not forwarding redirected Msg")
9899
} else {
99100
t := gClient.SctplbMessage{}
@@ -119,13 +120,13 @@ func (b *GrpcServer) readFromServer() {
119120
var ran *context.Ran
120121
// fetch ran connection based on GnbId
121122
if response.GnbId == "" {
122-
logger.RanLog.Printf("Received null GnbId from backend NF")
123+
logger.RanLog.Printf("received null GnbId from backend NF")
123124
} else if response.GnbIpAddr != "" {
124125
// GnbId may present NGSetupreponse/failure receives from NF
125126
ran, _ = context.Sctplb_Self().RanFindByGnbIp(response.GnbIpAddr)
126127
if ran != nil && response.GnbId != "" {
127128
ran.SetRanId(response.GnbId)
128-
logger.RanLog.Printf("Received GnbId: %v for GNbIpAddress: %v from NF", response.GnbId, response.GnbIpAddr)
129+
logger.RanLog.Printf("received GnbId: %v for GNbIpAddress: %v from NF", response.GnbId, response.GnbIpAddr)
129130
}
130131
} else if response.GnbId != "" {
131132
ran, _ = context.Sctplb_Self().RanFindByGnbId(response.GnbId)
@@ -136,7 +137,7 @@ func (b *GrpcServer) readFromServer() {
136137
logger.RanLog.Printf("err %+v", err)
137138
}
138139
} else {
139-
logger.RanLog.Printf("Couldn't fetch sctp connection with GnbId: %v", response.GnbId)
140+
logger.RanLog.Printf("couldn't fetch sctp connection with GnbId: %v", response.GnbId)
140141
}
141142
}
142143
}

backend/sched.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func (b BackendSvc) DispatchAddServer() {
6767
break
6868
}
6969
}
70-
if found == true {
70+
if found {
7171
continue
7272
}
7373
logger.DiscoveryLog.Infoln("New Server found IPv4: ", ipv4.String())

backend/service.go

+33-37
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ func ServiceRun(addresses []string, port int) {
4848

4949
for _, addr := range addresses {
5050
if netAddr, err := net.ResolveIPAddr("ip", addr); err != nil {
51-
logger.SctpLog.Errorf("Error resolving address '%s': %v\n", addr, err)
51+
logger.SctpLog.Errorf("error resolving address '%s': %v\n", addr, err)
5252
} else {
53-
logger.SctpLog.Debugf("Resolved address '%s' to %s\n", addr, netAddr)
53+
logger.SctpLog.Debugf("resolved address '%s' to %s\n", addr, netAddr)
5454
ips = append(ips, *netAddr)
5555
}
5656
}
@@ -65,78 +65,78 @@ func ServiceRun(addresses []string, port int) {
6565

6666
func listenAndServe(addr *sctp.SCTPAddr, handler SCTPHandler) {
6767
if listener, err := sctpConfig.Listen("sctp", addr); err != nil {
68-
logger.SctpLog.Errorf("Failed to listen: %+v", err)
68+
logger.SctpLog.Errorf("failed to listen: %+v", err)
6969
return
7070
} else {
7171
sctpListener = listener
7272
}
7373

74-
logger.SctpLog.Infof("Listen on %s", sctpListener.Addr())
74+
logger.SctpLog.Infof("listen on %s", sctpListener.Addr())
7575

7676
for {
7777
newConn, err := sctpListener.AcceptSCTP()
7878
if err != nil {
7979
switch err {
8080
case syscall.EINTR, syscall.EAGAIN:
81-
logger.SctpLog.Debugf("AcceptSCTP: %+v", err)
81+
logger.SctpLog.Debugf("acceptSCTP: %+v", err)
8282
default:
83-
logger.SctpLog.Errorf("Failed to accept: %+v", err)
83+
logger.SctpLog.Errorf("failed to accept: %+v", err)
8484
}
8585
continue
8686
}
8787

8888
var info *sctp.SndRcvInfo
8989
if infoTmp, err := newConn.GetDefaultSentParam(); err != nil {
90-
logger.SctpLog.Errorf("Get default sent param error: %+v, accept failed", err)
90+
logger.SctpLog.Errorf("get default sent param error: %+v, accept failed", err)
9191
if err = newConn.Close(); err != nil {
92-
logger.SctpLog.Errorf("Close error: %+v", err)
92+
logger.SctpLog.Errorf("close error: %+v", err)
9393
}
9494
continue
9595
} else {
9696
info = infoTmp
97-
logger.SctpLog.Debugf("Get default sent param[value: %+v]", info)
97+
logger.SctpLog.Debugf("get default sent param[value: %+v]", info)
9898
}
9999

100100
info.PPID = ngap.PPID
101101
if err := newConn.SetDefaultSentParam(info); err != nil {
102-
logger.SctpLog.Errorf("Set default sent param error: %+v, accept failed", err)
102+
logger.SctpLog.Errorf("set default sent param error: %+v, accept failed", err)
103103
if err = newConn.Close(); err != nil {
104-
logger.SctpLog.Errorf("Close error: %+v", err)
104+
logger.SctpLog.Errorf("close error: %+v", err)
105105
}
106106
continue
107107
} else {
108-
logger.SctpLog.Debugf("Set default sent param[value: %+v]", info)
108+
logger.SctpLog.Debugf("set default sent param[value: %+v]", info)
109109
}
110110

111111
events := sctp.SCTP_EVENT_DATA_IO | sctp.SCTP_EVENT_SHUTDOWN | sctp.SCTP_EVENT_ASSOCIATION
112112
if err := newConn.SubscribeEvents(events); err != nil {
113-
logger.SctpLog.Errorf("Failed to accept: %+v", err)
113+
logger.SctpLog.Errorf("failed to accept: %+v", err)
114114
if err = newConn.Close(); err != nil {
115-
logger.SctpLog.Errorf("Close error: %+v", err)
115+
logger.SctpLog.Errorf("close error: %+v", err)
116116
}
117117
continue
118118
} else {
119119
logger.SctpLog.Debugln("Subscribe SCTP event[DATA_IO, SHUTDOWN_EVENT, ASSOCIATION_CHANGE]")
120120
}
121121

122122
if err := newConn.SetReadBuffer(int(readBufSize)); err != nil {
123-
logger.SctpLog.Errorf("Set read buffer error: %+v, accept failed", err)
123+
logger.SctpLog.Errorf("set read buffer error: %+v, accept failed", err)
124124
if err = newConn.Close(); err != nil {
125-
logger.SctpLog.Errorf("Close error: %+v", err)
125+
logger.SctpLog.Errorf("close error: %+v", err)
126126
}
127127
continue
128128
} else {
129-
logger.SctpLog.Debugf("Set read buffer to %d bytes", readBufSize)
129+
logger.SctpLog.Debugf("set read buffer to %d bytes", readBufSize)
130130
}
131131

132132
if err := newConn.SetReadTimeout(readTimeout); err != nil {
133-
logger.SctpLog.Errorf("Set read timeout error: %+v, accept failed", err)
133+
logger.SctpLog.Errorf("set read timeout error: %+v, accept failed", err)
134134
if err = newConn.Close(); err != nil {
135-
logger.SctpLog.Errorf("Close error: %+v", err)
135+
logger.SctpLog.Errorf("close error: %+v", err)
136136
}
137137
continue
138138
} else {
139-
logger.SctpLog.Debugf("Set read timeout: %+v", readTimeout)
139+
logger.SctpLog.Debugf("set read timeout: %+v", readTimeout)
140140
}
141141

142142
logger.SctpLog.Infof("[AMF] SCTP Accept from: %s", newConn.RemoteAddr().String())
@@ -158,8 +158,7 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
158158
connections.Delete(conn)
159159
}()
160160

161-
var GnbConnChan chan bool
162-
GnbConnChan = make(chan bool)
161+
GnbConnChan := make(chan bool)
163162

164163
go func() {
165164
for {
@@ -169,7 +168,7 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
169168
if err != nil {
170169
switch err {
171170
case io.EOF, io.ErrUnexpectedEOF:
172-
logger.SctpLog.Debugln("Read EOF from client")
171+
logger.SctpLog.Debugln("read EOF from client")
173172
GnbConnChan <- false
174173
return
175174
case syscall.EAGAIN:
@@ -179,7 +178,7 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
179178
logger.SctpLog.Debugf("SCTPRead: %+v", err)
180179
continue
181180
default:
182-
logger.SctpLog.Errorf("Handle connection[addr: %+v] error: %+v", conn.RemoteAddr(), err)
181+
logger.SctpLog.Errorf("handle connection[addr: %+v] error: %+v", conn.RemoteAddr(), err)
183182
GnbConnChan <- false
184183
return
185184
}
@@ -188,33 +187,30 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
188187
if notification != nil {
189188
p, ok := connections.Load(conn)
190189
if !ok {
191-
logger.SctpLog.Infof("Notification for unknown connection")
190+
logger.SctpLog.Infof("notification for unknown connection")
192191
} else {
193192
peer := p.(*SctpConnections)
194-
logger.SctpLog.Warnf("Handle SCTP Notification[addr: %+v], peer %v ", conn.RemoteAddr(), peer)
193+
logger.SctpLog.Warnf("handle SCTP Notification[addr: %+v], peer %v ", conn.RemoteAddr(), peer)
195194
GnbConnChan <- false
196195
}
197196
} else {
198197
if info == nil || info.PPID != ngap.PPID {
199-
logger.SctpLog.Warnln("Received SCTP PPID != 60, discard this packet")
198+
logger.SctpLog.Warnln("received SCTP PPID != 60, discard this packet")
200199
continue
201200
}
202201

203-
logger.SctpLog.Tracef("Read %d bytes", n)
204-
logger.SctpLog.Tracef("Packet content:\n%+v", hex.Dump(buf[:n]))
202+
logger.SctpLog.Tracef("read %d bytes", n)
203+
logger.SctpLog.Tracef("packet content:\n%+v", hex.Dump(buf[:n]))
205204

206205
handler.HandleMessage(conn, buf[:n])
207206
}
208207
}
209208
}()
210209

211-
for {
212-
select {
213-
case x := <-GnbConnChan:
214-
logger.SctpLog.Errorln("Closing gnb Connection ", x)
215-
buf := make([]byte, bufsize)
216-
handler.HandleMessage(conn, buf[:0])
217-
return
218-
}
210+
for x := range GnbConnChan {
211+
logger.SctpLog.Errorln("closing gnb Connection ", x)
212+
buf := make([]byte, bufsize)
213+
handler.HandleMessage(conn, buf[:0])
214+
return
219215
}
220216
}

config/config.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ package config
66

77
import (
88
"errors"
9-
"io/ioutil"
9+
"os"
1010

1111
"github.com/omec-project/sctplb/logger"
1212
"gopkg.in/yaml.v2"
@@ -39,8 +39,8 @@ type Configuration struct {
3939

4040
func InitConfigFactory(f string) (Config, error) {
4141
var SimappConfig Config
42-
if content, err := ioutil.ReadFile(f); err != nil {
43-
logger.CfgLog.Errorf("Readfile failed called %v", err)
42+
if content, err := os.ReadFile(f); err != nil {
43+
logger.CfgLog.Errorf("readfile failed called %v", err)
4444
return SimappConfig, err
4545
} else {
4646
SimappConfig = Config{}
@@ -51,8 +51,8 @@ func InitConfigFactory(f string) (Config, error) {
5151
}
5252
}
5353
if SimappConfig.Configuration == nil {
54-
logger.CfgLog.Errorf("Configuration Parsing Failed %v", SimappConfig.Configuration)
55-
return SimappConfig, errors.New("Configuration Parsing Failed")
54+
logger.CfgLog.Errorf("configuration parsing failed %v", SimappConfig.Configuration)
55+
return SimappConfig, errors.New("configuration parsing failed")
5656
}
5757
return SimappConfig, nil
5858
}

context/context.go

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ type SctplbContext struct {
2525

2626
var (
2727
nfNum int
28-
next int
2928
mutex sync.Mutex
3029
)
3130

sctplb.go

-6
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@ import (
1212
"github.com/omec-project/sctplb/logger"
1313
)
1414

15-
const (
16-
add_op = iota
17-
modify_op
18-
delete_op
19-
)
20-
2115
func main() {
2216
logger.AppLog.Println("SCTP LB started")
2317

0 commit comments

Comments
 (0)