Skip to content

s5uishida/simple_measurement_of_upf_performance_10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Simple Measurement of UPF Performance 10

This describes simple performance measurements of several open source UPFs by using the traffic generator TRex as the performance measurement tool and Simple PFCP Client as the PFCP simulator. This was measured on the VMs on Proxmox VE. For other measurement results, please see Performance Measurement.

Note. Performance measurement results are highly dependent on the measurement conditions. These results are only examples of results under certain measurement conditions. And this is a very simple measurement, and according to this comment, it doesn't seem to make much sense to measure between VMs. I hope it will serve as a reference for a simple configuration when measuring on real devices.



Table of Contents


Simple Overview of UPF Performance Measurements

I will easily measure the performance of several open source UPFs by using TRex as the traffic generator and Simple PFCP Client as the PFCP simulator. Note that this configuration is implemented with Proxmox VE VMs.

The following minimum configuration was set as a condition.

  • One PFCP client, TRex and DUT (UPF)

The built simulation environment is as follows.

Simple PFCP Client, TRex used are as follows.

The UPFs used are as follows.

Each VMs are as follows.

VM SW & Role IP address OS CPU Mem HDD
VM1 Simple PFCP Client 192.168.0.111/24 Ubuntu 24.04 1 1GB 10GB
VM-TG TRex
Traffic Generator
192.168.0.131/24 Ubuntu 24.04 3 8GB 10GB
VM-DUT each UPF DUT
(Device Under Test)
192.168.0.151/24 Ubuntu 24.04 2 8GB 20GB

Each VM-DUT(UPFs) are as follows.

# SW / packet processing Date Commit OS
a Open5GS UPF v2.7.6
user space
2026.01.17 926256b78de9409387ebbb3e05904784dd65e83a Ubuntu 24.04
b free5GC UPF
(go-upf) v1.2.8
kernel module
2026.01.05 b798fe5ee6a984be492fa53958dd5f1305469f85 Ubuntu 24.04
c UPG-VPP v1.13.0
DPDK/VPP
2024.03.25 dfdf64000566d35955d7c180720ff66086bd3572 Ubuntu 24.04
d eUPF v0.7.1
eBPF/XDP
2025.06.16 a8d774a0533ad71ddd59899be26f4aee8a31b5d2 Ubuntu 24.04
e OAI-CN5G-UPF v2.2.0
eBPF/XDP
2025.12.13 e025cdfb3a9c18a228f2efe36bd06b9de998554c Ubuntu 24.04

The network interfaces of each VM except VM-DUT are as follows.

VM Device Model Linux Bridge IP address Interface
VM1 ens18 VirtIO vmbr1 10.0.0.111/24 (NAPT NW)
ens19 VirtIO mgbr0 192.168.0.111/24 (Mgmt NW)
ens20 VirtIO vmbr4 192.168.14.111/24 N4
VM-TG ens18 VirtIO vmbr1 10.0.0.131/24 (NAPT NW) down
ens19 VirtIO mgbr0 192.168.0.131/24 (Mgmt NW)
ens20 VirtIO vmbr3 192.168.13.131/24 N3 (Under DPDK by uio_pci_generic)
ens21 VirtIO vmbr6 192.168.16.152/24 N6 (Under DPDK by uio_pci_generic)

The network interfaces of each VM-DUT(UPFs) are as follows.

# SW Device Model Linux Bridge IP address Interface
a Open5GS UPF ens18 VirtIO vmbr1 10.0.0.151/24 (NAPT NW) down
ens19 VirtIO mgbr0 192.168.0.151/24 (Mgmt NW)
ens20 VirtIO vmbr3 192.168.13.151/24 N3
ens21 VirtIO vmbr4 192.168.14.151/24 N4
ens22 VirtIO vmbr6 192.168.16.151/24 N6
b free5GC UPF
(go-upf)
ens18 VirtIO vmbr1 10.0.0.151/24 (NAPT NW) down
ens19 VirtIO mgbr0 192.168.0.151/24 (Mgmt NW)
ens20 VirtIO vmbr3 192.168.13.151/24 N3
ens21 VirtIO vmbr4 192.168.14.151/24 N4
ens22 VirtIO vmbr6 192.168.16.151/24 N6
c UPG-VPP ens18 VirtIO vmbr1 10.0.0.151/24 (NAPT NW) down
ens19 VirtIO mgbr0 192.168.0.151/24 (Mgmt NW)
ens20 VirtIO vmbr3 192.168.13.151/24 N3 (Under DPDK by vfio-pci)
ens21 VirtIO vmbr4 192.168.14.151/24 N4 (Under DPDK by vfio-pci)
ens22 VirtIO vmbr6 192.168.16.151/24 N6 (Under DPDK by vfio-pci)
d eUPF ens18 VirtIO vmbr1 10.0.0.151/24 (NAPT NW) down
ens19 VirtIO mgbr0 192.168.0.151/24 (Mgmt NW)
ens20 VirtIO vmbr3 192.168.13.151/24 N3 (XDP)
ens21 VirtIO vmbr4 192.168.14.151/24 N4
ens22 VirtIO vmbr6 192.168.16.151/24 N6 (XDP)
e OAI-CN5G-UPF ens18 VirtIO vmbr1 10.0.0.151/24 (NAPT NW) down
ens19 VirtIO mgbr0 192.168.0.151/24 (Mgmt NW)
ens20 VirtIO vmbr3 192.168.13.151/24 N3 (XDP)
ens21 VirtIO vmbr4 192.168.14.151/24 N4
ens22 VirtIO vmbr6 192.168.16.151/24 N6 (XDP)

Linux Bridges of Proxmox VE are as follows.

Linux Bridge Network CIDR Interface
vmbr1 10.0.0.0/24 NAPT NW
mgbr0 192.168.0.0/24 Mgmt NW
vmbr3 192.168.13.0/24 N3
vmbr4 192.168.14.0/24 N4
vmbr6 192.168.16.0/24 N6

UE IP address and TEID are as follows.

UE IP address UpLink TEID DownLink TEID
10.45.0.2/24 0x00000001 0x00000002

Changes in configuration files of Simple PFCP Client, TRex and UPFs

Please refer to the following for building Simple PFCP Client, TRex and UPFs respectively.

Changes in configuration files of Simple PFCP Client

See here for the original file.

  • /root/pfcp_request.py
    There is no change.

Changes in configuration files of TRex

See here for the original file.

  • /etc/trex_cfg.yaml
    There is no change.

See here for the original load profiles.

  • /opt/trex/stl/gtp_1pkt_simple.py for UpLink
    There is no change.

  • /opt/trex/stl/udp_1pkt_simple.py for DownLink
    There is no change.

