A Wireguard comparison DB

Looks like this is IPQ8074A?

And by "special" KONG probably mean adding NSS

I compared your branch armor-g5 with openwrt/main, it seems nothing changed except for LED drivers and sysctl -w vm.min_free_kbytes=65536. It might be a measurement error, or something changed in the kernel, like function alignment, as you have a new driver in the kernel, which has interfered with the cache or some other things in the CPU micro-architecture.

I did not push that change to the repo yet. This is still work in progress.

Reminder: this is from a Linksys E8450 (UBI) MediaTek MT7622BV (Dual Core A53, 1.35 GHz) running OpenWrt 23.05.2. The benchmark in the original post gives 302 Mbps without -R and 310 Mbps with -R.

Yesterday, I purchased the OVPN subscription with a static public IP (the last one available in Singapore from them), and unfortunately, the benchmark does not reflect the real-world speed achieved. Please take this into account when interpreting others' results.

The test above was done via WiFi from a laptop, with the VPN configured on the router.

The underlying connection is symmetric 300/300 Mbps PPPoE on paper, 350 Mbps in reality. However, the speed achieved is lower than the output of the proposed benchmark (302 Mbps). The router's CPU is indeed a bottleneck. Perhaps this is due to the PPPoE and WiFi overhead.

For comparison, here is the speed test result from the same laptop without the VPN:

And with the VPN configured on the laptop instead of the router:

|Cyberoam CR15iNG | x86/64 AMD GX-210UA SOC | OpenWrt SNAPSHOT r25442-97f542238a | 315 Mbps|
</> Ubus

"kernel": "6.1.80",
        "hostname": "OpenWrt",
        "system": "AMD GX-210UA SOC",
        "model": "AMD Corporation Kabini CRB",
        "board_name": "amd-corporation-kabini-crb",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r25442-97f542238a",
                "target": "x86/64",
                "description": "OpenWrt SNAPSHOT r25442-97f542238a"

</> Test

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  36.8 MBytes   308 Mbits/sec    0   1.04 MBytes
[  5]   1.00-2.00   sec  32.5 MBytes   273 Mbits/sec    0   1.31 MBytes
[  5]   2.00-3.00   sec  29.2 MBytes   245 Mbits/sec   51   1.01 MBytes
[  5]   3.00-4.00   sec  29.5 MBytes   247 Mbits/sec    0   1.15 MBytes
[  5]   4.00-5.00   sec  30.4 MBytes   255 Mbits/sec    0   1.23 MBytes
[  5]   5.00-6.00   sec  28.6 MBytes   240 Mbits/sec    0   1.31 MBytes
[  5]   6.00-7.00   sec  29.9 MBytes   251 Mbits/sec    6    991 KBytes
[  5]   7.00-8.00   sec  30.9 MBytes   259 Mbits/sec    0   1.02 MBytes
[  5]   8.00-9.00   sec  32.6 MBytes   274 Mbits/sec    0   1.08 MBytes
[  5]   9.00-10.00  sec  34.4 MBytes   288 Mbits/sec    0   1.11 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   315 MBytes   264 Mbits/sec   57             sender
[  5]   0.00-10.01  sec   312 MBytes   262 Mbits/sec                  receiver

After seeing this result - CR15ing is now on ebay, replaced by the 1 of the 2 (RT3200, showed better results above) acted so far as dumb APs.

1 Like

