my5g / my5g-rantester Goto Github PK
View Code? Open in Web Editor NEWmy5G-RANTester is a gNB/UE simulator for studying 3GPP standards and stressing a 5G core.
License: Apache License 2.0
my5G-RANTester is a gNB/UE simulator for studying 3GPP standards and stressing a 5G core.
License: Apache License 2.0
HI
I am testing currently with oai-5gcn. UE is registered successfully to core network, but I am not able to perform traffic test.
I have used docker container with two different networks for control and data plane as shown below -
Is that okay to use different network interface for data plane as below ?
gnodeb:
controlif:
ip: "192.168.70.143"
port: 9487
dataif:
ip: "192.168.72.143"
port: 2152
plmnlist:
mcc: "208"
mnc: "95"
tac: "00a000"
gnbid: "000003"
slicesupportlist:
sst: "de"
sd: "00007b"
ue:
msin: "0000000043"
key: "0C0A34601D4F07677303652C0462535B"
opc: "63bfa50ee6523365ff14c1f45f88737d"
amf: "8000"
sqn: "0000000"
dnn: "default"
hplmn:
mcc: "208"
mnc: "95"
snssai:
sst: 222
sd: "00007b"
amfif:
ip: "192.168.70.132"
port: 38412
Logs at Tester ->
time="2022-03-08T08:49:27Z" level=info msg="[GNB][NGAP][UE] Uplink Teid: 213144499"
time="2022-03-08T08:49:27Z" level=info msg="[GNB][NGAP][UE] Downlink Teid: 1"
time="2022-03-08T08:49:27Z" level=info msg="[GNB][NGAP][UE] Non-Dynamic-5QI: 6"
time="2022-03-08T08:49:27Z" level=info msg="[GNB][NGAP][UE] Priority Level ARP: 1"
time="2022-03-08T08:49:27Z" level=info msg="[GNB][NGAP][UE] UPF Address: 192.168.72.202 :2152"
time="2022-03-08T08:49:27Z" level=info msg="[UE][NAS] Message with security header"
time="2022-03-08T08:49:27Z" level=info msg="[UE][NAS] Message with integrity and ciphered"
time="2022-03-08T08:49:27Z" level=info msg="[UE][NAS] successful NAS MAC verification"
time="2022-03-08T08:49:27Z" level=info msg="[UE][NAS] successful NAS CIPHERING"
time="2022-03-08T08:49:27Z" level=info msg="[UE][NAS] Receive DL NAS Transport"
time="2022-03-08T08:49:27Z" level=info msg="[UE][NAS] Receiving PDU Session Establishment Accept"
time="2022-03-08T08:49:32Z" level=info msg="[UE][DATA] UE is ready for using data plane"
time="2022-03-08T08:49:44Z" level=info msg="[GNB][GTP] N3 GTP/UDP is not setting"
time="2022-03-08T08:49:45Z" level=info msg="[GNB][GTP] N3 GTP/UDP is not setting"
time="2022-03-08T08:49:46Z" level=info msg="[GNB][GTP] N3 GTP/UDP is not setting"
time="2022-03-08T08:49:47Z" level=info msg="[GNB][GTP] N3 GTP/UDP is not setting"
Hi,
I'm using the docker environment (https://github.com/my5G/my5G-RANTester/wiki/Using-containers). When I run sudo docker-compose up -d
the tester container exits immediately. When I try to run a new container, overriding the entrypoint and creating a shell, it doesn't have the uetun. Do you know how to solve this issue?
docker container logs tester
:
I tried editing the tester container's volume in docker-compose.yml this way
volumes:
- ./config/tester.yaml:/workspace/my5G-RANTester/config/tester.yml
Hi,
Open5gs is in the process of adding roaming support to the 5G core open5gs/open5gs#2194, the implication of this is that the UE will have to use a different MCC/MNC for the UE instead of the one configured for the gNB.
Can you consider adding this feature?
Thanks
On running app ue
, get this crash:
ubuntu@ubuntu-server:~/my5G-RANTester/cmd$ ./app ue
INFO[0000] my5G-RANTester version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing an ue attached with configuration
INFO[0000] [TESTER][UE] Number of UEs: 1
INFO[0000] [TESTER][GNB] Control interface IP/Port: 192.168.60.1/9487
INFO[0000] [TESTER][GNB] Data interface IP/Port: 192.168.60.1/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 192.168.60.142/38412
INFO[0000] ---------------------------------------
INFO[0000] [GNB] SCTP/NGAP service is running
INFO[0000] [GNB] UNIX/NAS service is running
INFO[0000] [GNB][SCTP] Receive message in 0 stream
INFO[0000] [GNB][NGAP] Receive Ng Setup Response
INFO[0000] [GNB][AMF] AMF Name: MAGMAAMF1
INFO[0000] [GNB][AMF] State of AMF: Active
INFO[0000] [GNB][AMF] Capacity of AMF: 11
INFO[0000] [GNB][AMF] PLMNs Identities Supported by AMF -- mcc: 001 mnc:01
INFO[0000] [GNB][AMF] List of AMF slices Supported by AMF -- sst:01 sd:was not informed
INFO[0001] [UE] UNIX/NAS service is running
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive Downlink NAS Transport
INFO[0001] [UE][NAS] Message without security header
INFO[0001] [UE][NAS] Receive Authentication Request
INFO[0001] [UE][NAS][MAC] Authenticity of the authentication request message: OK
INFO[0001] [UE][NAS][SQN] SQN of the authentication request message: VALID
INFO[0001] [UE][NAS] Send authentication response
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive Downlink NAS Transport
INFO[0001] [UE][NAS] Message with security header
INFO[0001] [UE][NAS] Message with integrity and with NEW 5G NAS SECURITY CONTEXT
INFO[0001] [UE][NAS] successful NAS MAC verification
INFO[0001] [UE][NAS] Receive Security Mode Command
INFO[0001] [UE][NAS] Type of ciphering algorithm is 5G-EA0
INFO[0001] [UE][NAS] Type of integrity protection algorithm is 128-5G-IA2
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x2 pc=0x69b7cc]
goroutine 38 [running]:
my5G-RANTester/lib/nas/nasType.(*Additional5GSecurityInformation).GetRINMR(...)
/home/ubuntu/my5G-RANTester/lib/nas/nasType/NAS_Additional5GSecurityInformation.go:45
my5G-RANTester/internal/control_test_engine/ue/nas/handler.HandlerSecurityModeCommand(0xc0000b8000?, 0xc000217480)
/home/ubuntu/my5G-RANTester/internal/control_test_engine/ue/nas/handler/handler.go:83 +0x28c
my5G-RANTester/internal/control_test_engine/ue/nas.DispatchNas(0xc00020a000, {0xc0002143f0, 0x12, 0x12})
/home/ubuntu/my5G-RANTester/internal/control_test_engine/ue/nas/dispatcher.go:142 +0xc9a
my5G-RANTester/internal/control_test_engine/ue/state.DispatchState(0xc00010e680?, {0xc0002143f0?, 0x2a?, 0x2a?})
/home/ubuntu/my5G-RANTester/internal/control_test_engine/ue/state/dispatch.go:15 +0x47
created by my5G-RANTester/internal/control_test_engine/ue/nas/service.UeListen
/home/ubuntu/my5G-RANTester/internal/control_test_engine/ue/nas/service/service.go:59 +0x5b
ubuntu@ubuntu-server:~/my5G-RANTester/cmd$
Attaching the pcap of the packets exchanged with core, and config used.
crash-on-registration.zip
Hi my5G-RANTester Team,
I've wanted to mention that we just released PacketRusher, our fork of my5G-RANTester dedicated to the performance testing of both user plane and control plane. We refactored quite a lot the control plane (and implemented more procedures eg. handover, deregistration, multiple UEs/gNodeB in a single tool..), and we now use the free5gc's gtp5g module of user plane.
We are also in the process of adding integration testing by mocking an AMF.
It's still in the early days, and we are missing documentation and stuff.
We release our code under the Apache 2.0 licence, so we hope our changes will help you, and that we could collaborate!
Thanks a lot for the nice project and cheers,
Valentin
Hi
What are the maximum number of UEs are supported or tested with my5G-RANTester ?
Hi,
I tried the earlier version of my5GRANtester a month ago and it used to work fine. Today I tried installing it in another computer and noticed there is an update to the code. However I am getting th efollowing error after installation, when I try running
./app ue
manoj20@manoj20-Macmini:~/my5G-RANTester/cmd$ ./app ue
INFO[0000] my5G-RANTester version 0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing an ue attached with configuration
INFO[0000] [TESTER][UE] Number of UEs: 1
INFO[0000] [TESTER][GNB] Control interface IP/Port: 127.0.0.1/9487
INFO[0000] [TESTER][GNB] Data interface IP/Port: 127.0.0.1/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 127.0.0.1/38412
INFO[0000] ---------------------------------------
INFO[0000] [GNB] SCTP/NGAP service is running
INFO[0000] [GNB] UNIX/NAS service is running
INFO[0000] [GNB][SCTP] Receive message in %d stream
0
panic: runtime error: invalid memory address or nil pointer dereference
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x6c5806]
goroutine 11 [running]:
my5G-RANTester/internal/control_test_engine/gnb/nas/service.gnbListen.func1(0x0, 0x0, 0xc000073a00)
/home/manoj20/my5G-RANTester/internal/control_test_engine/gnb/nas/service/service.go:43 +0x26
panic(0x87a040, 0xd50260)
/usr/local/go/src/runtime/panic.go:969 +0x166
my5G-RANTester/internal/control_test_engine/gnb/nas/service.gnbListen(0xc000073a00)
/home/manoj20/my5G-RANTester/internal/control_test_engine/gnb/nas/service/service.go:51 +0xeb
created by my5G-RANTester/internal/control_test_engine/gnb/nas/service.InitServer
/home/manoj20/my5G-RANTester/internal/control_test_engine/gnb/nas/service/service.go:33 +0x1d
Hi! Thank you for such a great project.
I like the part of latency test that can reflect the core's performance.
Currently it only supports latency testing for UE registration. Do you ever consider adding a new function of testing the latency of PDU session establishment?
I appreciate a lot if you can implement that!
Hello,
Following the guidance you have provided me about increasing the UPF's buffer size, it seems it worked fine to register 100 UEs. My problem was, indeed that I needed to "make UPF" again so many thanks for this, in Free5GC they do not specify this.
Following with this subject, I have been assinged to study Free5GC capabilities, one of them is to study its limits in terms of the number of UEs registrated that it can support. Since it seems that increasing such buffer increases the maximum number of UEs allowed, my question is this: Have you got to any conclusion abouta maximum number of UEs that can be registered? What about the maximum number of UEs to be registered at the same time? I do not know if I will get to a conlcussion if I just keep rising the buffer and the number of UEs to register, both simultaneously and consecutively.
On the other subject I commented in the forum with you, I'm trying to conect the core network to internet, first with a single ping to, for instance, Google DNS (8.8.8.8). I have tried to put such address in the config file but I do not get a response. I guess something is wrog with my network configuration but I cannot find my error. The following script is used in my run.sh for the core network where you can see how I create and delete my network interfaces and iptables . My laptopt local IP address is 102.168.1.60 in the wlp2s0 interface:
sudo ifconfig eno1:amf 10.100.200.3 up
sudo ifconfig eno1:gnbn 10.100.255.39 up
sudo ifconfig eno1:smfp 192.168.2.1 up
sudo ifconfig eno1:upfp 192.168.2.2 up
sudo ifconfig eno1:gnbg 10.200.200.1 up up
sudo ifconfig eno1:upfg 10.200.200.102 up
sudo ifconfig eno1:ue 60.60.0.101 up
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -s 60.60.0.0/24 -j SNAT --to-source 192.168.1.60
sudo systemctl stop ufw
Then I only change amfcfg.config, smfcfg.config and upfcfg.yaml according such interfaces.
amfcfg.config:
configuration:
amfName: AMF
ngapIpList:
- 10.100.200.3
smfcfg.config:
pfcp:
addr: 10.200.200.1
userplane_information:
up_nodes:
gNB1:
type: AN
an_ip: 192.188.2.3
UPF:
type: UPF
node_id: 10.200.200.101
links:
- A: gNB1
B: UPF
ue_subnet: 60.60.0.0/16
upfcfg.yaml:
pfcp:
- addr: 192.168.2.2
gtpu:
- addr: 10.200.200.102
# [optional] gtpu.name
# - name: upf.5gc.nctu.me
# [optional] gtpu.ifname
# - ifname: gtpif
dnn_list:
- dnn: internet
cidr: 60.60.0.0/24
# [optional] dnn_list[*].natifname
natifname: wlp2s0
With all this setup I have read in the forums I should be able to get a ping to internet, but it doesn't seem to work. I cannot even ping to my gateway 192.168.1.1. Any ideas on this?
Something which I have found these last days is that if I read the traffic with Wireshark passing through these interfaces it does not catch anything, all the traffic seems to go through the loopback interface but I do not understand why since if I do not create such interfaces the core does not start properly. the following shows my ifconfig:
eno1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:amf: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 10.100.200.3 netmask 255.0.0.0 broadcast 10.255.255.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:gnbg: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 10.200.200.1 netmask 255.0.0.0 broadcast 10.255.255.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:gnbn: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 10.100.255.39 netmask 255.0.0.0 broadcast 10.255.255.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:smfp: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:ue: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 60.60.0.101 netmask 255.0.0.0 broadcast 60.255.255.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:upfg: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 10.200.200.102 netmask 255.0.0.0 broadcast 10.255.255.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
eno1:upfp: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255
ether b8:ca:3a:d7:5b:82 txqueuelen 1000 (Ethernet)
device interrupt 20 memory 0xf7e00000-f7e20000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 202863 bytes 1021824567 (1.0 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 202863 bytes 1021824567 (1.0 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
upfgtp: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet6 fe80::1b10:b665:a53c:a039 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
RX packets 100 bytes 7600 (7.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 100 bytes 4800 (4.8 KB)
TX errors 10 dropped 0 overruns 0 carrier 0 collisions 0
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.60 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::da1d:331e:54da:adab prefixlen 64 scopeid 0x20
ether 3c:a9:f4:0c:cd:84 txqueuelen 1000 (Ethernet)
RX packets 39376 bytes 22515176 (22.5 MB)
RX errors 0 dropped 17 overruns 0 frame 0
TX packets 14098 bytes 3148792 (3.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Again thank you very much for the help offered.
I am having an issue when attempting to ping out via the tunnel interface of the virtual UE. I am using an Open5GS core with multiple physical UE connected and internet access working.
After starting the virtual GNB and UE they attach correctly with the core but the following message "N3 GTP/UDP is not setting" is repeated in the output and pings via the tunnel interface to 8.8.8.8 or google.com fail.
~/my5G-RANTester/cmd# ./app ue
INFO[0000] my5G-RANTester version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing an ue attached with configuration
INFO[0000] [TESTER][UE] Number of UEs: 1
INFO[0000] [TESTER][GNB] Control interface IP/Port: 10.18.188.80/9487
INFO[0000] [TESTER][GNB] Data interface IP/Port: 10.18.188.80/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 10.18.188.80/38412
INFO[0000] ---------------------------------------
INFO[0000] [GNB] SCTP/NGAP service is running
INFO[0000] [GNB] UNIX/NAS service is running
INFO[0000] [GNB][SCTP] Receive message in 0 stream
INFO[0000] [GNB][NGAP] Receive Ng Setup Response
INFO[0000] [GNB][AMF] AMF Name: open5gc-amf0
INFO[0000] [GNB][AMF] State of AMF: Active
INFO[0000] [GNB][AMF] Capacity of AMF: 255
INFO[0000] [GNB][AMF] PLMNs Identities Supported by AMF -- mcc: 272 mnc:42
INFO[0000] [GNB][AMF] List of AMF slices Supported by AMF -- sst:01 sd:000001
INFO[0001] [UE] UNIX/NAS service is running
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive Downlink NAS Transport
INFO[0001] [UE][NAS] Message without security header
INFO[0001] [UE][NAS] Receive Authentication Request
INFO[0001] [UE][NAS][MAC] Authenticity of the authentication request message: OK
INFO[0001] [UE][NAS][SQN] SQN of the authentication request message: VALID
INFO[0001] [UE][NAS] Send authentication response
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive Downlink NAS Transport
INFO[0001] [UE][NAS] Message with security header
INFO[0001] [UE][NAS] Message with integrity and with NEW 5G NAS SECURITY CONTEXT
INFO[0001] [UE][NAS] successful NAS MAC verification
INFO[0001] [UE][NAS] Receive Security Mode Command
INFO[0001] [UE][NAS] Type of ciphering algorithm is 5G-EA0
INFO[0001] [UE][NAS] Type of integrity protection algorithm is 128-5G-IA2
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive Initial Context Setup Request
INFO[0001] [GNB][UE] UE Context was created with successful
INFO[0001] [GNB][UE] UE RAN ID 1
INFO[0001] [GNB][UE] UE AMF ID 22
INFO[0001] [GNB][UE] UE Mobility Restrict --Plmn-- Mcc: not informed Mnc: not informed
INFO[0001] [GNB][UE] UE Masked Imeisv: 1110000000ffff00
INFO[0001] [GNB][UE] Allowed Nssai-- Sst: 01 Sd: 000001
INFO[0001] [GNB][NAS][UE] Send Registration Accept.
INFO[0001] [GNB][NGAP][AMF] Send Initial Context Setup Response.
INFO[0001] [UE][NAS] Message with security header
INFO[0001] [UE][NAS] Message with integrity and ciphered
INFO[0001] [UE][NAS] successful NAS MAC verification
INFO[0001] [UE][NAS] successful NAS CIPHERING
INFO[0001] [UE][NAS] Receive Registration Accept
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive Downlink NAS Transport
INFO[0001] [UE][NAS] Message with security header
INFO[0001] [UE][NAS] Message with integrity and ciphered
INFO[0001] [UE][NAS] successful NAS MAC verification
INFO[0001] [UE][NAS] successful NAS CIPHERING
INFO[0001] [UE][NAS] Receive Configuration Update Command
INFO[0001] [GNB][SCTP] Receive message in 1 stream
INFO[0001] [GNB][NGAP] Receive PDU Session Resource Setup Request
INFO[0001] [GNB][NGAP][UE] PDU Session was created with successful.
INFO[0001] [GNB][NGAP][UE] PDU Session Id: 1
INFO[0001] [GNB][NGAP][UE] NSSAI Selected --- sst: 01 sd: 000001
INFO[0001] [GNB][NGAP][UE] PDU Session Type: ipv4
INFO[0001] [GNB][NGAP][UE] QOS Flow Identifier: 1
INFO[0001] [GNB][NGAP][UE] Uplink Teid: 74
INFO[0001] [GNB][NGAP][UE] Downlink Teid: 1
INFO[0001] [GNB][NGAP][UE] Non-Dynamic-5QI: 9
INFO[0001] [GNB][NGAP][UE] Priority Level ARP: 8
INFO[0001] [GNB][NGAP][UE] UPF Address: 10.18.188.80 :2152
INFO[0001] [UE][NAS] Message with security header
INFO[0001] [UE][NAS] Message with integrity and ciphered
INFO[0001] [UE][NAS] successful NAS MAC verification
INFO[0001] [UE][NAS] successful NAS CIPHERING
INFO[0001] [UE][NAS] Receive DL NAS Transport
INFO[0001] [UE][NAS] Receiving PDU Session Establishment Accept
INFO[0001] [UE][DATA] UE is ready for using data plane
INFO[0008] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0015] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0041] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0047] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0051] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0057] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0099] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0099] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0127] [GNB][GTP] N3 GTP/UDP is not setting
INFO[0158] [GNB][GTP] N3 GTP/UDP is not setting
PING google.com (216.58.214.14) from X.X.X.X uetun1: 56(84) bytes of data.
From open5gc (X.X.X.X) icmp_seq=2 Destination Host Unreachable
From open5gc (X.X.X.X) icmp_seq=3 Destination Host Unreachable
From open5gc (X.X.X.X) icmp_seq=4 Destination Host Unreachable
From open5gc (X.X.X.X) icmp_seq=5 Destination Host Unreachable
From open5gc (X.X.X.X) icmp_seq=6 Destination Host Unreachable
From open5gc (X.X.X.X) icmp_seq=7 Destination Host Unreachable
Is there any IP routing required for the tunnel interface to enable internet access?
i am using open5s with amf, after i update the my5grantester docker-compose.yaml with the correct ip addresses, mnc, mcc, etc ... and try to start the test, i get the below error.
any idea how to troubleshoot this ?
root@5dedc31ab66f:/my5G-RANTester/cmd# ./entrypoint.sh
Now setting these variables '@dnn@ @GNBID@ @GTPU_LOCAL_ADDR@ @key@ @mcc@ @mnc@ @msin@ @NGAP_LOCAL_ADDR@ @NGAP_REMOTE_ADDR@ @opc@ @sd@ @SST_GNB@ @SST_UE@ @TAC@'
Done setting the configuration
Running tester
INFO[0000] my5G-RANTester version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing registration of multiple UEs
INFO[0000] [TESTER][UE] Number of UEs: 2
INFO[0000] [TESTER][GNB] gNodeB control interface IP/Port: 172.22.0.222/9487
INFO[0000] [TESTER][GNB] gNodeB data interface IP/Port: 172.22.0.222/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 172.22.0.110/38412
INFO[0000] ---------------------------------------
INFO[0000] [GNB] SCTP/NGAP service is running
INFO[0000] [GNB] UNIX/NAS service is running
panic: runtime error: slice bounds out of range [:3] with length 1
goroutine 19 [running]:
my5G-RANTester/internal/control_test_engine/gnb/context.(*GNBContext).GetMccAndMncInOctets(0xc00009f380, 0xc0000b8e40, 0xc0000c9b10, 0x4c86f7)
/my5G-RANTester/internal/control_test_engine/gnb/context/context.go:434 +0x359
my5G-RANTester/internal/control_test_engine/gnb/ngap/message/ngap_control/interface_management.BuildNGSetupRequest(0xc00009f380, 0xc0001ea000, 0x934dc8, 0xc0000c9d10, 0x517d9b)
/my5G-RANTester/internal/control_test_engine/gnb/ngap/message/ngap_control/interface_management/ng-setup-request.go:38 +0x142
my5G-RANTester/internal/control_test_engine/gnb/ngap/message/ngap_control/interface_management.NGSetupRequest(0xc00009f380, 0x91fe83, 0xd, 0x1, 0xc0000c9d10, 0x47c59c, 0xc0000be040, 0xc0000fa680)
/my5G-RANTester/internal/control_test_engine/gnb/ngap/message/ngap_control/interface_management/ng-setup-request.go:119 +0x40
my5G-RANTester/internal/control_test_engine/gnb/ngap/trigger.SendNgSetupRequest(0xc00009f380, 0xc0000d8680)
/my5G-RANTester/internal/control_test_engine/gnb/ngap/trigger/trigger.go:50 +0x55
my5G-RANTester/internal/control_test_engine/gnb.InitGnb(0xc0000b1504, 0xc, 0x250f, 0xc0000b1530, 0xc, 0x868, 0xd17451, 0x1, 0xd17451, 0x1, ...)
/my5G-RANTester/internal/control_test_engine/gnb/gnb.go:55 +0x2e7
created by my5G-RANTester/internal/templates.TestMultiUesInQueue
/my5G-RANTester/internal/templates/test-multi-ues-in-queue.go:24 +0xeb
root@5dedc31ab66f:/my5G-RANTester/cmd#
I'm currently trying to setup an Open5GS sandbox for research purposes. I'm new to 5G networks in general and trying to setup my own to better understand 3GPP.
For my Open5GS environment, I've directly used the code from https://github.com/herlesupreeth/docker_open5gs instead for a 5G SA deployment as I've had problems to get my5G's version to work (still trying to debug it).
The docker containers I currently have on my host are the following:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
66e44a698450 docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 0.0.0.0:2152->2152/udp, :::2152->2152/udp, 8805/udp, 9091/tcp upf
890abaa7639e docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 2123/udp, 3868/sctp, 3868/tcp, 3868/udp, 5868/tcp, 5868/udp, 7777/tcp, 8805/udp, 5868/sctp, 9091/tcp smf
1fe52bdbe26f docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp, 9091/tcp, 0.0.0.0:38412->38412/sctp, :::38412->38412/sctp amf
91f8e59094ba docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp udm
84031730d027 docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp ausf
b1ce722a4468 docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp, 9091/tcp pcf
9ee9636339e4 docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp nssf
3ab2a1b07bda docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp bsf
1441355c773a docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp udr
e7e42b887962 docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp webui
0518e97c0b5c mongo:6.0 "docker-entrypoint.s…" 36 minutes ago Up 36 minutes 27017/tcp, 27017/udp mongo
26bc9de13b8a docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp nrf
077e8522e008 docker_open5gs "/bin/sh -c /open5gs…" 36 minutes ago Up 36 minutes 7777/tcp scp
7290d0790292 docker_metrics "/bin/sh -c /mnt/met…" 36 minutes ago Up 36 minutes 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp metrics
My config.yaml looks like the following:
gnodeb:
controlif:
ip: "127.0.0.1"
port: 9487
dataif:
ip: "127.0.0.1"
port: 2152
plmnlist:
mcc: "208"
mnc: "95"
tac: "000001"
gnbid: "000003"
slicesupportlist:
sst: "01"
sd: "000001"
ue:
msin: "0000000043"
key: "0C0A34601D4F07677303652C0462535B"
opc: "63bfa50ee6523365ff14c1f45f88737d"
amf: "8000"
sqn: "0000000"
dnn: "default"
hplmn:
mcc: "208"
mnc: "95"
snssai:
sst: 1
sd: "000001"
integrity:
nia0: false
nia1: false
nia2: true
ciphering:
nea0: true
nea1: false
nea2: false
test: "test-5g-guti"
amfif:
ip: "127.0.0.1"
port: 38412
logs:
level: 4
Adding my own logging around DialSCTPExt (before and after), and running the gNB, I get the following:
my5G-RANTester git:(master) $ go run ./cmd/app.go gnb
INFO[0000] my5G-RANTester version 1.0.1
INFO[0000] ---------------------------------------
INFO[0000] [TESTER] Starting test function: Testing an gnb attached with configuration
INFO[0000] [TESTER][GNB] Number of GNBs: 1
INFO[0000] [TESTER][GNB] Control interface IP/Port: 127.0.0.1/9487
INFO[0000] [TESTER][GNB] Data interface IP/Port: 127.0.0.1/2152
INFO[0000] [TESTER][AMF] AMF IP/Port: 127.0.0.1/38412
INFO[0000] ---------------------------------------
INFO[0000] Before DialSCTPExt: loc=127.0.0.1:9487 rem=127.0.0.1:38412
For the AMF, the port is forwarded (:::38412->38412/sctp
), but nothing is for the Control Interface Port.
Now I am stuck trying to understand what is supposed to listen on port 9487.
Hi ,
I am new to this field. So, these questions may sound too basic to you.
I am able to run./app ue and a pdu session is getting established successfully.
Hpw do i test this pdu session, for example can I login to UE's CLI and ping a website. Can I download some thing using wget from the internet via free5gc network.
Thank you
Many thanks for the awesome software, it helped me a lot to simulate 1000 UEs on Open5GS CN.
Are there any plans to extend this tester to 4G/LTE as well ?
If not, are you aware of similar open-source software tester for 4G/LTE ?
Hi, I'm trying to connect many UEs using the load-test
.
The free5GC v3.0.6 stops the Data Plane connection after about 10 devices.
The Open5GS v2.3.6 can connect exactly 255 UEs with the data plane before stops registering new devices.
I tried to update the free5GC to v3.2.1 (the latest stable version - I'm using this repository) and, after running the load-test
with 1000 devices, it stopped connecting exactly after 255 successful connections, the same behavior as the Open5GS core.
Btw, the latest version of the free5GC WebUI allows us to insert a lot of IMSI at the same time.
Taking a look at the context.go file, I saw that you are using a uint8
variable to store the device ID on lines 34 and 50. Is it possible that this uint8
id could cause this weird behavior?
Also, I noticed that after near to 400 UEs, the tester crashes with a Broken pipe
error in both cores.
Thanks :)
Hi! I would like to know if my5G-RANTester is able to handle multiple QoS flows in a single PDU session. Thanks in advance.
Hi there,
I am able to run ./app eu command and the ue is getting attached to the free5gc core that I am running. After the test how do i detach the ue from the network?
Thanks,
Manoj
H , i'm tryung to test 3 UE knowing that i have install it using code source without container.
SO i have receive thus error:
FATA[0001] Error in[UE] Error on Dial with server%!(EXTRA *net.OpError=dial unix /tmp/gnb.sock: connect: no such file or directory)
root@5gran-test:~/my5G-RANTester/cmd# ./app load-test -n 3 INFO[0000] my5G-RANTester version 1.0.1 INFO[0000] --------------------------------------- INFO[0000] [TESTER] Starting test function: Testing registration of multiple UEs INFO[0000] [TESTER][UE] Number of UEs: 3 INFO[0000] [TESTER][GNB] gNodeB control interface IP/Port: 127.0.0.1/9487 INFO[0000] [TESTER][GNB] gNodeB data interface IP/Port: 127.0.0.1/2152 INFO[0000] [TESTER][AMF] AMF IP/Port: 5.161.73.127/80 INFO[0000] --------------------------------------- INFO[0001] [TESTER] TESTING REGISTRATION USING IMSI 0000000001 UE FATA[0001] Error in[UE] Error on Dial with server%!(EXTRA *net.OpError=dial unix /tmp/gnb.sock: connect: no such file or directory) root@5gran-test:~/my5G-RANTester/cmd#
Hello sir,
Thank you for sharing the code.
I try to connect the code that you share my5G-core as in the picture below with my5G-RANTester to connect the UE and RAN with 5G Core.
How can I know my registration done successfully?
How can I visualize an interface with the name "uetun1"?
Also, I tried your code for the docker (my5G-RANTester-docker), I don't know how can I view the interfaces with the prefix "uetun" inside the Tester container. or create a virtual interface.
Actually, with my5G-RANTester-docker code, it's run for the first time than the next day when I run the code the Tester container turn down and the other container on.
I tried to make it up by using "docker start tester" and service docker restart.
Regards,
Hellow @baleeiro17 ~
i want to use my5G-RANTester (VM 2)to connect my open5gs core (VM1). I have configured my config.yaml as following. I run ./ app gnb first. Then i run ./ app ue ,but it shows some error message that is "Error inaddress already in use". How should I do to fix it?
this is my config.yaml <P.S. 192.168.50.10 is my open5gs core's ip>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.