See here for the original latency profiles.

  • /opt/trex/stl/gtp_latency_1pkt_simple.py for UpLink
    There is no change.

  • /opt/trex/stl/udp_latency_1pkt_simple.py for DownLink
    There is no change.

Changes in configuration files of UPFs

a-1. Changes in configuration files of Open5GS 5GC UPF (TUN)

  • open5gs/install/etc/open5gs/upf.yaml
--- upf.yaml.orig       2024-05-02 19:52:00.000000000 +0900
+++ upf.yaml        2024-05-19 12:38:00.000000000 +0900
@@ -11,18 +11,18 @@
 upf:
   pfcp:
     server:
-      - address: 127.0.0.7
+      - address: 192.168.14.151
     client:
 #      smf:     #  UPF PFCP Client try to associate SMF PFCP Server
 #        - address: 127.0.0.4
   gtpu:
     server:
-      - address: 127.0.0.7
+      - address: 192.168.13.151
   session:
     - subnet: 10.45.0.0/16
       gateway: 10.45.0.1
-    - subnet: 2001:db8:cafe::/48
-      gateway: 2001:db8:cafe::1
+      dnn: internet
+      dev: ogstun
   metrics:
     server:
       - address: 127.0.0.7

a-2. Changes in configuration files of Open5GS 5GC UPF (TAP)

  • open5gs/install/etc/open5gs/upf.yaml
--- upf.yaml.orig       2024-05-02 19:52:00.000000000 +0900
+++ upf.yaml        2024-09-23 14:00:20.724467385 +0900
@@ -11,18 +11,18 @@
 upf:
   pfcp:
     server:
-      - address: 127.0.0.7
+      - address: 192.168.14.151
     client:
 #      smf:     #  UPF PFCP Client try to associate SMF PFCP Server
 #        - address: 127.0.0.4
   gtpu:
     server:
-      - address: 127.0.0.7
+      - address: 192.168.13.151
   session:
     - subnet: 10.45.0.0/16
       gateway: 10.45.0.1
-    - subnet: 2001:db8:cafe::/48
-      gateway: 2001:db8:cafe::1
+      dnn: internet
+      dev: ogstap
   metrics:
     server:
       - address: 127.0.0.7

b. Changes in configuration files of free5GC 5GC UPF

  • go-upf/upfcfg.yaml
--- upfcfg.yaml.orig    2024-10-14 04:53:12.341028732 +0900
+++ upfcfg.yaml 2024-10-14 06:11:36.636303534 +0900
@@ -4,8 +4,8 @@
 # PFCP Configuration
 # The listen IP and nodeID of the N4 interface on this UPF (Can't set to 0.0.0.0)
 pfcp:
-  addr: 127.0.0.8   # IP addr for listening
-  nodeID: 127.0.0.8 # External IP or FQDN can be reached
+  addr: 192.168.14.151   # IP addr for listening
+  nodeID: 192.168.14.151 # External IP or FQDN can be reached
   retransTimeout: 1s # retransmission timeout
   maxRetrans: 3 # the max number of retransmission
 
@@ -18,7 +18,7 @@
   # If you bind to a specific IP, ensure SMF uses the same IP in its N3 configuration.
   # If you bind to all (0.0.0.0), SMF can use any of the available UPF IPs, but do not use 0.0.0.0 in SMF.
   ifList:
-    - addr: 127.0.0.8
+    - addr: 192.168.13.151
       type: N3
       # name: upf.5gc.nctu.me
       # ifname: gtpif
@@ -28,9 +28,7 @@
 # List of Data Network Names (DNN) supported by this UPF.
 dnnList:
   - dnn: internet # Data Network Name
-    cidr: 10.60.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE
-  - dnn: internet # Data Network Name
-    cidr: 10.61.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE
+    cidr: 10.45.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE
     # natifname: eth0
 
 # Logging Configuration

c. Changes in configuration files of UPG-VPP

See here for the original files.

  • upg-vpp/startup.conf
    There is no change.

  • upg-vpp/init.conf
    There is no change.

d. Changes in configuration files of eUPF

See here for the original file.

  • eupf/config.yml
    There is no change.

e-1. Changes in configuration files of OAI-CN5G-UPF (Simple Switch)

See here for the original file. And change this config.yaml to apply Simple Switch mode. Additionally, to prevent performance degradation, change the log level like this.

  • openair-upf/config.yaml

e-2. Changes in configuration files of OAI-CN5G-UPF (eBPF/XDP)

See here for the original file.

  • openair-upf/config.yaml
    There is no change.

Network settings of TRex and UPFs

Network settings of TRex

Set the OS kernel parameter according to this.

a-1. Network settings of Open5GS 5GC UPF (TUN)

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, down the interface ens18 of the VM-DUT to delete default GW.

# ip link set dev ens18 down

Then, configure the TUNnel interface.

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

a-2. Network settings of Open5GS 5GC UPF (TAP)

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, down the interface ens18 of the VM-DUT to delete default GW.

# ip link set dev ens18 down

Then, configure the TAP interface.

# ip tuntap add name ogstap mode tap
# ip addr add 10.45.0.1/16 dev ogstap
# ip link set ogstap up

b. Network settings of free5GC 5GC UPF

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, down the interface ens18 of the VM-DUT to delete default GW.

# ip link set dev ens18 down

c. Network settings of UPG-VPP

See this.

d. Network settings of eUPF

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, down the interface ens18 of the VM-DUT to delete default GW.

# ip link set dev ens18 down

e-1. Network settings of OAI-CN5G-UPF (Simple Switch)

First, see this. Then, down the interface ens18 of the VM-DUT to delete default GW.

# ip link set dev ens18 down

e-2. Network settings of OAI-CN5G-UPF (eBPF/XDP)

Down the interface ens18 of the VM-DUT to delete default GW.

# ip link set dev ens18 down

Build Simple PFCP Client, TRex and UPFs

Please refer to the following for building Simple PFCP Client, TRex and UPFs respectively.

Run Simple PFCP Client, TRex and UPFs

First run each UPF, then Simple PFCP Client and TRex last. Each UPF uses the same IP address, so start only the UPF you want to measure.

Run UPFs

a-1. Run Open5GS 5GC UPF (TUN)

Please use the configuration files changed for TUN interface.

# cd open5gs
# ./install/bin/open5gs-upfd

a-2. Run Open5GS 5GC UPF (TAP)

Please use the configuration files changed for TAP interface.

# cd open5gs
# ./install/bin/open5gs-upfd