Thanks for this. I think it might be the WiFi will also consume some CPU time. I have tried Cloudflare Warp with Kernel WireGuard on my Redmi AX6S, which is also MT7622 SoC, and tunnel to LAN with NAT shows ~240Mbps Download and ~310Mbps upload speed (My ISP has some packet reorder for the download side when testing iperf udp, so I'm not sure whether the problem is the CPU not good enough to handle the wg throughput). You can try to turn on wed by echo 'options mt7915e wed_enable=Y' >> /etc/modules.conf and reboot to see whether it helps. However, Cloudflare Warp Server has 73ms latency from my side, so it might not be good for benchmarking.

I also tried iperf3 on my school campus gigabit LAN to my desk. The topology is:

PC1->MT7622 LAN->WireGuard over Campus Network->MT7981 LAN->PC2

The result shows:

PC2->PC1:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   598 MBytes   501 Mbits/sec  533             sender
[  5]   0.00-10.02  sec   595 MBytes   498 Mbits/sec                  receiver

PC1->PC2:

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec   496 MBytes   416 Mbits/sec                  sender
[  5]   0.00-10.00  sec   494 MBytes   414 Mbits/sec                  receiver

And the latency will be raised from 3ms to ~15ms when running iperf test.

However, if PC1 is on wifi rather than LAN, the speed will drop to:

PC2->PC1:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   349 MBytes   292 Mbits/sec  200             sender
[  5]   0.00-10.00  sec   345 MBytes   290 Mbits/sec                  receiver

PC1->PC2:

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec   370 MBytes   310 Mbits/sec                  sender
[  5]   0.00-10.02  sec   368 MBytes   308 Mbits/sec                  receiver

That AMD CPU is simply too old.....

1 Like

I can no longer reproduce this result.
I install the same image (my build) from March 7, do the same steps and get only 800 Mbps.

I'm very surprised.

UPD.:

  • On March 12, in the morning, I turned on the router and ran test on snapshot 6.1.79 again: got the same 800 Mbps.
  • I decided to install the release version (5.15.137) and ran a test on it: got 838 Mbps.
  • I installed the snapshot 6.1.79 again (with save configs) and ran the same test: got 972 Mbps.
972 Mbps (mt7986a)
root@OpenWrt:~/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 59358 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   116 MBytes   971 Mbits/sec    0    720 KBytes
[  5]   1.00-2.00   sec   116 MBytes   976 Mbits/sec    0    931 KBytes
[  5]   2.00-3.00   sec   117 MBytes   978 Mbits/sec    0   1.33 MBytes
[  5]   3.00-4.00   sec   116 MBytes   974 Mbits/sec    0   1.40 MBytes
[  5]   4.00-5.00   sec   118 MBytes   987 Mbits/sec    0   1.47 MBytes
[  5]   5.00-6.00   sec   117 MBytes   983 Mbits/sec    0   1.55 MBytes
[  5]   6.00-7.00   sec   118 MBytes   987 Mbits/sec    0   1.55 MBytes
[  5]   7.00-8.00   sec   112 MBytes   938 Mbits/sec   64   1.25 MBytes
[  5]   8.00-9.00   sec   118 MBytes   988 Mbits/sec    7   1003 KBytes
[  5]   9.00-10.00  sec   116 MBytes   968 Mbits/sec    0   1.02 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.14 GBytes   975 Mbits/sec   71             sender
[  5]   0.00-10.00  sec  1.13 GBytes   972 Mbits/sec                  receiver

iperf Done.

root@OpenWrt:~/wg-bench# ./benchmark.sh -R
Connecting to host 169.254.200.2, port 5201
Reverse mode, remote host 169.254.200.2 is sending
[  5] local 169.254.200.1 port 59666 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   105 MBytes   880 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   938 Mbits/sec
[  5]   2.00-3.00   sec   111 MBytes   929 Mbits/sec
[  5]   3.00-4.00   sec   114 MBytes   952 Mbits/sec
[  5]   4.00-5.00   sec   108 MBytes   910 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   943 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   940 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   943 Mbits/sec
[  5]   8.00-9.00   sec   113 MBytes   950 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   944 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.09 GBytes   936 Mbits/sec  146             sender
[  5]   0.00-10.00  sec  1.09 GBytes   933 Mbits/sec                  receiver

iperf Done.
1 Like

I figured out the reason for this behavior.
My builds contain package luci-app-xray, which incorrectly installs nft rules. Which causes the nft list ruleset command to return an empty string.

So, when command nft list ruleset returns emptiness, the test gets a significant speedup.

Clearing all nft rules can be achieved with the following command: nft flush ruleset

After completing this command, the WG test boost occurs on any build.

2 Likes

Just helped my friend to get a Cudy WR3000, so tested before deploying:

root@WR3000:~/bench# ubus call system board
{
        "kernel": "5.15.137",
        "hostname": "WR3000",
        "system": "ARMv8 Processor rev 4",
        "model": "Cudy WR3000 v1",
        "board_name": "cudy,wr3000-v1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05.2",
                "revision": "r23630-842932a63d",
                "target": "mediatek/filogic",
                "description": "OpenWrt 23.05.2 r23630-842932a63d"
        }
}
root@WR3000:~/bench# ./benchmark.sh 
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 47620 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  53.0 MBytes   444 Mbits/sec    0    978 KBytes       
[  5]   1.00-2.00   sec  51.8 MBytes   434 Mbits/sec    0    978 KBytes       
[  5]   2.00-3.00   sec  51.6 MBytes   433 Mbits/sec    0    978 KBytes       
[  5]   3.00-4.00   sec  51.4 MBytes   431 Mbits/sec   22    721 KBytes       
[  5]   4.00-5.00   sec  52.5 MBytes   440 Mbits/sec    0    808 KBytes       
[  5]   5.00-6.01   sec  52.5 MBytes   437 Mbits/sec    0    872 KBytes       
[  5]   6.01-7.00   sec  50.6 MBytes   428 Mbits/sec    0    916 KBytes       
[  5]   7.00-8.00   sec  54.0 MBytes   453 Mbits/sec    0    942 KBytes       
[  5]   8.00-9.00   sec  52.5 MBytes   440 Mbits/sec    3    667 KBytes       
[  5]   9.00-10.01  sec  51.5 MBytes   430 Mbits/sec    0    720 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   521 MBytes   437 Mbits/sec   25             sender
[  5]   0.00-10.01  sec   520 MBytes   436 Mbits/sec                  receiver

