s5uishida / open5gs_epc_oai_sample_config

Open5GS EPC & OpenAirInterface UE / RAN Sample Configuration
20 stars 4 forks source link
cups enodeb epc lte mec mobile-edge-computing mobile-network open5gs openairinterface ran ue

Open5GS EPC & OpenAirInterface UE / RAN Sample Configuration

From Open5GS v2.0.22, it is possible to connect to OpenAirInterface UE / RAN v1.0.3. Therefore, in order to use U-Plane's PDN (Packet Data Network) as a trial, I built a simulation environment for the CUPS-enabled EPC mobile network. This briefly describes the overall and configuration files.


Sample Configurations and Miscellaneous for Mobile Network


Table of Contents

Overview of Open5GS CUPS-enabled EPC Simulation Mobile Network

I created a CUPS-enabled EPC mobile network (Internet reachable) for simulation with the aim of creating an environment in which packets can be sent end-to-end with different PDNs for each APN.

The following minimum configuration was set as a condition.

The built simulation environment is as follows.

Note. The PDN end-point addresses assigned to oipX TUNnel interfaces are not always in the order shown in the figure above.

The EPC / UE / RAN used are as follows.

Each VMs are as follows. VM # SW & Role IP address OS Memory (Min) HDD (Min)
VM1 Open5GS EPC C-Plane 192.168.0.111/24
192.168.0.112/24
Ubuntu 20.04 1GB 20GB
VM2 Open5GS EPC U-Plane1 192.168.0.113/24
192.168.0.114/24
Ubuntu 20.04 1GB 20GB
VM3 Open5GS EPC U-Plane2 192.168.0.115/24
192.168.0.116/24
Ubuntu 20.04 1GB 20GB
VM4 OpenAirInterface UE / RAN 192.168.0.120/24 Ubuntu 18.04 2GB 40GB

OAI UE / RAN cannot be built on Ubuntu 20.04, so build it on Ubuntu 18.04.

Subscriber Information (other information is the same) is as follows. UE # IMSI APN OP/OPc
UE0 001010000000100 internet OPc
UE1 001010000000101 internet2 OPc
UE2 001010000000102 internet2 OPc
UE3 001010000000103 ims OPc
UE4 001010000000104 ims OPc

I registered these information with the Open5GS WebUI. In addition, 3GPP TS 35.208 "4.3 Test Sets" is published by 3GPP as test data for the 3GPP authentication and key generation functions (MILENAGE).

Each PDNs are as follows. PDN TUNnel interface of PDN APN TUNnel interface of UE U-Plane #
10.45.0.0/16 ogstun internet oip1 U-Plane1
10.46.0.0/16 ogstun2 internet2 oip2, oip3 U-Plane1
10.47.0.0/16 ogstun3 ims oip4, oip5 U-Plane2

Additional information.

Open5GS EPC U-Plane worked fine on Raspberry Pi 4 Model B. I used Ubuntu 20.04 (64bit) for Raspberry Pi 4 as the OS. I think it would be convenient to place a compact U-Plane in the edge environment and use it as an end-point for PDN.

In addition, I have not confirmed the communication performance.

Changes in configuration files of Open5GS EPC and OAI UE / RAN

Please refer to the following for building Open5GS and OAI UE / RAN respectively.

Changes in configuration files of Open5GS EPC C-Plane

The following parameters can be used in the logic that selects SGW-U and UPF(PGW-U) as the connection destination by PFCP.

For the sake of simplicity, I used only APN this time.

Changes in configuration files of Open5GS EPC U-Plane1

Changes in configuration files of Open5GS EPC U-Plane2

Changes in configuration files of OAI UE / RAN

Changes in configuration files of UE

Changes in configuration files of RAN

@@ -172,7 +172,7 @@

 ////////// MME parameters:

Network settings of Open5GS EPC and OAI UE / RAN

Network settings of Open5GS EPC C-Plane

Add IP address for SMF(PGW-C).

ip addr add 192.168.0.112/24 dev enp0s8

Note. enp0s8 is the network interface of 192.168.0.0/24 in my VirtualBox environment. Please change it according to your environment.