b. Run free5GC 5GC UPF

# cd go-upf
# ./upf -c upfcfg.yaml

c. Run UPG-VPP

See this.

d. Run eUPF

See this.

e-1. Run OAI-CN5G-UPF (Simple Switch)

See this.

e-2. Run OAI-CN5G-UPF (eBPF/XDP)

See this.

Run Simple PFCP Client

See this.

Run TRex

Please refer to this to run TRex.

Measure UPF Performance

Please see below for methods for measuring UpLink and DownLink performances.

Results

In this measurement, the UDP payload size is set to 1400 bytes.

Load measurement

# UPF / Date UpLink
Gbps

Kpps
(VM-TG)
CPU%[1]
DownLink
Gbps

Kpps
(VM-TG)
CPU%[1]
a-1 Open5GS UPF v2.7.6 (TUN)
2026.01.17
Tx:1.79
Rx:1.11
Tx:150.05
Rx:95.96
1.82 Tx:1.74
Rx:1.21
Tx:150.13
Rx:101.75
1.4
a-2 Open5GS UPF v2.7.6 (TAP)
2026.01.17
Tx:1.79
Rx:1.13
Tx:149.95
Rx:97.65
1.35 Tx:1.73
Rx:1.2
Tx:149.53
Rx:100.92
1.57
b free5GC UPF v1.2.8
2026.01.05
Tx:5.92
Rx:4.81
Tx:496.44
Rx:416.04
6.51 Tx:5.77
Rx:3.92
Tx:498.45
Rx:330.15
6.04
c UPG-VPP v1.13.0
2024.03.25
Tx:10.35
Rx:8.2
Tx:868.58
Rx:708.5
11.05 Tx:10.04
Rx:8.19
Tx:867.78
Rx:690.39
12.78
d eUPF v0.7.1 (native mode)
2025.06.16
Tx:11.48
Rx:9.58
Tx:963.22
Rx:828.42
67.53 Tx:11.08
Rx:9.72
Tx:957.63
Rx:815.05
65.42
e-1 OAI-CN5G-UPF v2.2.0
(Simple Switch)
2025.12.13
Tx:2.38
Rx:1.33
Tx:200.03
Rx:114.85
2.52 Tx:2.31
Rx:1.99
Tx:199.61
Rx:166.65
2.41
e-2 OAI-CN5G-UPF v2.2.0
(eBPF/XDP)
2025.12.13
Tx:11.39
Rx:9.58
Tx:955.15
Rx:827.88
66.71 Tx:11.25
Rx:9.82
Tx:972.35
Rx:823.87
65.25
  1. CPU load - per core of TRex VM (VM-TG). In this case only one core is used.
a-1. logs for Open5GS UPF v2.7.6 (TUN)

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 150kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 1.79 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 1.81 Gbps                      
cpu_util.    : 1.82% @ 1 cores (1 per dual port)          total_rx     : 1.11 Gbps                      
rx_cpu_util. : 0.15% / 95.96 Kpps                         total_pps    : 150.05 Kpps                    
async_util.  : 0% / 17.83 bps                             drop_rate    : 678.53 Mbps                    
total_cps.   : 0 cps                                      queue_full   : 20,153 pkts                    

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |             1.82% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |         1.79 Gbps |          0.02 bps |         1.79 Gbps 
Tx bps L1  |         1.81 Gbps |          0.03 bps |         1.81 Gbps 
Tx pps     |       150.05 Kpps |             0 pps |       150.05 Kpps 
Line Util. |            0.91 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |             0 bps |         1.11 Gbps |         1.11 Gbps 
Rx pps     |             0 pps |        95.96 Kpps |        95.96 Kpps 
----       |                   |                   |                   
opackets   |           5732680 |                 2 |           5732682 
ipackets   |                 0 |           3637927 |           3637927 
obytes     |        8541693200 |                92 |        8541693292 
ibytes     |                 0 |        5260438270 |        5260438270 
tx-pkts    |        5.73 Mpkts |            2 pkts |        5.73 Mpkts 
rx-pkts    |            0 pkts |        3.64 Mpkts |        3.64 Mpkts 
tx-bytes   |           8.54 GB |              92 B |           8.54 GB 
rx-bytes   |               0 B |           5.26 GB |           5.26 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  |

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 150kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 1.74 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 1.76 Gbps                      
cpu_util.    : 1.4% @ 1 cores (1 per dual port)           total_rx     : 1.21 Gbps                      
rx_cpu_util. : 0.25% / 101.76 Kpps                        total_pps    : 150.13 Kpps                    
async_util.  : 0% / 15.53 bps                             drop_rate    : 530.42 Mbps                    
total_cps.   : 0 cps                                      queue_full   : 27,375 pkts                    

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |              1.4% |                   
--         |                   |                   |                   
Tx bps L2  |          1.41 bps |         1.74 Gbps |         1.74 Gbps 
Tx bps L1  |          2.02 bps |         1.76 Gbps |         1.76 Gbps 
Tx pps     |             0 pps |       150.13 Kpps |       150.13 Kpps 
Line Util. |               0 % |            0.88 % |                   
---        |                   |                   |                   
Rx bps     |         1.21 Gbps |             0 bps |         1.21 Gbps 
Rx pps     |       101.75 Kpps |             0 pps |       101.75 Kpps 
----       |                   |                   |                   
opackets   |           6000003 |           1870234 |           7870237 
ipackets   |           1260211 |           3813208 |           5073419 
obytes     |        8940003026 |        2704355564 |       11644358590 
ibytes     |        1867629858 |        5513894596 |        7381524454 
tx-pkts    |           6 Mpkts |        1.87 Mpkts |        7.87 Mpkts 
rx-pkts    |        1.26 Mpkts |        3.81 Mpkts |        5.07 Mpkts 
tx-bytes   |           8.94 GB |            2.7 GB |          11.64 GB 
rx-bytes   |           1.87 GB |           5.51 GB |           7.38 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  \

Press 'ESC' for navigation panel...
status: 