iperf Done.
root@WR3000:~/bench# ./benchmark.sh -R
Connecting to host 169.254.200.2, port 5201
Reverse mode, remote host 169.254.200.2 is sending
[  5] local 169.254.200.1 port 58968 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  48.8 MBytes   409 Mbits/sec                  
[  5]   1.00-2.00   sec  48.9 MBytes   410 Mbits/sec                  
[  5]   2.00-3.00   sec  49.4 MBytes   414 Mbits/sec                  
[  5]   3.00-4.02   sec  48.6 MBytes   402 Mbits/sec                  
[  5]   4.02-5.00   sec  48.4 MBytes   412 Mbits/sec                  
[  5]   5.00-6.01   sec  48.6 MBytes   406 Mbits/sec                  
[  5]   6.01-7.00   sec  48.8 MBytes   411 Mbits/sec                  
[  5]   7.00-8.00   sec  50.9 MBytes   427 Mbits/sec                  
[  5]   8.00-9.00   sec  51.1 MBytes   429 Mbits/sec                  
[  5]   9.00-10.00  sec  49.1 MBytes   412 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   494 MBytes   414 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   492 MBytes   413 Mbits/sec                  receiver

iperf Done.
2 Likes

I can confirm this with a GL-MT6000.

ubus call system board
{
        "kernel": "6.1.81",
        "hostname": "GL-MT6000",
        "system": "ARMv8 Processor rev 4",
        "model": "GL.iNet GL-MT6000",
        "board_name": "glinet,gl-mt6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r25465-53252eeb3b",
                "target": "mediatek/filogic",
                "description": "OpenWrt SNAPSHOT r25465-53252eeb3b"
        }
}
./benchmark
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 56458 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   116 MBytes   972 Mbits/sec    0    824 KBytes
[  5]   1.00-2.00   sec   116 MBytes   977 Mbits/sec    0   1.04 MBytes
[  5]   2.00-3.00   sec   113 MBytes   948 Mbits/sec    0   1.09 MBytes
[  5]   3.00-4.00   sec   117 MBytes   981 Mbits/sec    0   1.21 MBytes
[  5]   4.00-5.00   sec   116 MBytes   971 Mbits/sec    0   1.21 MBytes
[  5]   5.00-6.00   sec   114 MBytes   955 Mbits/sec    0   1.27 MBytes
[  5]   6.00-7.00   sec   119 MBytes   998 Mbits/sec    0   1.27 MBytes
[  5]   7.00-8.00   sec   116 MBytes   976 Mbits/sec    0   1.34 MBytes
[  5]   8.00-9.00   sec   118 MBytes   988 Mbits/sec    0   1.34 MBytes
[  5]   9.00-10.00  sec   117 MBytes   980 Mbits/sec    0   1.34 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.14 GBytes   975 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  1.13 GBytes   972 Mbits/sec                  receiver
5 Likes