Network settings of Open5GS EPC U-Plane1

First, uncomment the next line in the /etc/sysctl.conf file and reflect it in the OS.

net.ipv4.ip_forward=1
# sysctl -p

Next, add IP address for UPF(PGW-U) and configure the TUNnel interface and NAPT.

ip addr add 192.168.0.114/24 dev enp0s8

ip tuntap add name ogstun mode tun
ip addr add 10.45.0.1/16 dev ogstun
ip link set ogstun up

iptables -t nat -A POSTROUTING -s 10.45.0.0/16 ! -o ogstun -j MASQUERADE

ip tuntap add name ogstun2 mode tun
ip addr add 10.46.0.1/16 dev ogstun2
ip link set ogstun2 up

iptables -t nat -A POSTROUTING -s 10.46.0.0/16 ! -o ogstun2 -j MASQUERADE

Network settings of Open5GS EPC U-Plane2

First, uncomment the next line in the /etc/sysctl.conf file and reflect it in the OS.

net.ipv4.ip_forward=1
# sysctl -p

Next, add IP address for UPF(PGW-U) and configure the TUNnel interface and NAPT.

ip addr add 192.168.0.116/24 dev enp0s8

ip tuntap add name ogstun3 mode tun
ip addr add 10.47.0.1/16 dev ogstun3
ip link set ogstun3 up

iptables -t nat -A POSTROUTING -s 10.47.0.0/16 ! -o ogstun3 -j MASQUERADE

Network settings of OAI UE / RAN

ifconfig lo: 127.0.0.2 netmask 255.0.0.0 up

Build Open5GS and OAI UE / RAN

Please refer to the following for building Open5GS and OAI UE / RAN respectively.

Install MongoDB on Open5GS EPC C-Plane machine. It is not necessary to install MongoDB on Open5GS EPC U-Plane machines. MongoDB Compass is a convenient tool to look at the MongoDB database.

Note. When building OAI UE / RAN, add -I to the parameter of the build_oai command for the first time. The following is an example of building eNB.

./build_oai -I --eNB -t ETHERNET -c

Run Open5GS EPC and OAI UE / RAN

First run the EPC, then the RAN, and the UE.

Run Open5GS EPC C-Plane

First, run Open5GS EPC C-Plane.

Run Open5GS EPC U-Plane1 & U-Plane2

Next, run Open5GS EPC U-Plane.

Run OAI RAN

Run OAI eNB and connect to Open5GS EPC.

# cd ~/enb_folder/cmake_targets
# ./lte_build_oai/build/lte-softmodem -O ../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf 2>&1 | tee enb.log

The Open5GS C-Plane log when executed is as follows.

01/13 23:10:08.071: [mme] INFO: eNB-S1 accepted[192.168.0.120]:36412 in s1_path module (../src/mme/s1ap-sctp.c:114)
01/13 23:10:08.071: [mme] INFO: eNB-S1 accepted[192.168.0.120] in master_sm module (../src/mme/mme-sm.c:106)
01/13 23:10:08.071: [mme] INFO: [Added] Number of eNBs is now 1 (../src/mme/mme-context.c:1925)
01/13 23:10:08.071: [mme] INFO: eNB-S1[192.168.0.120] max_num_of_ostreams : 2 (../src/mme/mme-sm.c:148)

Run OAI 5 UEs

Run OAI 5 UEs and connect to Open5GS EPC. Add --num-ues 5 to the parameter to use 5 UEs.

# cd ~/ue_folder/cmake_targets/tools
# source init_nas_s1 UE
# cd ..
# ./lte_build_oai/build/lte-uesoftmodem -O ../ci-scripts/conf_files/ue.nfapi.conf --L2-emul 3 --num-ues 5 2>&1 | tee ue.log

The Open5GS C-Plane log when executed is as follows. 5 UEs connected to the EPC and each PDU session was established.