tui>
a-2. logs for Open5GS UPF v2.7.6 (TAP)

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 150kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 1.79 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 1.81 Gbps                      
cpu_util.    : 1.35% @ 1 cores (1 per dual port)          total_rx     : 1.13 Gbps                      
rx_cpu_util. : 0.15% / 97.65 Kpps                         total_pps    : 149.95 Kpps                    
async_util.  : 0% / 4.65 bps                              drop_rate    : 657.79 Mbps                    
total_cps.   : 0 cps                                      queue_full   : 10,721 pkts                    

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |             1.35% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |         1.79 Gbps |           0.7 bps |         1.79 Gbps 
Tx bps L1  |         1.81 Gbps |          1.01 bps |         1.81 Gbps 
Tx pps     |       149.95 Kpps |             0 pps |       149.95 Kpps 
Line Util. |            0.91 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |             0 bps |         1.13 Gbps |         1.13 Gbps 
Rx pps     |             0 pps |        97.65 Kpps |        97.65 Kpps 
----       |                   |                   |                   
opackets   |           2142215 |                 1 |           2142216 
ipackets   |                 0 |           1331921 |           1331921 
obytes     |        3191900350 |                46 |        3191900396 
ibytes     |                 0 |        1925956366 |        1925956366 
tx-pkts    |        2.14 Mpkts |            1 pkts |        2.14 Mpkts 
rx-pkts    |            0 pkts |        1.33 Mpkts |        1.33 Mpkts 
tx-bytes   |           3.19 GB |              46 B |           3.19 GB 
rx-bytes   |               0 B |           1.93 GB |           1.93 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  |

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 150kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 1.73 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 1.75 Gbps                      
cpu_util.    : 1.57% @ 1 cores (1 per dual port)          total_rx     : 1.2 Gbps                       
rx_cpu_util. : 0.26% / 100.92 Kpps                        total_pps    : 149.53 Kpps                    
async_util.  : 0% / 8.55 bps                              drop_rate    : 533.27 Mbps                    
total_cps.   : 0 cps                                      queue_full   : 39,521 pkts                    

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |             1.57% |                   
--         |                   |                   |                   
Tx bps L2  |          0.04 bps |         1.73 Gbps |         1.73 Gbps 
Tx bps L1  |          0.06 bps |         1.75 Gbps |         1.75 Gbps 
Tx pps     |             0 pps |       149.53 Kpps |       149.53 Kpps 
Line Util. |               0 % |            0.88 % |                   
---        |                   |                   |                   
Rx bps     |          1.2 Gbps |             0 bps |          1.2 Gbps 
Rx pps     |       100.92 Kpps |             0 pps |       100.92 Kpps 
----       |                   |                   |                   
opackets   |           4500002 |           2700880 |           7200882 
ipackets   |           1782930 |           2865306 |           4648236 
obytes     |        6705001536 |        3905471080 |       10610472616 
ibytes     |        2642300824 |        4143231076 |        6785531900 
tx-pkts    |         4.5 Mpkts |         2.7 Mpkts |         7.2 Mpkts 
rx-pkts    |        1.78 Mpkts |        2.87 Mpkts |        4.65 Mpkts 
tx-bytes   |           6.71 GB |           3.91 GB |          10.61 GB 
rx-bytes   |           2.64 GB |           4.14 GB |           6.79 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  -

Press 'ESC' for navigation panel...
status: 

tui>
b. logs for free5GC UPF v1.2.8

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 500kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 5.92 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 6 Gbps                         
cpu_util.    : 6.51% @ 1 cores (1 per dual port)          total_rx     : 4.81 Gbps                      
rx_cpu_util. : 0.75% / 416.04 Kpps                        total_pps    : 496.44 Kpps                    
async_util.  : 0% / 7.22 bps                              drop_rate    : 1.1 Gbps                       
total_cps.   : 0 cps                                      queue_full   : 99,175 pkts                    

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |             6.51% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |         5.92 Gbps |             0 bps |         5.92 Gbps 
Tx bps L1  |            6 Gbps |             0 bps |            6 Gbps 
Tx pps     |       496.44 Kpps |             0 pps |       496.44 Kpps 
Line Util. |               3 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |             0 bps |         4.81 Gbps |         4.81 Gbps 
Rx pps     |             0 pps |       416.04 Kpps |       416.04 Kpps 
----       |                   |                   |                   
opackets   |          12624256 |                 1 |          12624257 
ipackets   |                 0 |          10450514 |          10450514 
obytes     |       18810141440 |                46 |       18810141486 
ibytes     |                 0 |       15111441844 |       15111441844 
tx-pkts    |       12.62 Mpkts |            1 pkts |       12.62 Mpkts 
rx-pkts    |            0 pkts |       10.45 Mpkts |       10.45 Mpkts 
tx-bytes   |          18.81 GB |              46 B |          18.81 GB 
rx-bytes   |               0 B |          15.11 GB |          15.11 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  |

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 500kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 5.77 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 5.85 Gbps                      
cpu_util.    : 6.04% @ 1 cores (1 per dual port)          total_rx     : 3.92 Gbps                      
rx_cpu_util. : 0.41% / 330.15 Kpps                        total_pps    : 498.45 Kpps                    
async_util.  : 0% / 18.46 bps                             drop_rate    : 1.84 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 315,658 pkts                   

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |             6.04% |                   
--         |                   |                   |                   
Tx bps L2  |          1.42 bps |         5.77 Gbps |         5.77 Gbps 
Tx bps L1  |          2.04 bps |         5.85 Gbps |         5.85 Gbps 
Tx pps     |             0 pps |       498.45 Kpps |       498.45 Kpps 
Line Util. |               0 % |            2.92 % |                   
---        |                   |                   |                   
Rx bps     |         3.92 Gbps |             0 bps |         3.92 Gbps 
Rx pps     |       330.15 Kpps |             0 pps |       330.15 Kpps 
----       |                   |                   |                   
opackets   |                 2 |          21720258 |          21720260 
ipackets   |          12731457 |                 0 |          12731457 
obytes     |                92 |       31407493068 |       31407493160 
ibytes     |       18918942222 |                 0 |       18918942222 
tx-pkts    |            2 pkts |       21.72 Mpkts |       21.72 Mpkts 
rx-pkts    |       12.73 Mpkts |            0 pkts |       12.73 Mpkts 
tx-bytes   |              92 B |          31.41 GB |          31.41 GB 
rx-bytes   |          18.92 GB |               0 B |          18.92 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  /

Press 'ESC' for navigation panel...
status: 