Wow that's a big jump indeed.

Thanks for confirming this. I think there is something to do with the kernel and openwrt to provide a fast path for an accepted conntrack.

1 Like

Hello,
Asus TX-AX6000, OpenWRT 23.05.2 (5.15.137)
Asus TX-AX6000, OpenWRT SNAPSHOT r25402-012be0468c 240304 (6.1.79)

Is that meaning you did install operwrt firmware for TUF-AX6000 on TX-AX6000? As i know there is only for TUF version, not for TX.

is it worked when just putting the firmware for TUF on the TX?
As far as I understand, the two devices have the same hardware.

Everything about them is original except the body.
The software is also the same (only the values of nvram parameters are different).

| D-Link COVR-X1860 A1 | Mediatek MT7621A (MIPS 2 Core 4 Thread, 880MHz) | Snapshot (5.15.148) | 97 MBytes |

ubus call system board
{
        "kernel": "5.15.148",
        "hostname": "COVR-X1860",
        "system": "MediaTek MT7621 ver:1 eco:3",
        "model": "D-Link COVR-X1860 A1",
        "board_name": "dlink,covr-x1860-a1",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r25383-fbb924abff",
                "target": "ramips/mt7621",
                "description": "OpenWrt SNAPSHOT r25383-fbb924abff"
        }
}
./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 60256 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  9.25 MBytes  77.5 Mbits/sec    0    159 KBytes
[  5]   1.00-2.00   sec  10.5 MBytes  88.1 Mbits/sec    0    198 KBytes
[  5]   2.00-3.00   sec  8.38 MBytes  70.2 Mbits/sec    0    218 KBytes
[  5]   3.00-4.00   sec  9.38 MBytes  78.6 Mbits/sec    0    228 KBytes
[  5]   4.00-5.00   sec  9.12 MBytes  76.6 Mbits/sec    0    228 KBytes
[  5]   5.00-6.00   sec  9.25 MBytes  77.6 Mbits/sec    0    228 KBytes
[  5]   6.00-7.00   sec  8.88 MBytes  74.4 Mbits/sec    0    240 KBytes
[  5]   7.00-8.00   sec  10.2 MBytes  86.0 Mbits/sec    0    240 KBytes
[  5]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0    240 KBytes
[  5]   9.00-10.00  sec  11.5 MBytes  96.3 Mbits/sec    0    240 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  97.8 MBytes  82.0 Mbits/sec    0             sender
[  5]   0.00-10.01  sec  97.1 MBytes  81.4 Mbits/sec                  receiver

iperf Done.

ASUS TUF-AX6000

ubus call system board
 | OpenWrt 23.05-SNAPSHOT, r23780-6f70e09a00                                 |
 |                                                                           |
 | Build time: 2024-03-09 13:45 CET                                          |
 | Cezary Jackiewicz, https://eko.one.pl                                     |
 -----------------------------------------------------------------------------
 | Machine: ASUS TUF-AX6000                                                  |