01/13 23:10:32.395: [mme] INFO: InitialUEMessage (../src/mme/s1ap-handler.c:223)
01/13 23:10:32.395: [mme] INFO: [Added] Number of eNB-UEs is now 1 (../src/mme/mme-context.c:3629)
01/13 23:10:32.395: [mme] INFO:     ENB_UE_S1AP_ID[420141] MME_UE_S1AP_ID[1] TAC[1] CellID[0xe0000] (../src/mme/s1ap-handler.c:369)
01/13 23:10:32.395: [mme] INFO: [001010000000100] Unknown UE by IMSI (../src/mme/mme-context.c:2614)
01/13 23:10:32.395: [mme] INFO: [Added] Number of MME-UEs is now 1 (../src/mme/mme-context.c:2441)
01/13 23:10:32.395: [emm] INFO: [] Attach request (../src/mme/emm-sm.c:306)
01/13 23:10:32.395: [emm] INFO:     IMSI[001010000000100] (../src/mme/emm-handler.c:193)
01/13 23:10:32.455: [mme] INFO: [Added] Number of MME-Sessions is now 1 (../src/mme/mme-context.c:3643)
01/13 23:10:32.456: [sgwc] INFO: [Added] Number of SGWC-UEs is now 1 (../src/sgwc/context.c:210)
01/13 23:10:32.456: [sgwc] INFO: [Added] Number of SGWC-Sessions is now 1 (../src/sgwc/context.c:891)
01/13 23:10:32.457: [gtp] INFO: gtp_connect() [127.0.0.4]:2123 (../lib/gtp/path.c:60)
01/13 23:10:32.457: [smf] INFO: [Added] Number of SMF-UEs is now 1 (../src/smf/context.c:1009)
01/13 23:10:32.457: [smf] INFO: [Added] Number of SMF-Sessions is now 1 (../src/smf/context.c:3088)
01/13 23:10:32.457: [smf] INFO: UE IMSI[001010000000100] APN[internet] IPv4[10.45.0.2] IPv6[] (../src/smf/s5c-handler.c:255)
01/13 23:10:32.463: [gtp] INFO: gtp_connect() [192.168.0.114]:2152 (../lib/gtp/path.c:60)
01/13 23:10:32.463: [gtp] INFO: gtp_connect() [127.0.0.4]:2123 (../lib/gtp/path.c:60)
01/13 23:10:32.714: [emm] INFO: [001010000000100] Attach complete (../src/mme/emm-sm.c:1082)
01/13 23:10:32.715: [emm] INFO:     IMSI[001010000000100] (../src/mme/emm-handler.c:242)
01/13 23:10:32.715: [emm] INFO:     UTC [2023-01-13T14:10:32] Timezone[0]/DST[0] (../src/mme/emm-handler.c:248)
01/13 23:10:32.715: [emm] INFO:     LOCAL [2023-01-13T23:10:32] Timezone[32400]/DST[0] (../src/mme/emm-handler.c:252)
01/13 23:10:32.717: [mme] INFO: InitialUEMessage (../src/mme/s1ap-handler.c:223)
01/13 23:10:32.717: [mme] INFO: [Added] Number of eNB-UEs is now 2 (../src/mme/mme-context.c:3629)
01/13 23:10:32.717: [mme] INFO:     ENB_UE_S1AP_ID[16398672] MME_UE_S1AP_ID[2] TAC[1] CellID[0xe0000] (../src/mme/s1ap-handler.c:369)
01/13 23:10:32.718: [mme] INFO: [001010000000101] Unknown UE by IMSI (../src/mme/mme-context.c:2614)
01/13 23:10:32.718: [mme] INFO: [Added] Number of MME-UEs is now 2 (../src/mme/mme-context.c:2441)
01/13 23:10:32.718: [emm] INFO: [] Attach request (../src/mme/emm-sm.c:306)
01/13 23:10:32.718: [emm] INFO:     IMSI[001010000000101] (../src/mme/emm-handler.c:193)
01/13 23:10:32.767: [mme] INFO: [Added] Number of MME-Sessions is now 2 (../src/mme/mme-context.c:3643)
01/13 23:10:32.767: [sgwc] INFO: [Added] Number of SGWC-UEs is now 2 (../src/sgwc/context.c:210)
01/13 23:10:32.768: [sgwc] INFO: [Added] Number of SGWC-Sessions is now 2 (../src/sgwc/context.c:891)
01/13 23:10:32.769: [smf] INFO: [Added] Number of SMF-UEs is now 2 (../src/smf/context.c:1009)
01/13 23:10:32.770: [smf] INFO: [Added] Number of SMF-Sessions is now 2 (../src/smf/context.c:3088)
01/13 23:10:32.770: [smf] INFO: UE IMSI[001010000000101] APN[internet2] IPv4[10.46.0.2] IPv6[] (../src/smf/s5c-handler.c:255)
01/13 23:10:32.795: [mme] INFO: InitialUEMessage (../src/mme/s1ap-handler.c:223)
01/13 23:10:32.795: [mme] INFO: [Added] Number of eNB-UEs is now 3 (../src/mme/mme-context.c:3629)
01/13 23:10:32.795: [mme] INFO:     ENB_UE_S1AP_ID[7773174] MME_UE_S1AP_ID[3] TAC[1] CellID[0xe0000] (../src/mme/s1ap-handler.c:369)
01/13 23:10:32.796: [mme] INFO: [001010000000102] Unknown UE by IMSI (../src/mme/mme-context.c:2614)
01/13 23:10:32.796: [mme] INFO: [Added] Number of MME-UEs is now 3 (../src/mme/mme-context.c:2441)
01/13 23:10:32.796: [emm] INFO: [] Attach request (../src/mme/emm-sm.c:306)
01/13 23:10:32.797: [emm] INFO:     IMSI[001010000000102] (../src/mme/emm-handler.c:193)
01/13 23:10:33.027: [emm] INFO: [001010000000101] Attach complete (../src/mme/emm-sm.c:1082)
01/13 23:10:33.029: [emm] INFO:     IMSI[001010000000101] (../src/mme/emm-handler.c:242)
01/13 23:10:33.029: [emm] INFO:     UTC [2023-01-13T14:10:33] Timezone[0]/DST[0] (../src/mme/emm-handler.c:248)
01/13 23:10:33.030: [emm] INFO:     LOCAL [2023-01-13T23:10:33] Timezone[32400]/DST[0] (../src/mme/emm-handler.c:252)
01/13 23:10:33.033: [mme] INFO: [Added] Number of MME-Sessions is now 3 (../src/mme/mme-context.c:3643)
01/13 23:10:33.034: [sgwc] INFO: [Added] Number of SGWC-UEs is now 3 (../src/sgwc/context.c:210)
01/13 23:10:33.034: [sgwc] INFO: [Added] Number of SGWC-Sessions is now 3 (../src/sgwc/context.c:891)
01/13 23:10:33.035: [mme] INFO: InitialUEMessage (../src/mme/s1ap-handler.c:223)
01/13 23:10:33.035: [mme] INFO: [Added] Number of eNB-UEs is now 4 (../src/mme/mme-context.c:3629)
01/13 23:10:33.036: [smf] INFO: [Added] Number of SMF-UEs is now 3 (../src/smf/context.c:1009)
01/13 23:10:33.036: [smf] INFO: [Added] Number of SMF-Sessions is now 3 (../src/smf/context.c:3088)
01/13 23:10:33.037: [smf] INFO: UE IMSI[001010000000102] APN[internet2] IPv4[10.46.0.3] IPv6[] (../src/smf/s5c-handler.c:255)
01/13 23:10:33.040: [mme] INFO:     ENB_UE_S1AP_ID[10104933] MME_UE_S1AP_ID[4] TAC[1] CellID[0xe0000] (../src/mme/s1ap-handler.c:369)
01/13 23:10:33.040: [mme] INFO: [001010000000103] Unknown UE by IMSI (../src/mme/mme-context.c:2614)
01/13 23:10:33.041: [mme] INFO: [Added] Number of MME-UEs is now 4 (../src/mme/mme-context.c:2441)
01/13 23:10:33.041: [emm] INFO: [] Attach request (../src/mme/emm-sm.c:306)
01/13 23:10:33.041: [emm] INFO:     IMSI[001010000000103] (../src/mme/emm-handler.c:193)
01/13 23:10:33.059: [mme] INFO: [Added] Number of MME-Sessions is now 4 (../src/mme/mme-context.c:3643)
01/13 23:10:33.059: [sgwc] INFO: [Added] Number of SGWC-UEs is now 4 (../src/sgwc/context.c:210)
01/13 23:10:33.060: [sgwc] INFO: [Added] Number of SGWC-Sessions is now 4 (../src/sgwc/context.c:891)
01/13 23:10:33.061: [smf] INFO: [Added] Number of SMF-UEs is now 4 (../src/smf/context.c:1009)
01/13 23:10:33.061: [smf] INFO: [Added] Number of SMF-Sessions is now 4 (../src/smf/context.c:3088)
01/13 23:10:33.061: [smf] INFO: UE IMSI[001010000000103] APN[ims] IPv4[10.47.0.2] IPv6[] (../src/smf/s5c-handler.c:255)
01/13 23:10:33.064: [gtp] INFO: gtp_connect() [192.168.0.116]:2152 (../lib/gtp/path.c:60)
01/13 23:10:33.275: [emm] INFO: [001010000000102] Attach complete (../src/mme/emm-sm.c:1082)
01/13 23:10:33.275: [emm] INFO:     IMSI[001010000000102] (../src/mme/emm-handler.c:242)
01/13 23:10:33.276: [emm] INFO:     UTC [2023-01-13T14:10:33] Timezone[0]/DST[0] (../src/mme/emm-handler.c:248)
01/13 23:10:33.276: [emm] INFO:     LOCAL [2023-01-13T23:10:33] Timezone[32400]/DST[0] (../src/mme/emm-handler.c:252)
01/13 23:10:33.277: [emm] INFO: [001010000000103] Attach complete (../src/mme/emm-sm.c:1082)
01/13 23:10:33.278: [emm] INFO:     IMSI[001010000000103] (../src/mme/emm-handler.c:242)
01/13 23:10:33.278: [emm] INFO:     UTC [2023-01-13T14:10:33] Timezone[0]/DST[0] (../src/mme/emm-handler.c:248)
01/13 23:10:33.278: [emm] INFO:     LOCAL [2023-01-13T23:10:33] Timezone[32400]/DST[0] (../src/mme/emm-handler.c:252)
01/13 23:10:33.279: [mme] INFO: InitialUEMessage (../src/mme/s1ap-handler.c:223)
01/13 23:10:33.279: [mme] INFO: [Added] Number of eNB-UEs is now 5 (../src/mme/mme-context.c:3629)
01/13 23:10:33.280: [mme] INFO:     ENB_UE_S1AP_ID[3105598] MME_UE_S1AP_ID[5] TAC[1] CellID[0xe0000] (../src/mme/s1ap-handler.c:369)
01/13 23:10:33.280: [mme] INFO: [001010000000104] Unknown UE by IMSI (../src/mme/mme-context.c:2614)
01/13 23:10:33.281: [mme] INFO: [Added] Number of MME-UEs is now 5 (../src/mme/mme-context.c:2441)
01/13 23:10:33.281: [emm] INFO: [] Attach request (../src/mme/emm-sm.c:306)
01/13 23:10:33.281: [emm] INFO:     IMSI[001010000000104] (../src/mme/emm-handler.c:193)
01/13 23:10:33.339: [mme] INFO: [Added] Number of MME-Sessions is now 5 (../src/mme/mme-context.c:3643)
01/13 23:10:33.340: [sgwc] INFO: [Added] Number of SGWC-UEs is now 5 (../src/sgwc/context.c:210)
01/13 23:10:33.340: [sgwc] INFO: [Added] Number of SGWC-Sessions is now 5 (../src/sgwc/context.c:891)
01/13 23:10:33.342: [smf] INFO: [Added] Number of SMF-UEs is now 5 (../src/smf/context.c:1009)
01/13 23:10:33.342: [smf] INFO: [Added] Number of SMF-Sessions is now 5 (../src/smf/context.c:3088)
01/13 23:10:33.342: [smf] INFO: UE IMSI[001010000000104] APN[ims] IPv4[10.47.0.3] IPv6[] (../src/smf/s5c-handler.c:255)
01/13 23:10:33.594: [emm] INFO: [001010000000104] Attach complete (../src/mme/emm-sm.c:1082)
01/13 23:10:33.595: [emm] INFO:     IMSI[001010000000104] (../src/mme/emm-handler.c:242)
01/13 23:10:33.595: [emm] INFO:     UTC [2023-01-13T14:10:33] Timezone[0]/DST[0] (../src/mme/emm-handler.c:248)
01/13 23:10:33.595: [emm] INFO:     LOCAL [2023-01-13T23:10:33] Timezone[32400]/DST[0] (../src/mme/emm-handler.c:252)