tui>
c. logs for UPG-VPP v1.13.0

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 900kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 10.35 Gbps                     
version      : STL @ v3.08                                total_tx_L1  : 10.49 Gbps                     
cpu_util.    : 11.05% @ 1 cores (1 per dual port)         total_rx     : 8.2 Gbps                       
rx_cpu_util. : 1.37% / 708.5 Kpps                         total_pps    : 868.58 Kpps                    
async_util.  : 0% / 16.73 bps                             drop_rate    : 2.16 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 38,477,232 pkts                

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |            11.05% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |        10.35 Gbps |             0 bps |        10.35 Gbps 
Tx bps L1  |        10.49 Gbps |             0 bps |        10.49 Gbps 
Tx pps     |       868.58 Kpps |             0 pps |       868.58 Kpps 
Line Util. |            5.25 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |             0 bps |          8.2 Gbps |          8.2 Gbps 
Rx pps     |             0 pps |        708.5 Kpps |        708.5 Kpps 
----       |                   |                   |                   
opackets   |         114801912 |          27000023 |         141801935 
ipackets   |          19027522 |          75457064 |          94484586 
obytes     |      171054848880 |       39042033258 |      210096882138 
ibytes     |       28198787604 |      109110914544 |      137309702148 
tx-pkts    |       114.8 Mpkts |          27 Mpkts |       141.8 Mpkts 
rx-pkts    |       19.03 Mpkts |       75.46 Mpkts |       94.48 Mpkts 
tx-bytes   |         171.05 GB |          39.04 GB |          210.1 GB 
rx-bytes   |           28.2 GB |         109.11 GB |         137.31 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  /

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 900kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 10.04 Gbps                     
version      : STL @ v3.08                                total_tx_L1  : 10.18 Gbps                     
cpu_util.    : 12.78% @ 1 cores (1 per dual port)         total_rx     : 8.19 Gbps                      
rx_cpu_util. : 1.29% / 690.39 Kpps                        total_pps    : 867.78 Kpps                    
async_util.  : 0% / 23.84 bps                             drop_rate    : 1.85 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 15,576,307 pkts                

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |            12.78% |                   
--         |                   |                   |                   
Tx bps L2  |         11.14 bps |        10.04 Gbps |        10.04 Gbps 
Tx bps L1  |         11.29 bps |        10.18 Gbps |        10.18 Gbps 
Tx pps     |             0 pps |       867.78 Kpps |       867.78 Kpps 
Line Util. |               0 % |            5.09 % |                   
---        |                   |                   |                   
Rx bps     |         8.19 Gbps |          7.48 bps |         8.19 Gbps 
Rx pps     |       690.39 Kpps |             0 pps |       690.39 Kpps 
----       |                   |                   |                   
opackets   |          54000001 |           6779399 |          60779400 
ipackets   |           4980236 |          35162083 |          40142319 
obytes     |       80460001490 |        9803010954 |       90263012444 
ibytes     |        7380709752 |       50844372018 |       58225081770 
tx-pkts    |          54 Mpkts |        6.78 Mpkts |       60.78 Mpkts 
rx-pkts    |        4.98 Mpkts |       35.16 Mpkts |       40.14 Mpkts 
tx-bytes   |          80.46 GB |            9.8 GB |          90.26 GB 
rx-bytes   |           7.38 GB |          50.84 GB |          58.23 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  /

Press 'ESC' for navigation panel...
status: 

tui>
d. logs for eUPF v0.7.1

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 1000kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 11.48 Gbps                     
version      : STL @ v3.08                                total_tx_L1  : 11.64 Gbps                     
cpu_util.    : 67.53% @ 1 cores (1 per dual port)         total_rx     : 9.58 Gbps                      
rx_cpu_util. : 2.92% / 828.42 Kpps                        total_pps    : 963.22 Kpps                    
async_util.  : 0% / 7.76 bps                              drop_rate    : 1.9 Gbps                       
total_cps.   : 0 cps                                      queue_full   : 10,737,930 pkts                

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |            67.53% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |        11.48 Gbps |             0 bps |        11.48 Gbps 
Tx bps L1  |        11.64 Gbps |             0 bps |        11.64 Gbps 
Tx pps     |       963.22 Kpps |             0 pps |       963.22 Kpps 
Line Util. |            5.82 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |             0 bps |         9.58 Gbps |         9.58 Gbps 
Rx pps     |             0 pps |       828.42 Kpps |       828.42 Kpps 
----       |                   |                   |                   
opackets   |          19068097 |                 0 |          19068097 
ipackets   |                 0 |          16052039 |          16052039 
obytes     |       28411464530 |                 0 |       28411464530 
ibytes     |                 0 |       23211248394 |       23211248394 
tx-pkts    |       19.07 Mpkts |            0 pkts |       19.07 Mpkts 
rx-pkts    |            0 pkts |       16.05 Mpkts |       16.05 Mpkts 
tx-bytes   |          28.41 GB |               0 B |          28.41 GB 
rx-bytes   |               0 B |          23.21 GB |          23.21 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  /

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 1000kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 11.08 Gbps                     
version      : STL @ v3.08                                total_tx_L1  : 11.23 Gbps                     
cpu_util.    : 65.42% @ 1 cores (1 per dual port)         total_rx     : 9.72 Gbps                      
rx_cpu_util. : 1.92% / 815.05 Kpps                        total_pps    : 957.63 Kpps                    
async_util.  : 0% / 10.39 bps                             drop_rate    : 1.36 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 25,780,840 pkts                

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |            65.42% |                   
--         |                   |                   |                   
Tx bps L2  |          0.01 bps |        11.08 Gbps |        11.08 Gbps 
Tx bps L1  |          0.01 bps |        11.23 Gbps |        11.23 Gbps 
Tx pps     |             0 pps |       957.63 Kpps |       957.63 Kpps 
Line Util. |               0 % |            5.62 % |                   
---        |                   |                   |                   
Rx bps     |         9.72 Gbps |          0.01 bps |         9.72 Gbps 
Rx pps     |       815.05 Kpps |             0 pps |       815.05 Kpps 
----       |                   |                   |                   
opackets   |          30000001 |          15746289 |          45746290 
ipackets   |          13195910 |          25139581 |          38335491 
obytes     |       44700001490 |       22769133894 |       67469135384 
ibytes     |       19661904484 |       36351832754 |       56013737238 
tx-pkts    |          30 Mpkts |       15.75 Mpkts |       45.75 Mpkts 
rx-pkts    |        13.2 Mpkts |       25.14 Mpkts |       38.34 Mpkts 
tx-bytes   |           44.7 GB |          22.77 GB |          67.47 GB 
rx-bytes   |          19.66 GB |          36.35 GB |          56.01 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  |

Press 'ESC' for navigation panel...
status: 