root@AsusWRT:~/wg-bench# ubus call system board
{
        "kernel": "5.15.148",
        "hostname": "AsusWRT",
        "system": "ARMv8 Processor rev 4",
        "model": "ASUS TUF-AX6000",
        "board_name": "asus,tuf-ax6000",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "23.05-SNAPSHOT",
                "revision": "r23780-6f70e09a00",
                "target": "mediatek/filogic",
                "description": "OpenWrt 23.05-SNAPSHOT r23780-6f70e09a00"
        }
}
benchmark.sh
root@AsusWRT:~/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 42104 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  93.8 MBytes   786 Mbits/sec    0    464 KBytes
[  5]   1.00-2.00   sec  94.8 MBytes   795 Mbits/sec    0    584 KBytes
[  5]   2.00-3.00   sec  94.0 MBytes   788 Mbits/sec    0    584 KBytes
[  5]   3.00-4.00   sec  95.2 MBytes   799 Mbits/sec    0    584 KBytes
[  5]   4.00-5.00   sec  94.4 MBytes   792 Mbits/sec    0    584 KBytes
[  5]   5.00-6.00   sec  94.9 MBytes   796 Mbits/sec    0    584 KBytes
[  5]   6.00-7.00   sec  95.0 MBytes   797 Mbits/sec    0    612 KBytes
[  5]   7.00-8.00   sec  95.0 MBytes   797 Mbits/sec    0    640 KBytes
[  5]   8.00-9.00   sec  95.4 MBytes   800 Mbits/sec    0    640 KBytes
[  5]   9.00-10.00  sec  95.5 MBytes   801 Mbits/sec    0    669 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   948 MBytes   795 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   946 MBytes   793 Mbits/sec                  receiver

iperf Done.
benchmark.sh -R
root@AsusWRT:~/wg-bench# ./benchmark.sh -R
Connecting to host 169.254.200.2, port 5201
Reverse mode, remote host 169.254.200.2 is sending
[  5] local 169.254.200.1 port 50826 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  88.9 MBytes   745 Mbits/sec
[  5]   1.00-2.00   sec  90.1 MBytes   756 Mbits/sec
[  5]   2.00-3.00   sec  90.4 MBytes   758 Mbits/sec
[  5]   3.00-4.00   sec  90.5 MBytes   759 Mbits/sec
[  5]   4.00-5.00   sec  90.8 MBytes   761 Mbits/sec
[  5]   5.00-6.00   sec  90.2 MBytes   757 Mbits/sec
[  5]   6.00-7.00   sec  90.4 MBytes   758 Mbits/sec
[  5]   7.00-8.00   sec  90.1 MBytes   756 Mbits/sec
[  5]   8.00-9.00   sec  90.4 MBytes   758 Mbits/sec
[  5]   9.00-10.00  sec  91.4 MBytes   766 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   905 MBytes   759 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   903 MBytes   758 Mbits/sec                  receiver

iperf Done.

| ZyXEL P-2812HNU-F1 | Lantiq XWAY VRX288 (MIPS 2 Core 2 Thread, 500MHz) | 23.05.2 | 26 Mbps |

ubus call system board

{
"kernel": "5.15.137",
"hostname": "OpenWrt",
"system": "xRX200 rev 1.1",
"model": "ZyXEL P-2812HNU-F1",
"board_name": "zyxel,p-2812hnu-f1",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "23.05.2",
"revision": "r23630-842932a63d",
"target": "lantiq/xrx200",
"description": "OpenWrt 23.05.2 r23630-842932a63d"
}
}

./benchmark.sh