The Open5GS U-Plane1 log when executed is as follows. 3 GTP-U sessions have been created.

01/13 23:10:32.462: [sgwu] INFO: UE F-SEID[UP:0x1 CP:0x1] (../src/sgwu/context.c:157)
01/13 23:10:32.462: [sgwu] INFO: [Added] Number of SGWU-Sessions is now 1 (../src/sgwu/context.c:162)
01/13 23:10:32.467: [upf] INFO: [Added] Number of UPF-Sessions is now 1 (../src/upf/context.c:181)
01/13 23:10:32.467: [gtp] INFO: gtp_connect() [192.168.0.113]:2152 (../lib/gtp/path.c:60)
01/13 23:10:32.467: [gtp] INFO: gtp_connect() [192.168.0.112]:2152 (../lib/gtp/path.c:60)
01/13 23:10:32.467: [upf] INFO: UE F-SEID[UP:0x1 CP:0x1] APN[internet] PDN-Type[1] IPv4[10.45.0.2] IPv6[] (../src/upf/context.c:401)
01/13 23:10:32.468: [upf] INFO: UE F-SEID[UP:0x1 CP:0x1] APN[internet] PDN-Type[1] IPv4[10.45.0.2] IPv6[] (../src/upf/context.c:401)
01/13 23:10:32.469: [gtp] INFO: gtp_connect() [192.168.0.114]:2152 (../lib/gtp/path.c:60)
01/13 23:10:32.722: [gtp] INFO: gtp_connect() [192.168.0.120]:2152 (../lib/gtp/path.c:60)
01/13 23:10:32.774: [sgwu] INFO: UE F-SEID[UP:0x2 CP:0x2] (../src/sgwu/context.c:157)
01/13 23:10:32.774: [sgwu] INFO: [Added] Number of SGWU-Sessions is now 2 (../src/sgwu/context.c:162)
01/13 23:10:32.778: [upf] INFO: [Added] Number of UPF-Sessions is now 2 (../src/upf/context.c:181)
01/13 23:10:32.779: [upf] INFO: UE F-SEID[UP:0x2 CP:0x2] APN[internet2] PDN-Type[1] IPv4[10.46.0.2] IPv6[] (../src/upf/context.c:401)
01/13 23:10:32.779: [upf] INFO: UE F-SEID[UP:0x2 CP:0x2] APN[internet2] PDN-Type[1] IPv4[10.46.0.2] IPv6[] (../src/upf/context.c:401)
01/13 23:10:33.041: [sgwu] INFO: UE F-SEID[UP:0x3 CP:0x3] (../src/sgwu/context.c:157)
01/13 23:10:33.041: [sgwu] INFO: [Added] Number of SGWU-Sessions is now 3 (../src/sgwu/context.c:162)
01/13 23:10:33.045: [upf] INFO: [Added] Number of UPF-Sessions is now 3 (../src/upf/context.c:181)
01/13 23:10:33.046: [upf] INFO: UE F-SEID[UP:0x3 CP:0x3] APN[internet2] PDN-Type[1] IPv4[10.46.0.3] IPv6[] (../src/upf/context.c:401)
01/13 23:10:33.046: [upf] INFO: UE F-SEID[UP:0x3 CP:0x3] APN[internet2] PDN-Type[1] IPv4[10.46.0.3] IPv6[] (../src/upf/context.c:401)