tui>
e-1. logs for OAI-CN5G-UPF v2.2.0 (Simple Switch)

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 200kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 2.38 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 2.42 Gbps                      
cpu_util.    : 2.52% @ 1 cores (1 per dual port)          total_rx     : 1.33 Gbps                      
rx_cpu_util. : 0.05% / 114.85 Kpps                        total_pps    : 200.03 Kpps                    
async_util.  : 0% / 26.06 bps                             drop_rate    : 1.06 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 504,207 pkts                   

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |             2.52% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |         2.38 Gbps |             0 bps |         2.38 Gbps 
Tx bps L1  |         2.42 Gbps |             0 bps |         2.42 Gbps 
Tx pps     |       200.03 Kpps |             0 pps |       200.03 Kpps 
Line Util. |            1.21 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |             0 bps |         1.33 Gbps |         1.33 Gbps 
Rx pps     |             0 pps |       114.85 Kpps |       114.85 Kpps 
----       |                   |                   |                   
opackets   |          43909700 |          18000023 |          61909723 
ipackets   |          13049932 |          23554961 |          36604893 
obytes     |       65425444336 |       26028020658 |       91453464994 
ibytes     |       19444387184 |       34060458262 |       53504845446 
tx-pkts    |       43.91 Mpkts |          18 Mpkts |       61.91 Mpkts 
rx-pkts    |       13.05 Mpkts |       23.55 Mpkts |        36.6 Mpkts 
tx-bytes   |          65.43 GB |          26.03 GB |          91.45 GB 
rx-bytes   |          19.44 GB |          34.06 GB |           53.5 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  \

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 200kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 2.31 Gbps                      
version      : STL @ v3.08                                total_tx_L1  : 2.34 Gbps                      
cpu_util.    : 2.41% @ 1 cores (1 per dual port)          total_rx     : 1.99 Gbps                      
rx_cpu_util. : 0.15% / 166.65 Kpps                        total_pps    : 199.61 Kpps                    
async_util.  : 0% / 25.69 bps                             drop_rate    : 322.53 Mbps                    
total_cps.   : 0 cps                                      queue_full   : 935,390 pkts                   

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |             2.41% |                   
--         |                   |                   |                   
Tx bps L2  |             0 bps |         2.31 Gbps |         2.31 Gbps 
Tx bps L1  |             0 bps |         2.34 Gbps |         2.34 Gbps 
Tx pps     |             0 pps |       199.61 Kpps |       199.61 Kpps 
Line Util. |               0 % |            1.17 % |                   
---        |                   |                   |                   
Rx bps     |         1.99 Gbps |             0 bps |         1.99 Gbps 
Rx pps     |       166.65 Kpps |             0 pps |       166.65 Kpps 
----       |                   |                   |                   
opackets   |          44000040 |          34719641 |          78719681 
ipackets   |          24731354 |          23601087 |          48332441 
obytes     |       65560045160 |       50204588286 |      115764633446 
ibytes     |       36849698772 |       34127156458 |       70976855230 
tx-pkts    |          44 Mpkts |       34.72 Mpkts |       78.72 Mpkts 
rx-pkts    |       24.73 Mpkts |        23.6 Mpkts |       48.33 Mpkts 
tx-bytes   |          65.56 GB |           50.2 GB |         115.76 GB 
rx-bytes   |          36.85 GB |          34.13 GB |          70.98 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  -

Press 'ESC' for navigation panel...
status: 

tui>
e-2. logs for OAI-CN5G-UPF v2.2.0 (eBPF/XDP)

UpLink measurement

start -f stl/gtp_1pkt_simple.py -p 0 -m 1000kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 11.39 Gbps                     
version      : STL @ v3.08                                total_tx_L1  : 11.54 Gbps                     
cpu_util.    : 66.71% @ 1 cores (1 per dual port)         total_rx     : 9.58 Gbps                      
rx_cpu_util. : 1.99% / 827.88 Kpps                        total_pps    : 955.15 Kpps                    
async_util.  : 0% / 15.61 bps                             drop_rate    : 1.81 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 5,170,749 pkts                 

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |      TRANSMITTING |              IDLE |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |            66.71% |              0.0% |                   
--         |                   |                   |                   
Tx bps L2  |        11.39 Gbps |             0 bps |        11.39 Gbps 
Tx bps L1  |        11.54 Gbps |             0 bps |        11.54 Gbps 
Tx pps     |       955.15 Kpps |             0 pps |       955.15 Kpps 
Line Util. |            5.77 % |               0 % |                   
---        |                   |                   |                   
Rx bps     |          0.57 bps |         9.58 Gbps |         9.58 Gbps 
Rx pps     |             0 pps |       827.88 Kpps |       827.88 Kpps 
----       |                   |                   |                   
opackets   |           8215450 |                 0 |           8215450 
ipackets   |                 1 |           7102558 |           7102559 
obytes     |       12241020500 |                 0 |       12241020500 
ibytes     |                74 |       10270297496 |       10270297570 
tx-pkts    |        8.22 Mpkts |            0 pkts |        8.22 Mpkts 
rx-pkts    |            1 pkts |         7.1 Mpkts |         7.1 Mpkts 
tx-bytes   |          12.24 GB |               0 B |          12.24 GB 
rx-bytes   |              74 B |          10.27 GB |          10.27 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  /

Press 'ESC' for navigation panel...
status: 

tui>

DownLink measurement

start -f stl/udp_1pkt_simple.py -p 1 -m 1000kpps -d 60
Global Statistics

connection   : localhost, Port 4501                       total_tx_L2  : 11.25 Gbps                     
version      : STL @ v3.08                                total_tx_L1  : 11.4 Gbps                      
cpu_util.    : 65.25% @ 1 cores (1 per dual port)         total_rx     : 9.82 Gbps                      
rx_cpu_util. : 2.17% / 823.87 Kpps                        total_pps    : 972.35 Kpps                    
async_util.  : 0% / 10.44 bps                             drop_rate    : 1.43 Gbps                      
total_cps.   : 0 cps                                      queue_full   : 60,397,608 pkts                

Port Statistics

   port    |         0         |         1         |       total       
-----------+-------------------+-------------------+------------------
owner      |              root |              root |                   
link       |                UP |                UP |                   
state      |              IDLE |      TRANSMITTING |                   
speed      |          200 Gb/s |          200 Gb/s |                   
CPU util.  |              0.0% |            65.25% |                   
--         |                   |                   |                   
Tx bps L2  |             0 bps |        11.25 Gbps |        11.25 Gbps 
Tx bps L1  |             0 bps |         11.4 Gbps |         11.4 Gbps 
Tx pps     |             0 pps |       972.35 Kpps |       972.35 Kpps 
Line Util. |               0 % |             5.7 % |                   
---        |                   |                   |                   
Rx bps     |         9.82 Gbps |             0 bps |         9.82 Gbps 
Rx pps     |       823.87 Kpps |             0 pps |       823.87 Kpps 
----       |                   |                   |                   
opackets   |          30000001 |          85612755 |         115612756 
ipackets   |          71071564 |          24342334 |          95413898 
obytes     |       44700001490 |      123796043730 |      168496045220 
ibytes     |      105896630360 |       35199014964 |      141095645324 
tx-pkts    |          30 Mpkts |       85.61 Mpkts |      115.61 Mpkts 
rx-pkts    |       71.07 Mpkts |       24.34 Mpkts |       95.41 Mpkts 
tx-bytes   |           44.7 GB |          123.8 GB |          168.5 GB 
rx-bytes   |          105.9 GB |           35.2 GB |          141.1 GB 
-----      |                   |                   |                   
oerrors    |                 0 |                 0 |                 0 
ierrors    |                 0 |                 0 |                 0 