Connecting to host 169.254.200.2, port 5201
[ 5] local 169.254.200.1 port 48086 connected to 169.254.200.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 3.50 MBytes 29.3 Mbits/sec 0 127 KBytes
[ 5] 1.00-2.00 sec 3.25 MBytes 27.3 Mbits/sec 0 142 KBytes
[ 5] 2.00-3.00 sec 3.38 MBytes 28.3 Mbits/sec 0 150 KBytes
[ 5] 3.00-4.00 sec 3.12 MBytes 26.2 Mbits/sec 0 158 KBytes
[ 5] 4.00-5.00 sec 3.38 MBytes 28.3 Mbits/sec 0 180 KBytes
[ 5] 5.00-6.00 sec 3.50 MBytes 29.4 Mbits/sec 0 180 KBytes
[ 5] 6.00-7.00 sec 3.25 MBytes 27.3 Mbits/sec 0 180 KBytes
[ 5] 7.00-8.00 sec 3.62 MBytes 30.4 Mbits/sec 0 323 KBytes
[ 5] 8.00-9.01 sec 3.62 MBytes 30.2 Mbits/sec 0 323 KBytes
[ 5] 9.01-10.00 sec 3.25 MBytes 27.4 Mbits/sec 0 323 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 33.9 MBytes 28.4 Mbits/sec 0 sender
[ 5] 0.00-10.02 sec 33.2 MBytes 27.8 Mbits/sec receiver

iperf Done.

./benchmark.sh -R

Connecting to host 169.254.200.2, port 5201
Reverse mode, remote host 169.254.200.2 is sending
[ 5] local 169.254.200.1 port 41662 connected to 169.254.200.2 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 3.00 MBytes 25.1 Mbits/sec
[ 5] 1.00-2.00 sec 2.88 MBytes 24.1 Mbits/sec
[ 5] 2.00-3.00 sec 3.00 MBytes 25.2 Mbits/sec
[ 5] 3.00-4.00 sec 3.00 MBytes 25.2 Mbits/sec
[ 5] 4.00-5.00 sec 3.00 MBytes 25.2 Mbits/sec
[ 5] 5.00-6.00 sec 3.25 MBytes 27.3 Mbits/sec
[ 5] 6.00-7.00 sec 3.12 MBytes 26.2 Mbits/sec
[ 5] 7.00-8.00 sec 3.00 MBytes 25.2 Mbits/sec
[ 5] 8.00-9.00 sec 3.12 MBytes 26.2 Mbits/sec
[ 5] 9.00-10.00 sec 3.12 MBytes 26.2 Mbits/sec


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 30.9 MBytes 25.9 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 30.5 MBytes 25.6 Mbits/sec receiver

iperf Done.

/Edit: After applying nft flush ruleset the box performs better, 31Mbps.

./benchmark.sh

Connecting to host 169.254.200.2, port 5201
[ 5] local 169.254.200.1 port 50724 connected to 169.254.200.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 3.50 MBytes 29.3 Mbits/sec 0 96.2 KBytes
[ 5] 1.00-2.00 sec 3.75 MBytes 31.5 Mbits/sec 0 155 KBytes
[ 5] 2.00-3.00 sec 3.75 MBytes 31.5 Mbits/sec 0 163 KBytes
[ 5] 3.00-4.00 sec 3.75 MBytes 31.5 Mbits/sec 0 180 KBytes
[ 5] 4.00-5.00 sec 3.75 MBytes 31.5 Mbits/sec 0 196 KBytes
[ 5] 5.00-6.00 sec 3.75 MBytes 31.4 Mbits/sec 0 219 KBytes
[ 5] 6.00-7.00 sec 3.75 MBytes 31.5 Mbits/sec 0 234 KBytes
[ 5] 7.00-8.00 sec 3.50 MBytes 29.4 Mbits/sec 0 255 KBytes
[ 5] 8.00-9.00 sec 3.88 MBytes 32.5 Mbits/sec 0 255 KBytes
[ 5] 9.00-10.00 sec 3.62 MBytes 30.4 Mbits/sec 0 255 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 37.0 MBytes 31.0 Mbits/sec 0 sender
[ 5] 0.00-10.02 sec 36.4 MBytes 30.5 Mbits/sec receiver

iperf Done.

2 Likes

Will you update to newer snapshot version and test? The latest snapshot should be already on kernel 6.1