edgecomllc / eupf

5G User Plane Function (UPF) based on eBPF
Apache License 2.0
95 stars 14 forks source link

iperf3 doesn't work when connected to srsRAN #555

Closed s5uishida closed 2 weeks ago

s5uishida commented 2 weeks ago

Hi Community,

When eUPF was connected to either srsRAN 5G or 4G, iperf3 did not work properly.

The configuration tested for 5G is shown in the diagram below, with PacketRusher replaced with srsRAN_Project (gNodeB) and srsRAN_4G (UE).

https://github.com/s5uishida/simple_measurement_of_upf_performance

Also, the configuration tested with 4G is shown below.

https://github.com/s5uishida/open5gs_epc_srsran_eupf_sample_config

A quick note on the results is as follows. This time the question is about the row where the combination of eUPF and srsRAN is NG.

https://github.com/s5uishida/simple_confirmed_info_for_mobile_network#ping-and-iperf3

Ping from UE to VM-DN (192.168.16.152) was successful.

# ping 192.168.16.152 -c 10
PING 192.168.16.152 (192.168.16.152) 56(84) bytes of data.
64 bytes from 192.168.16.152: icmp_seq=1 ttl=64 time=43.7 ms
64 bytes from 192.168.16.152: icmp_seq=2 ttl=64 time=66.6 ms
64 bytes from 192.168.16.152: icmp_seq=3 ttl=64 time=57.3 ms
64 bytes from 192.168.16.152: icmp_seq=4 ttl=64 time=54.6 ms
64 bytes from 192.168.16.152: icmp_seq=5 ttl=64 time=52.5 ms
64 bytes from 192.168.16.152: icmp_seq=6 ttl=64 time=50.8 ms
64 bytes from 192.168.16.152: icmp_seq=7 ttl=64 time=44.9 ms
64 bytes from 192.168.16.152: icmp_seq=8 ttl=64 time=44.0 ms
64 bytes from 192.168.16.152: icmp_seq=9 ttl=64 time=47.0 ms
64 bytes from 192.168.16.152: icmp_seq=10 ttl=64 time=48.3 ms

--- 192.168.16.152 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9134ms
rtt min/avg/max/mdev = 43.651/50.972/66.602/6.790 ms

However, iperf3 from UE to VM-DN (192.168.16.152) does not work properly as follows. Transfer and Bitrate were zero.

# iperf3 -B 10.45.0.2 -c 192.168.16.152
Connecting to host 192.168.16.152, port 5201
[  5] local 10.45.0.2 port 53983 connected to 192.168.16.152 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  76.4 KBytes   625 Kbits/sec    2   1.41 KBytes       
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    1   1.41 KBytes       
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec    1   1.41 KBytes       
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   7.00-8.00   sec  0.00 Bytes  0.00 bits/sec    1   1.41 KBytes       
[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec    0   1.41 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  76.4 KBytes  62.5 Kbits/sec    5             sender
[  5]   0.00-10.07  sec  0.00 Bytes  0.00 bits/sec                  receiver

iperf Done.

The results were the same for both 5G and 4G.

Could you know anything for the reason?

Best regards,

--Shigeru

pirog-spb commented 2 weeks ago

Hi @s5uishida,

Try to disable tx offload on iperf server. ethtool -K eth0 tx off

There were several similar issues with iperf in our tests.

https://github.com/edgecomllc/eupf/issues/396 https://github.com/edgecomllc/eupf/issues/170

-- BR Alex

s5uishida commented 2 weeks ago

Hi @pirog-spb

Although it's different from the method you told me, I solved it in the following way:

https://github.com/srsran/srsRAN_Project/issues/670#issuecomment-2167167625

Thank you very much for your useful information!