status:  \

Press 'ESC' for navigation panel...
status: 

tui>

Latency measurement

# UPF / Date UpLink
Avg
(msec)

Max
(msec)

Min
(msec)
DownLink
Avg
(msec)

Max
(msec)

Min
(msec)
a-1 Open5GS UPF v2.7.6 (TUN)
2026.01.17
0.302 0.327 0.255 0.246 0.256 0.206
a-2 Open5GS UPF v2.7.6 (TAP)
2026.01.17
0.303 0.337 0.280 0.271 0.306 0.253
b free5GC UPF v1.2.8
2026.01.05
0.211 0.220 0.195 0.222 0.234 0.201
c UPG-VPP v1.13.0
2024.03.25
0.155 0.181 0.134 0.144 0.178 0.134
d eUPF v0.7.1 (native mode)
22025.06.16
0.227 0.241 0.193 0.211 0.246 0.194
e-1 OAI-CN5G-UPF v2.2.0
(Simple Switch)
2025.12.13
0.290 0.296 0.272 0.290 0.301 0.262
e-2 OAI-CN5G-UPF v2.2.0
(eBPF/XDP)
2025.12.13
0.207 0.217 0.190 0.200 0.205 0.190
a-1. logs for Open5GS UPF v2.7.6 (TUN)

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            327 
Min latency  |            255 
Avg latency  |            302 
-- Window -- |                
Last max     |            290 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             19 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            256 
Min latency  |            206 
Avg latency  |            246 
-- Window -- |                
Last max     |            241 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             20 
----         |                
Errors       |              0 

trex>
a-2. logs for Open5GS UPF v2.7.6 (TAP)

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            337 
Min latency  |            280 
Avg latency  |            303 
-- Window -- |                
Last max     |            310 
Last-1       |              0 
Last-2       |              0 
Last-3       |              0 
Last-4       |              0 
Last-5       |              0 
Last-6       |              0 
Last-7       |              0 
Last-8       |              0 
Last-9       |              0 
Last-10      |              0 
Last-11      |              0 
Last-12      |              0 
Last-13      |              0 
---          |                
Jitter       |             25 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            306 
Min latency  |            253 
Avg latency  |            271 
-- Window -- |                
Last max     |            256 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             33 
----         |                
Errors       |              0 

trex>
b. logs for free5GC UPF v1.2.8

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            220 
Min latency  |            195 
Avg latency  |            211 
-- Window -- |                
Last max     |            207 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             35 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            234 
Min latency  |            201 
Avg latency  |            222 
-- Window -- |                
Last max     |            219 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             14 
----         |                
Errors       |              0 

trex>
c. logs for UPG-VPP v1.13.0

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            181 
Min latency  |            134 
Avg latency  |            155 
-- Window -- |                
Last max     |            143 
Last-1       |              0 
Last-2       |              0 
Last-3       |              0 
Last-4       |              0 
Last-5       |              0 
Last-6       |              0 
Last-7       |              0 
Last-8       |              0 
Last-9       |              0 
Last-10      |              0 
Last-11      |              0 
Last-12      |              0 
Last-13      |              0 
---          |                
Jitter       |             14 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            178 
Min latency  |            134 
Avg latency  |            144 
-- Window -- |                
Last max     |            134 
Last-1       |              0 
Last-2       |              0 
Last-3       |              0 
Last-4       |              0 
Last-5       |              0 
Last-6       |              0 
Last-7       |              0 
Last-8       |              0 
Last-9       |              0 
Last-10      |              0 
Last-11      |              0 
Last-12      |              0 
Last-13      |              0 
---          |                
Jitter       |             20 
----         |                
Errors       |              0 

trex>
d. logs for eUPF v0.7.1

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            241 
Min latency  |            193 
Avg latency  |            227 
-- Window -- |                
Last max     |            230 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             16 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            246 
Min latency  |            194 
Avg latency  |            211 
-- Window -- |                
Last max     |            201 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             16 
----         |                
Errors       |              0 

trex>
e-1. logs for OAI-CN5G-UPF v2.2.0 (Simple Switch)

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            296 
Min latency  |            272 
Avg latency  |            290 
-- Window -- |                
Last max     |            296 
Last-1       |              0 
Last-2       |              0 
Last-3       |              0 
Last-4       |              0 
Last-5       |              0 
Last-6       |              0 
Last-7       |              0 
Last-8       |              0 
Last-9       |              0 
Last-10      |              0 
Last-11      |              0 
Last-12      |              0 
Last-13      |              0 
---          |                
Jitter       |             16 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            301 
Min latency  |            262 
Avg latency  |            290 
-- Window -- |                
Last max     |            292 
Last-1       |              0 
Last-2       |              0 
Last-3       |              0 
Last-4       |              0 
Last-5       |              0 
Last-6       |              0 
Last-7       |              0 
Last-8       |              0 
Last-9       |              0 
Last-10      |              0 
Last-11      |              0 
Last-12      |              0 
Last-13      |              0 
---          |                
Jitter       |             20 
----         |                
Errors       |              0 

trex>
e-2. logs for OAI-CN5G-UPF v2.2.0 (eBPF/XDP)

UpLink measurement

start -f stl/gtp_latency_1pkt_simple.py -p 0 -d 10
Latency Statistics

   PG ID     |       0        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            217 
Min latency  |            190 
Avg latency  |            207 
-- Window -- |                
Last max     |            206 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             11 
----         |                
Errors       |              0 

trex>

DownLink measurement

start -f stl/udp_latency_1pkt_simple.py -p 1 -d 10
Latency Statistics

   PG ID     |       1        
-------------+---------------
TX pkts      |             11 
RX pkts      |             11 
Max latency  |            205 
Min latency  |            190 
Avg latency  |            200 
-- Window -- |                
Last max     |            199 
Last-1       |                
Last-2       |                
Last-3       |                
Last-4       |                
Last-5       |                
Last-6       |                
Last-7       |                
Last-8       |                
Last-9       |                
Last-10      |                
Last-11      |                
Last-12      |                
Last-13      |                
---          |                
Jitter       |             11 
----         |                
Errors       |              0 