The Open5GS U-Plane2 log when executed is as follows. 2 GTP-U sessions have been created.

01/13 23:10:33.056: [sgwu] INFO: UE F-SEID[UP:0x1 CP:0x4] (../src/sgwu/context.c:157)
01/13 23:10:33.056: [sgwu] INFO: [Added] Number of SGWU-Sessions is now 1 (../src/sgwu/context.c:162)
01/13 23:10:33.059: [upf] INFO: [Added] Number of UPF-Sessions is now 1 (../src/upf/context.c:181)
01/13 23:10:33.059: [gtp] INFO: gtp_connect() [192.168.0.115]:2152 (../lib/gtp/path.c:60)
01/13 23:10:33.059: [gtp] INFO: gtp_connect() [192.168.0.112]:2152 (../lib/gtp/path.c:60)
01/13 23:10:33.059: [upf] INFO: UE F-SEID[UP:0x1 CP:0x4] APN[ims] PDN-Type[1] IPv4[10.47.0.2] IPv6[] (../src/upf/context.c:401)
01/13 23:10:33.059: [upf] INFO: UE F-SEID[UP:0x1 CP:0x4] APN[ims] PDN-Type[1] IPv4[10.47.0.2] IPv6[] (../src/upf/context.c:401)
01/13 23:10:33.060: [gtp] INFO: gtp_connect() [192.168.0.116]:2152 (../lib/gtp/path.c:60)
01/13 23:10:33.275: [gtp] INFO: gtp_connect() [192.168.0.120]:2152 (../lib/gtp/path.c:60)
01/13 23:10:33.336: [sgwu] INFO: UE F-SEID[UP:0x2 CP:0x5] (../src/sgwu/context.c:157)
01/13 23:10:33.336: [sgwu] INFO: [Added] Number of SGWU-Sessions is now 2 (../src/sgwu/context.c:162)
01/13 23:10:33.340: [upf] INFO: [Added] Number of UPF-Sessions is now 2 (../src/upf/context.c:181)
01/13 23:10:33.340: [upf] INFO: UE F-SEID[UP:0x2 CP:0x5] APN[ims] PDN-Type[1] IPv4[10.47.0.3] IPv6[] (../src/upf/context.c:401)
01/13 23:10:33.340: [upf] INFO: UE F-SEID[UP:0x2 CP:0x5] APN[ims] PDN-Type[1] IPv4[10.47.0.3] IPv6[] (../src/upf/context.c:401)

