Simple Confirmed Information for Mobile Network
May 17, 2026 ยท View on GitHub
This is a memo of environment information when briefly confirming the operation of some functions of each open source. Please note that it may not work depending on the environment. Also, please note that there may be cases where I have not been able to confirm operation due to my settings being incorrect.
Sample Configurations and Miscellaneous for Mobile Network
Table of Contents
Version and Resource requirements
Open5GS
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| C-Plane | 2.7.7+ | 35a1594a74b0760b0e1122d9393ddf34aa1cf2a42026.04.23 | Ubuntu 24.04 | 1 | 2GB | 20GB |
| UPF | 2.7.7+ | 35a1594a74b0760b0e1122d9393ddf34aa1cf2a42026.04.23 | Ubuntu 24.04 | 1 | 1GB | 10GB |
free5GC
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| C-Plane | 4.2.1+ | 69ba98ff8eba69a8092c56abb80a01fcd483e7b32026.03.20 (Latest nightly build on 2026.03.30) | Ubuntu 24.04 | 1 | 2GB | 20GB |
| UPF | 1.2.9 | ce0108ac97bd41fdd815f38e99c0cb72e597758f2026.03.02 | Ubuntu 24.04 | 1 | 1GB | 10GB |
| gtp5g (UPF) | 0.10.2 | 952fb419130f5fc44cac1874e8183312006b746c2026.03.04 | -- | -- | -- | -- |
UPG-VPP
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| UPF | 1.13.0 (+patch) | dfdf64000566d35955d7c180720ff66086bd35722024.03.25 | Ubuntu 24.04 | 2 | 8GB | 20GB |
eUPF
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| UPF | 0.7.1+ | 241af932a40582f490b10e4467651bcb0d843a922026.02.01 | Ubuntu 24.04 | 1 | 2GB | 10GB |
OAI-CN5G-UPF
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| UPF | 2.2.0+ (+patch) | 486acc3b38acc4e17449b29a52fc7581a4af76532026.03.26 | Ubuntu 24.04 | 1 | 6GB | 20GB |
UERANSIM
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| RAN & UE | 3.2.8+ (+patch) | 4a9013131a364595bffd504f9a32df1ff15340a72026.05.03 | Ubuntu 24.04 | 1 | 1GB | 10GB |
OCUDU
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| RAN | 26.04+ | 2563975a74baf94db51b4a41d6ff48e945cbb8f72026.05.12 | Ubuntu 24.04 | 5 | 4GB | 10GB |
When OCUDU gNodeB is configured with the ZMQ-based RF driver, this constraint regarding the minimum number of CPU cores may be unique to my environment.
srsRAN_Project
srsRAN_Project is now OCUDU.
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| RAN | 25.10+ | 4bf1543936d062686d64c10724d2f27a9854f0652026.02.16 | Ubuntu 24.04 | 5 | 4GB | 10GB |
When srsRAN_Project gNodeB is configured with the ZMQ-based RF driver, this constraint regarding the minimum number of CPU cores may be unique to my environment.
srsRAN_4G
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| RAN & UE | 25.10 | 6bcbd9e5bf8686aa7085202cd847c5ddd64a9c162026.01.18 | Ubuntu 24.04 | 1 | 2GB | 10GB |
PacketRusher
| Role | Version | Commit & Date | OS | CPU (Min) | Mem (Min) | HDD (Min) |
|---|---|---|---|---|---|---|
| RAN & UE | 20250225+ | 5bf8b4ed9350a4dfc732eb6a6074aa97d14263082026.03.25 | Ubuntu 24.04 | 1 | 1GB | 10GB |
| gtp5g (RAN) | 0.10.2 | 952fb419130f5fc44cac1874e8183312006b746c2026.03.04 | -- | -- | -- | -- |
Ping and iPerf3
Below are the results of confirming the operation of ping and iperf3 in my environment.
For 5G
| UE | RAN | C-Plane | UPF | N3/N4/N6 | Ping | iPerf3 |
|---|---|---|---|---|---|---|
| UERANSIM [4] | UERANSIM | Open5GS | Open5GS | Separate | OK | OK |
| Same | OK | OK | ||||
| UPG-VPP | Separate | OK [2] | OK [2] | |||
| eUPF | Separate | OK | OK | |||
| OAI-CN5G-UPF [8] | Separate | OK [2] | OK [2] | |||
| free5GC | free5GC | Separate | OK | OK | ||
| Same | OK | OK | ||||
| UPG-VPP | Separate | OK [3] | OK [3] | |||
| eUPF | Separate | OK | OK | |||
| OAI-CN5G-UPF [8] | Separate | OK | OK | |||
| srsRAN_4G [5] | OCUDU (srsRAN_Project) | Open5GS | Open5GS | Separate | OK | OK |
| Same | OK | OK | ||||
| UPG-VPP | Separate | OK [1][2] | OK [1][2] | |||
| eUPF | Separate | OK | OK | |||
| OAI-CN5G-UPF [8] | Separate | OK [2] | OK [2] | |||
| free5GC | free5GC | Separate | OK | OK | ||
| Same | OK | OK | ||||
| UPG-VPP | Separate | OK [1][3] | OK [1][3] | |||
| eUPF | Separate | OK | OK | |||
| OAI-CN5G-UPF [8] | Separate | OK | OK | |||
| PacketRusher [6] | PacketRusher | Open5GS | Open5GS | Separate | OK | OK |
| Same | OK | OK | ||||
| UPG-VPP | Separate | OK [2] | OK [2] | |||
| eUPF | Separate | OK | OK | |||
| OAI-CN5G-UPF [8] | Separate | OK [2] | OK [2] | |||
| free5GC | free5GC | Separate | OK | OK | ||
| Same | OK | OK | ||||
| UPG-VPP | Separate | OK [3] | OK [3] | |||
| eUPF | Separate | OK | OK | |||
| OAI-CN5G-UPF [8] | Separate | OK | OK |
For 4G
| UE | RAN | C-Plane | SGW-U | PGW-U (UPF) | S5u/Sxb/SGi | Ping | iPerf3 |
|---|---|---|---|---|---|---|---|
| srsRAN_4G [7] | srsRAN_4G | Open5GS | Open5GS | Open5GS | Separate | OK | OK |
| Same | OK | OK | |||||
| UPG-VPP | Separate | OK [2] | OK [2] | ||||
| eUPF | Separate | OK | OK |
-
UPG-VPP v1.13.0 does not support
PDU Session container. Therefore, some gNodeBs such as srsRAN_Project, may not accept GTP traffic from UPG-VPP. In that case, please refer to this note. In these results, I applied this temporary patch and confirmed that it worked with the gNodeB of srsRAN_Project. -
To connect Open5GS SMF to UPG-VPP, add the following parameter
use_upg_vpp: trueinsmf.yaml. See here for the reason.smf.yamlglobal: parameter: use_upg_vpp: true -
To connect free5GC SMF to UPG-VPP, add the following parameter
nwInstFqdnEncoding: trueinsmfcfg.yaml. See here for the reason.smfcfg.yamlconfiguration: nwInstFqdnEncoding: true -
The MTU of the tunnel interface of UERANSIM is fixed at 1400 bytes.
-
The MTU of the tunnel interface of srsRAN_4G NR-UE is 1500 bytes by default. With this value, uplink packets are fragmented at srsRAN_Project gNodeB. So for avoiding IP fragmentation, reduce the MTU of the tunnel interface of srsRAN_4G NR-UE to 1456 bytes. This 1456 bytes is 1500 bytes minus 44 bytes. The 44 bytes is the size of the headers added when srsRAN_Project gNodeB encapsulates the uplink packets into GTP-U, and consists of IP Header (20 bytes), UDP Header (8 bytes) and GTP-U Header (12 bytes + 4 bytes) including one GTP-U Extension Header for QFI. See
3GPP TS 29.281 - 5 GTP-U header. For example, if the tunnel interface of srsRAN_4G NR-UE istun_srsue, set it as follows.# ip link set tun_srsue mtu 1456 -
The MTU of the tunnel interface of PacketRusher NR-UE is 1464 bytes by default. With this value, uplink packets are fragmented at the gNodeB equivalent function in PacketRusher. So for avoiding IP fragmentation, reduce the MTU of the tunnel interface of PacketRusher NR-UE to 1456 bytes. This 1456 bytes is the same meaning as the value explained in [5]. For example, if the interface assigned to VRF of PacketRusher is
val0000001000, set it as follows.# ip link set val0000001000 mtu 1456 -
The MTU of the tunnel interface of srsRAN_4G UE is 1500 bytes by default. With this value, uplink packets are fragmented at srsRAN_4G eNodeB. So for avoiding IP fragmentation, reduce the MTU of the tunnel interface of srsRAN_4G UE to 1464 bytes. This 1464 bytes is 1500 bytes minus 36 bytes. The 36 bytes is the size of the headers added when srsRAN_4G eNodeB encapsulates the uplink packets into GTP-U, and consists of IP Header (20 bytes), UDP Header (8 bytes) and GTP-U Header (8 bytes, No Sequence Number and No GTP-U Extension Header). See
3GPP TS 29.281 - 5 GTP-U header. For example, if the tunnel interface of srsRAN_4G UE istun_srsue, set it as follows.# ip link set tun_srsue mtu 1464 -
In my environment, when try to make OAI-CN5G-UPF work with Open5GS or free5GC C-Plane, the results of a simple operation confirmation were as follows. Please refer to here for the version and detailed build instructions.
UPF mode Open5GS free5GC Simple Switch OK (*i) NG eBPF/XDP OK OK - In N3 downlink packets from OAI-CN5G-UPF to gNodeB, the QFI of PDU session container in GTP-U extension header may be 0. In this case, for example, the gNodeB of srsRAN_Project seems to drop such packets. In my environment, the issue has not been solved yet.
Also, the gNodeBs of UERANSIM and PacketRusher seem to not drop downlink packets with QFI=0.
- In N3 downlink packets from OAI-CN5G-UPF to gNodeB, the QFI of PDU session container in GTP-U extension header may be 0. In this case, for example, the gNodeB of srsRAN_Project seems to drop such packets. In my environment, the issue has not been solved yet.