trex>

Summary

These measurement results show that eBPF/XDP-based eUPF and OAI-CN5G-UPF have relatively outstanding performance even on Proxmox VE VM. Although I was unable to confirm any performance differences between eUPF and OAI-CN5G-UPF through this simple measurement, I speculate that performance differences can be confirmed through other measurement methods and analyses. In general, the measurement environment, conditions and tools have a significant impact on the measurement results.

If measuring using virtual machines, it would be better to measure on VMs on a hypervisor such as Proxmox VE. Also, it is good to select VirtIO as the network interface to ensure that the network does not become a bottleneck in the measurement.

It is very simple mesurement and may not be very meaningful when measuring between virtual machines, but it may be a little helpful when comparing the relative performance of UPF. I would appreciate it if you could use this as a reference as a configuration example when measuring with real devices.

Performance of N6 interface only

I simply measured the raw communication performance between VM-TG and VM-DUT. This is a measurement of the N6 interface and therefore does not include communication over GTP-U.

A--B TCP[1]
throughput
UDP[2]
throughput
UDP[2]
packet loss
RTT[3]
(msec)
VM-TG --(N6)-- VM-DUT S:26.8 Gbps
R:26.8 Gbps
S:2.04 Gbps
R:2.03 Gbps
0.4 % 0.262
1. iperf3 -c 192.168.16.151
# iperf3 -c 192.168.16.151
Connecting to host 192.168.16.151, port 5201
[  5] local 192.168.16.152 port 58568 connected to 192.168.16.151 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.00 GBytes  25.7 Gbits/sec    0   1.87 MBytes       
[  5]   1.00-2.00   sec  3.08 GBytes  26.4 Gbits/sec    0   2.30 MBytes       
[  5]   2.00-3.00   sec  3.10 GBytes  26.7 Gbits/sec    0   2.30 MBytes       
[  5]   3.00-4.00   sec  3.11 GBytes  26.7 Gbits/sec    0   2.43 MBytes       
[  5]   4.00-5.00   sec  3.18 GBytes  27.3 Gbits/sec    0   2.84 MBytes       
[  5]   5.00-6.00   sec  3.21 GBytes  27.5 Gbits/sec    0   2.84 MBytes       
[  5]   6.00-7.00   sec  3.20 GBytes  27.5 Gbits/sec    0   2.84 MBytes       
[  5]   7.00-8.00   sec  3.14 GBytes  27.0 Gbits/sec    0   3.62 MBytes       
[  5]   8.00-9.00   sec  3.14 GBytes  27.0 Gbits/sec    0   3.62 MBytes       
[  5]   9.00-10.00  sec  3.07 GBytes  26.3 Gbits/sec    0   3.62 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  31.2 GBytes  26.8 Gbits/sec    0             sender
[  5]   0.00-9.99   sec  31.2 GBytes  26.8 Gbits/sec                  receiver

iperf Done.
2. iperf3 -c 192.168.16.151 -u -b 5G
# iperf3 -c 192.168.16.151 -u -b 5G
Connecting to host 192.168.16.151, port 5201
[  5] local 192.168.16.152 port 52639 connected to 192.168.16.151 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   242 MBytes  2.03 Gbits/sec  175079  
[  5]   1.00-2.00   sec   240 MBytes  2.01 Gbits/sec  173824  
[  5]   2.00-3.00   sec   230 MBytes  1.93 Gbits/sec  166912  
[  5]   3.00-4.00   sec   246 MBytes  2.07 Gbits/sec  178413  
[  5]   4.00-5.00   sec   241 MBytes  2.02 Gbits/sec  174618  
[  5]   5.00-6.00   sec   246 MBytes  2.06 Gbits/sec  177980  
[  5]   6.00-7.00   sec   247 MBytes  2.07 Gbits/sec  178878  
[  5]   7.00-8.00   sec   246 MBytes  2.07 Gbits/sec  178375  
[  5]   8.00-9.00   sec   247 MBytes  2.07 Gbits/sec  178931  
[  5]   9.00-10.00  sec   248 MBytes  2.08 Gbits/sec  179748  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  2.38 GBytes  2.04 Gbits/sec  0.000 ms  0/1762758 (0%)  sender
[  5]   0.00-10.00  sec  2.37 GBytes  2.03 Gbits/sec  0.005 ms  7076/1762758 (0.4%)  receiver

iperf Done.
3. ping 192.168.16.151 -c 10
# ping 192.168.16.151 -c 10
PING 192.168.16.151 (192.168.16.151) 56(84) bytes of data.
64 bytes from 192.168.16.151: icmp_seq=1 ttl=64 time=0.285 ms
64 bytes from 192.168.16.151: icmp_seq=2 ttl=64 time=0.292 ms
64 bytes from 192.168.16.151: icmp_seq=3 ttl=64 time=0.282 ms
64 bytes from 192.168.16.151: icmp_seq=4 ttl=64 time=0.221 ms
64 bytes from 192.168.16.151: icmp_seq=5 ttl=64 time=0.319 ms
64 bytes from 192.168.16.151: icmp_seq=6 ttl=64 time=0.219 ms
64 bytes from 192.168.16.151: icmp_seq=7 ttl=64 time=0.260 ms
64 bytes from 192.168.16.151: icmp_seq=8 ttl=64 time=0.232 ms
64 bytes from 192.168.16.151: icmp_seq=9 ttl=64 time=0.261 ms
64 bytes from 192.168.16.151: icmp_seq=10 ttl=64 time=0.258 ms

--- 192.168.16.151 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9215ms
rtt min/avg/max/mdev = 0.219/0.262/0.319/0.030 ms

I would like to thank all the excellent developers and contributors who developed these great systems and tools.

Changelog (summary)

  • [2026.03.01] Measured again using UPG-VPP built on Ubuntu 24.04.
  • [2026.02.13] Measured OAI-CN5G-UPF(Simple Switch) again.
  • [2026.02.11] Added measurement of OAI-CN5G-UPF(Simple Switch).
  • [2026.01.23] Measured again using OAI-CN5G-UPF(eBPF/XDP) built on Ubuntu 24.04.
  • [2026.01.18] Initial release. This measurement is an update of the following measurement, adding the measurement of OAI-CN5G-UPF(eBPF/XDP).
    Simple Measurement of UPF Performance 9

Releases

No releases published

Packages

 
 
 

Contributors