The result of ip addr show on VM4 (OAI UE) is as follows.

# ip addr show
...
52: oip1: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/generic 00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00
    inet 10.45.0.2/8 brd 10.255.255.255 scope global oip1
       valid_lft forever preferred_lft forever
53: oip2: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/generic 00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00
    inet 10.46.0.2/8 brd 10.255.255.255 scope global oip2
       valid_lft forever preferred_lft forever
54: oip3: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/generic 00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00
    inet 10.46.0.3/8 brd 10.255.255.255 scope global oip3
       valid_lft forever preferred_lft forever
55: oip4: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/generic 00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00
    inet 10.47.0.2/8 brd 10.255.255.255 scope global oip4
       valid_lft forever preferred_lft forever
56: oip5: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/generic 00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00
    inet 10.47.0.3/8 brd 10.255.255.255 scope global oip5
       valid_lft forever preferred_lft forever
...

Ping google.com

Specify the TUN interface on VM4 (UE0) and try ping.

Case for going through PDN 10.45.0.0/16

Execute tcpdump on VM2 (U-Plane1) and check that the packet goes through if=ogstun.

You could now create the end-to-end TUN interfaces on the PDN and send any packets on the network.


In investigating private LTE, I have built a simulation environment and can now use a very useful system for investigating CUPS-enabled EPC and MEC of LTE mobile network. I would like to thank the excellent developers and all the contributors of Open5GS and OpenAirInterface.

Changelog (summary)