Skip to content

Commit 54ed069

Browse files
pirog-spbpirog-spb
authored andcommitted
doc: update readme of open5gs sample deployment
1 parent 8101095 commit 54ed069

2 files changed

Lines changed: 24 additions & 97 deletions

File tree

Lines changed: 24 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,38 @@
11
# open5gs-compose
22

3-
# install docker, docker-compose
3+
This deployment starts Open5gs 5G mobile core with eUPF and UERANSIM using docker-compose.
44

5-
https://docs.docker.com/engine/install/
6-
7-
# configure docker daemon for disable iptables
8-
9-
https://docs.docker.com/network/packet-filtering-firewalls/#prevent-docker-from-manipulating-iptables
10-
11-
# create network for containers
12-
13-
```
14-
docker network create \
15-
--driver=bridge \
16-
--subnet=172.20.0.0/24 \
17-
--gateway=172.20.0.1 \
18-
-o "com.docker.network.bridge.name"="br-open5gs-main" \
19-
open5gs-main
20-
sudo ethtool -K br-open5gs-main tx off
21-
```
22-
23-
<details><summary><i> Here we turn off tx offload to avoid TCP checksum error in internal packets for iperf tests.</summary>
24-
<p>
25-
26-
Apparently, checksum offloading is enabled by default and the kernel postpones csum calculation until the last moment, expecting csum to be calculated in the driver when the packet is sent. But we have a virtual environment and the packet eventually goes to the GTP tunnel on UPF. Obviously, this is the reason why csum is not calculated correctly.
27-
28-
However, if we disable offloading, the checksum is calculated immediately on iperf and everything works.
29-
</p>
30-
</details>
5+
## 1. Install docker, docker-compose
316

32-
<!---
33-
# configure firewall
34-
35-
`bash fw.sh`
36-
--><br>
37-
# To run multiple iperf servers, use this command
38-
39-
`sudo apt install iperf3`
40-
41-
`for i in $(seq 5201 5208); do (iperf3 -s -p $i &) ; done`
42-
43-
# start Open5GS
44-
45-
1. pull all docker images
7+
https://docs.docker.com/engine/install/
468

47-
docker-compose pull
9+
## 2. Start services
4810

49-
2. start services
11+
Run `docker-compose up -d`
5012

51-
docker-compose up -d
13+
## 3. Verify environment up and running
5214

53-
# run iperf tests
15+
Run `docker-compose logs ue` and check UE logs.
5416

55-
1. run iperf test in every UERANSim containers
17+
If UE have successfully connected you'll see message like below:
5618

57-
`make test`
19+
```
20+
[2025-01-31 15:09:30.550] [app] [info] Connection setup for PDU session[1] is successful, TUN interface[uesimtun0, 10.46.0.2] is up.
21+
```
5822

59-
when test ended, you can see reports in directory `.deploy/docker/local-data/iperf`
23+
## 4. Test UE connectivity
6024

61-
# stop and remove all containers
25+
Fall into UE container `docker-compose exec ue bash`.
6226

63-
`make clean`
27+
And use `uesimtun0` interface to send packets via it:
6428

65-
`docker network rm open5gs-main`
29+
```
30+
# ping -I uesimtun0 8.8.8.8
31+
PING 8.8.8.8 (8.8.8.8) from 10.46.0.2 uesimtun0: 56(84) bytes of data.
32+
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=15.2 ms
33+
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=15.2 ms
34+
...
35+
36+
curl --interface uesimtun0 -vv http://google.com
37+
...
38+
```

docs/deployments/open5gs-compose/fw.sh

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)