A Wireguard comparison DB

This is a Dell Optiplex 3050 mini tower. It is a bit of a special case because I have all but 1 of the cpu cores and hyperthreading disabled in the bios to cut power draw. I only have a 1gig fiber so I don't NEED multicores and such. Killing the extra cores means my idle power has dropped to 12W which is pretty dang good. During this test there was a bunch of samba shit running in the background that I can't stop so I'm sure the wireguard results would be much higher if I tested during no load conditions.

root@Dell-Server:/mnt/sda1/wg-bench# ubus call system board
{
        "kernel": "6.6.110",
        "hostname": "Dell-Server",
        "system": "Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz",
        "model": "Dell Inc. OptiPlex 3050",
        "board_name": "dell-inc-optiplex-3050",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.4",
                "revision": "r28959-29397011cc",
                "target": "x86/64",
                "description": "OpenWrt 24.10.4 r28959-29397011cc",
                "builddate": "1760891865"
        }
}
root@Dell-Server:/mnt/sda1/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 57794 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   201 MBytes  1.68 Gbits/sec    9   1.11 MBytes       
[  5]   1.00-2.00   sec   215 MBytes  1.80 Gbits/sec    0   1.21 MBytes       
[  5]   2.00-3.00   sec   216 MBytes  1.81 Gbits/sec    0   1.29 MBytes       
[  5]   3.00-4.00   sec   205 MBytes  1.72 Gbits/sec    7   1019 KBytes       
[  5]   4.00-5.00   sec   203 MBytes  1.70 Gbits/sec    0   1.10 MBytes       
[  5]   5.00-6.00   sec   202 MBytes  1.70 Gbits/sec    0   1.20 MBytes       
[  5]   6.00-7.00   sec   203 MBytes  1.71 Gbits/sec    0   1.27 MBytes       
[  5]   7.00-8.00   sec   208 MBytes  1.74 Gbits/sec    4    995 KBytes       
[  5]   8.00-9.00   sec   208 MBytes  1.74 Gbits/sec    0   1.08 MBytes       
[  5]   9.00-10.00  sec   208 MBytes  1.74 Gbits/sec    0   1.18 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  2.02 GBytes  1.73 Gbits/sec   20             sender
[  5]   0.00-10.00  sec  2.02 GBytes  1.73 Gbits/sec                  receiver

iperf Done.
root@Dell-Server:/mnt/sda1/wg-bench# 

Still, nearly 2 gigs a sec isn't that bad for a single core cpu and it's more then I need so I'm pleased with it's performance and efficiency. And the price was $40 so ya know, not bad.

I see 2 cores.

ohh you are correct. My mistake I had hyperthreading enabled.

Here is the test results with hyperthreading disabled and I confirmed with htop and cat /proc/cpuinfo that only 1 core is on.

root@Dell-Server:~/wg-bench# ubus call system board
{
        "kernel": "6.6.110",
        "hostname": "Dell-Server",
        "system": "Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz",
        "model": "Dell Inc. OptiPlex 3050",
        "board_name": "dell-inc-optiplex-3050",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.4",
                "revision": "r28959-29397011cc",
                "target": "x86/64",
                "description": "OpenWrt 24.10.4 r28959-29397011cc",
                "builddate": "1760891865"
        }
}
root@Dell-Server:~/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 59090 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   271 MBytes  2.27 Gbits/sec   55   1.19 MBytes       
[  5]   1.00-2.00   sec   266 MBytes  2.24 Gbits/sec    0   1.32 MBytes       
[  5]   2.00-3.00   sec   271 MBytes  2.27 Gbits/sec    1   1.07 MBytes       
[  5]   3.00-4.00   sec   268 MBytes  2.25 Gbits/sec    0   1.22 MBytes       
[  5]   4.00-5.00   sec   267 MBytes  2.24 Gbits/sec    1    979 KBytes       
[  5]   5.00-6.00   sec   272 MBytes  2.28 Gbits/sec    0   1.12 MBytes       
[  5]   6.00-7.00   sec   270 MBytes  2.26 Gbits/sec    0   1.27 MBytes       
[  5]   7.00-8.00   sec   269 MBytes  2.26 Gbits/sec   10   1.00 MBytes       
[  5]   8.00-9.00   sec   272 MBytes  2.28 Gbits/sec    0   1.17 MBytes       
[  5]   9.00-10.00  sec   268 MBytes  2.25 Gbits/sec    0   1.31 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  2.63 GBytes  2.26 Gbits/sec   67             sender
[  5]   0.00-10.01  sec  2.63 GBytes  2.26 Gbits/sec                  receiver

iperf Done.
root@Dell-Server:~/wg-bench# 


Still not bad results.

root@Dell-Server:~/wg-bench# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 158
model name      : Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz
stepping        : 9
microcode       : 0xf6
cpu MHz         : 800.000
cache size      : 3072 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities ibpb_exit_to_user
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed gds vmscape
bogomips        : 7799.87
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

root@Dell-Server:~/wg-bench# 

LoL for some reason it's actually FASTER in this benchmark with hyperthreading disabled.

Asus BT8, presumably MT7988DV, tri-core Cortex-A73 ARMv8.0-A @ 1800 MHz.

All three cores looks saturated during the test. The "current" frequency however never moves from 1500 MHz.

ubus call system board
{
	"kernel": "6.12.62",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 0",
	"model": "ASUS ZenWiFi BT8 (U-Boot mod)",
	"board_name": "asus,zenwifi-bt8-ubootmod",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "25.12.0-rc1",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r32353-9e9b05130c",
		"target": "mediatek/filogic",
		"description": "OpenWrt 25.12.0-rc1 r32353-9e9b05130c",
		"builddate": "1766089549"
	}
}
sh <(wget -O - https://raw.githubusercontent.com/cyyself/wg-bench/master/openwrt-benchmark.sh)
Connecting to host 169.254.200.2, port 4242
[  5] local 169.254.200.1 port 47880 connected to 169.254.200.2 port 4242
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec   124 MBytes  1.04 Gbits/sec   14   1.31 MBytes       
[  5]   1.01-2.00   sec   123 MBytes  1.04 Gbits/sec    0   1.43 MBytes       
[  5]   2.00-3.00   sec   123 MBytes  1.03 Gbits/sec   69   1.08 MBytes       
[  5]   3.00-4.00   sec   122 MBytes  1.02 Gbits/sec    0   1.13 MBytes       
[  5]   4.00-5.00   sec   124 MBytes  1.04 Gbits/sec    0   1.17 MBytes       
[  5]   5.00-6.00   sec   121 MBytes  1.01 Gbits/sec    0   1.20 MBytes       
[  5]   6.00-7.00   sec   122 MBytes  1.03 Gbits/sec    0   1.24 MBytes       
[  5]   7.00-8.00   sec   122 MBytes  1.02 Gbits/sec    0   1.28 MBytes       
[  5]   8.00-9.01   sec   124 MBytes  1.03 Gbits/sec    0   1.32 MBytes       
[  5]   9.01-10.01  sec   120 MBytes  1.00 Gbits/sec    7    985 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  1.20 GBytes  1.03 Gbits/sec   90            sender
[  5]   0.00-10.01  sec  1.20 GBytes  1.03 Gbits/sec                  receiver

iperf Done.
sh <(wget -O - https://raw.githubusercontent.com/cyyself/wg-bench/master/openwrt-benchmark.sh) -R
Connecting to host 169.254.200.2, port 4242
[  5] local 169.254.200.1 port 39190 connected to 169.254.200.2 port 4242
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   126 MBytes  1.05 Gbits/sec   74   1006 KBytes       
[  5]   1.00-2.00   sec   124 MBytes  1.04 Gbits/sec    0   1.05 MBytes       
[  5]   2.00-3.00   sec   121 MBytes  1.02 Gbits/sec    0   1.10 MBytes       
[  5]   3.00-4.00   sec   123 MBytes  1.03 Gbits/sec    0   1.14 MBytes       
[  5]   4.00-5.00   sec   124 MBytes  1.04 Gbits/sec    0   1.20 MBytes       
[  5]   5.00-6.00   sec   122 MBytes  1.03 Gbits/sec    0   1.24 MBytes       
[  5]   6.00-7.00   sec   124 MBytes  1.04 Gbits/sec    0   1.29 MBytes       
[  5]   7.00-8.00   sec   125 MBytes  1.05 Gbits/sec    0   1.34 MBytes       
[  5]   8.00-9.00   sec   124 MBytes  1.04 Gbits/sec   10   1.02 MBytes       
[  5]   9.00-10.01  sec   124 MBytes  1.03 Gbits/sec    0   1.12 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  1.21 GBytes  1.04 Gbits/sec   84            sender
[  5]   0.00-10.01  sec  1.21 GBytes  1.03 Gbits/sec                  receiver

iperf Done.
cat /proc/cpuinfo
processor	: 0
BogoMIPS	: 26.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0xd09
CPU revision	: 0

processor	: 1
BogoMIPS	: 26.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0xd09
CPU revision	: 0

processor	: 2
BogoMIPS	: 26.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0xd09
CPU revision	: 0
cat /sys/devices/system/cpu/cpu0/subsystem/devices/cpu0/cpufreq/cpuinfo_max_freq

1800000

Linksys WRT1900ACS V2 | Marvell 88F6820 (Dual Core ARMv7, 1.6GHz) | 25.12.0-rc1 | 468 Mbps

ubus call system board

{
"kernel": "6.12.62",
"hostname": "OpenWrt",
"system": "ARMv7 Processor rev 1 (v7l)",
"model": "Linksys WRT1900ACS",
"board_name": "linksys,wrt1900acs",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "25.12.0-rc1",
"firmware_url": "https://downloads.openwrt.org/",
"revision": "r32353-9e9b05130c",
"target": "mvebu/cortexa9",
"description": "OpenWrt 25.12.0-rc1 r32353-9e9b05130c",
"builddate": "1766089549"
}
}

./benchmark.sh

Connecting to host 169.254.200.2, port 5201
[ 5] local 169.254.200.1 port 45446 connected to 169.254.200.2 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 58.2 MBytes 488 Mbits/sec 0 895 KBytes
[ 5] 1.00-2.00 sec 57.6 MBytes 483 Mbits/sec 0 684 KBytes
[ 5] 2.00-3.00 sec 56.1 MBytes 472 Mbits/sec 0 879 KBytes
[ 5] 3.00-4.00 sec 56.0 MBytes 470 Mbits/sec 0 799 KBytes
[ 5] 4.00-5.00 sec 56.1 MBytes 470 Mbits/sec 0 735 KBytes
[ 5] 5.00-6.00 sec 53.5 MBytes 449 Mbits/sec 0 625 KBytes
[ 5] 6.00-7.00 sec 56.9 MBytes 477 Mbits/sec 0 625 KBytes
[ 5] 7.00-8.00 sec 54.6 MBytes 459 Mbits/sec 0 663 KBytes
[ 5] 8.00-9.00 sec 56.5 MBytes 474 Mbits/sec 0 607 KBytes
[ 5] 9.00-10.00 sec 55.2 MBytes 463 Mbits/sec 0 770 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 561 MBytes 470 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 558 MBytes 468 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 53394 connected to 169.254.200.2 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 54.2 MBytes 453 Mbits/sec
[ 5] 1.00-2.00 sec 54.4 MBytes 457 Mbits/sec
[ 5] 2.00-3.00 sec 55.1 MBytes 462 Mbits/sec
[ 5] 3.00-4.00 sec 54.9 MBytes 459 Mbits/sec
[ 5] 4.00-5.00 sec 55.0 MBytes 463 Mbits/sec
[ 5] 5.00-6.00 sec 55.2 MBytes 463 Mbits/sec
[ 5] 6.00-7.00 sec 54.4 MBytes 456 Mbits/sec
[ 5] 7.00-8.00 sec 55.1 MBytes 463 Mbits/sec
[ 5] 8.00-9.00 sec 55.4 MBytes 465 Mbits/sec
[ 5] 9.00-10.00 sec 54.1 MBytes 454 Mbits/sec


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 551 MBytes 462 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 548 MBytes 460 Mbits/sec receiver

iperf Done.

|FriendlyElec NanoPi R4S | Rockchip RK3399*
(Dual Core A72 2.0GHz + Quad Core A53 1.5GHz) | OpenWrt 24.10.5 (r29087-d9c5716d1d) (6.6.119) | 700Mbps |

ubus call system board

{
"kernel": "6.6.119",
"hostname": "R4S",
"system": "ARMv8 Processor rev 4",
"model": "FriendlyElec NanoPi R4S",
"board_name": "friendlyarm,nanopi-r4s",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.5",
"revision": "r29087-d9c5716d1d",
"target": "rockchip/armv8",
"description": "OpenWrt 24.10.5 r29087-d9c5716d1d",
"builddate": "1766005702"
}
}

openwrt-benchmark.sh

Connecting to host 169.254.200.2, port 4242
[ 5] local 169.254.200.1 port 34890 connected to 169.254.200.2 port 4242
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 83.5 MBytes 700 Mbits/sec 0 414 KBytes
[ 5] 1.00-2.00 sec 83.6 MBytes 702 Mbits/sec 0 433 KBytes
[ 5] 2.00-3.00 sec 83.6 MBytes 701 Mbits/sec 0 454 KBytes
[ 5] 3.00-4.00 sec 83.2 MBytes 698 Mbits/sec 0 454 KBytes
[ 5] 4.00-5.00 sec 83.8 MBytes 703 Mbits/sec 0 474 KBytes
[ 5] 5.00-6.00 sec 82.9 MBytes 695 Mbits/sec 0 474 KBytes
[ 5] 6.00-7.00 sec 83.5 MBytes 700 Mbits/sec 0 474 KBytes
[ 5] 7.00-8.00 sec 83.2 MBytes 698 Mbits/sec 0 530 KBytes
[ 5] 8.00-9.00 sec 83.5 MBytes 700 Mbits/sec 0 530 KBytes
[ 5] 9.00-10.00 sec 83.1 MBytes 697 Mbits/sec 0 530 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 834 MBytes 700 Mbits/sec 0 sender
[ 5] 0.00-10.00 sec 833 MBytes 698 Mbits/sec receiver

iperf Done.
4242/tcp: 9865

Markdown Table Row:
| FriendlyElec NanoPi R4S / Rockchip RK3399 | OpenWrt 24.10.5 / 6.6.119 | 700 Mbits/sec | |

*With Packet Steering enabled ALL CPUs

Router details:
{
"kernel": "6.12.63",
"hostname": "MX",
"system": "ARMv7 Processor rev 0 (v7l)",
"model": "Netgear R8000 (BCM4709)",
"board_name": "netgear,r8000",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "25.12.0-rc2",
"firmware_url": "https://downloads.openwrt.org/",
"revision": "r32429-d76c64ad00",
"target": "bcm53xx/generic",
"description": "OpenWrt 25.12.0-rc2 r32429-d76c64ad00",
"builddate": "1767653330"
}
}
Connecting to host 169.254.200.2, port 4242
[ 5] local 169.254.200.1 port 59602 connected to 169.254.200.2 port 4242
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 19.4 MBytes 162 Mbits/sec 0 561 KBytes
[ 5] 1.00-2.00 sec 19.2 MBytes 161 Mbits/sec 0 561 KBytes
[ 5] 2.00-3.00 sec 19.8 MBytes 166 Mbits/sec 0 561 KBytes
[ 5] 3.00-4.00 sec 19.8 MBytes 166 Mbits/sec 0 561 KBytes
[ 5] 4.00-5.00 sec 19.1 MBytes 160 Mbits/sec 0 561 KBytes
[ 5] 5.00-6.00 sec 19.8 MBytes 166 Mbits/sec 0 561 KBytes
[ 5] 6.00-7.00 sec 19.4 MBytes 163 Mbits/sec 0 561 KBytes
[ 5] 7.00-8.00 sec 19.6 MBytes 165 Mbits/sec 0 561 KBytes
[ 5] 8.00-9.00 sec 18.6 MBytes 156 Mbits/sec 0 561 KBytes
[ 5] 9.00-10.01 sec 19.4 MBytes 161 Mbits/sec 0 561 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 194 MBytes 163 Mbits/sec 0 sender
[ 5] 0.00-10.02 sec 194 MBytes 162 Mbits/sec receiver

iperf Done.
4242/tcp: 10470

Markdown Table Row:
| Netgear R8000 (BCM4709) / ENTER CPU MODEL | OpenWrt 25.12.0-rc2 / 6.12.63 | 163 Mbits/sec |

Router details:
{
"kernel": "6.12.62",
"hostname": "BSH2",
"system": "ARMv7 Processor rev 0 (v7l)",
"model": "Asus RT-AC68U (BCM4708)",
"board_name": "asus,rt-ac68u",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "25.12.0-rc1",
"firmware_url": "https://downloads.openwrt.org/",
"revision": "r32353-9e9b05130c",
"target": "bcm53xx/generic",
"description": "OpenWrt 25.12.0-rc1 r32353-9e9b05130c",
"builddate": "1766089549"
}
}
Connecting to host 169.254.200.2, port 4242
[ 5] local 169.254.200.1 port 60112 connected to 169.254.200.2 port 4242
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 17.5 MBytes 147 Mbits/sec 0 573 KBytes
[ 5] 1.00-2.00 sec 17.6 MBytes 148 Mbits/sec 0 573 KBytes
[ 5] 2.00-3.00 sec 17.6 MBytes 148 Mbits/sec 0 573 KBytes
[ 5] 3.00-4.00 sec 17.9 MBytes 150 Mbits/sec 0 573 KBytes
[ 5] 4.00-5.00 sec 15.0 MBytes 126 Mbits/sec 0 573 KBytes
[ 5] 5.00-6.01 sec 18.0 MBytes 150 Mbits/sec 0 573 KBytes
[ 5] 6.01-7.00 sec 17.6 MBytes 148 Mbits/sec 0 573 KBytes
[ 5] 7.00-8.00 sec 17.6 MBytes 148 Mbits/sec 0 573 KBytes
[ 5] 8.00-9.00 sec 17.8 MBytes 149 Mbits/sec 0 573 KBytes
[ 5] 9.00-10.00 sec 17.6 MBytes 148 Mbits/sec 0 573 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 174 MBytes 146 Mbits/sec 0 sender
[ 5] 0.00-10.02 sec 174 MBytes 146 Mbits/sec receiver

iperf Done.
4242/tcp: 8746

Markdown Table Row:
| Asus RT-AC68U (BCM4708) / ENTER CPU MODEL | OpenWrt 25.12.0-rc1 / 6.12.62 | 146 Mbits/sec

Router details:
{
"kernel": "6.6.119",
"hostname": "Innova",
"system": "ARMv7 Processor rev 0 (v7l)",
"model": "Netgear R7000",
"board_name": "netgear,r7000",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.5",
"revision": "r29087-d9c5716d1d",
"target": "bcm53xx/generic",
"description": "OpenWrt 24.10.5 r29087-d9c5716d1d",
"builddate": "1766005702"
}
}
Connecting to host 169.254.200.2, port 4242
[ 5] local 169.254.200.1 port 45854 connected to 169.254.200.2 port 4242
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 17.5 MBytes 146 Mbits/sec 0 550 KBytes
[ 5] 1.00-2.00 sec 19.9 MBytes 167 Mbits/sec 0 550 KBytes
[ 5] 2.00-3.00 sec 18.6 MBytes 156 Mbits/sec 0 550 KBytes
[ 5] 3.00-4.00 sec 18.0 MBytes 151 Mbits/sec 0 550 KBytes
[ 5] 4.00-5.00 sec 18.5 MBytes 155 Mbits/sec 0 550 KBytes
[ 5] 5.00-6.00 sec 18.6 MBytes 156 Mbits/sec 0 550 KBytes
[ 5] 6.00-7.00 sec 19.2 MBytes 162 Mbits/sec 0 550 KBytes
[ 5] 7.00-8.01 sec 19.6 MBytes 164 Mbits/sec 0 550 KBytes
[ 5] 8.01-9.00 sec 19.9 MBytes 167 Mbits/sec 0 550 KBytes
[ 5] 9.00-10.01 sec 19.8 MBytes 165 Mbits/sec 0 550 KBytes


[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.01 sec 190 MBytes 159 Mbits/sec 0 sender
[ 5] 0.00-10.02 sec 189 MBytes 159 Mbits/sec receiver

iperf Done.
4242/tcp: 11522

Markdown Table Row:
| Netgear R7000 / ENTER CPU MODEL | OpenWrt 24.10.5 / 6.6.119 | 159 Mbits/sec

Citrix SD WAN 210 | Intel Atom C3338 (Dual Core x86, 1.5GHz) | 24.10.5 | 753 Mbps

root@OpenWrt:/tmp/wg-bench# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 42880 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.01   sec  90.2 MBytes   753 Mbits/sec   44   1.10 MBytes       
[  5]   1.01-2.00   sec  91.5 MBytes   771 Mbits/sec    0   1.20 MBytes       
[  5]   2.00-3.00   sec  86.9 MBytes   729 Mbits/sec    0   1.28 MBytes       
[  5]   3.00-4.01   sec  90.2 MBytes   754 Mbits/sec    0   1.36 MBytes       
[  5]   4.01-5.00   sec  88.0 MBytes   741 Mbits/sec    0   1.40 MBytes       
[  5]   5.00-6.00   sec  90.5 MBytes   759 Mbits/sec    6   1.04 MBytes       
[  5]   6.00-7.00   sec  90.9 MBytes   762 Mbits/sec    0   1.10 MBytes       
[  5]   7.00-8.00   sec  89.1 MBytes   749 Mbits/sec    0   1.14 MBytes       
[  5]   8.00-9.00   sec  90.4 MBytes   758 Mbits/sec    0   1.17 MBytes       
[  5]   9.00-10.00  sec  91.1 MBytes   764 Mbits/sec    0   1.19 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   899 MBytes   754 Mbits/sec   50             sender
[  5]   0.00-10.01  sec   896 MBytes   751 Mbits/sec                  receiver

root@OpenWrt:/tmp/wg-bench# ubus call system board
{
        "kernel": "6.6.119",
        "hostname": "OpenWrt",
        "system": "Intel(R) Atom(TM) CPU C3338 @ 1.50GHz",
        "model": "Citrix Inc. CB-210",
        "board_name": "citrix-inc-cb-210",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.5",
                "revision": "r29087-d9c5716d1d",
                "target": "x86/64",
                "description": "OpenWrt 24.10.5 r29087-d9c5716d1d",
                "builddate": "1766005702"
        }
}

| Dell Latitude 5500 / i5-8265U | OpenWrt 24.10.5 / 6.6.119 | 4.06 Gbits/sec | |

| CMCC MR3000D-CI | Qualcomm IPQ5018 (dual-core, 1.0 GHz, A53) | OpenWrt SNAPSHOT / 6.12.68 | 208 Mbits/sec |

root@OpenWrt:~/wg-bench-master# ubus call system board
{
	"kernel": "6.12.68",
	"hostname": "OpenWrt",
	"system": "ARMv8 Processor rev 4",
	"model": "CMCC MR3000D-CI",
	"board_name": "cmcc,mr3000d-ci",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "SNAPSHOT",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r32951-dbcb5fb52e",
		"target": "qualcommax/ipq50xx",
		"description": "OpenWrt SNAPSHOT r32951-dbcb5fb52e",
		"builddate": "1770406654"
	}
}
root@OpenWrt:~/wg-bench-master# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 46254 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  25.6 MBytes   214 Mbits/sec    0    577 KBytes       
[  5]   1.00-2.00   sec  24.9 MBytes   208 Mbits/sec    0    675 KBytes       
[  5]   2.00-3.00   sec  23.9 MBytes   201 Mbits/sec    0    675 KBytes       
[  5]   3.00-4.00   sec  25.1 MBytes   211 Mbits/sec    0    675 KBytes       
[  5]   4.00-5.00   sec  24.9 MBytes   209 Mbits/sec    0    707 KBytes       
[  5]   5.00-6.00   sec  24.6 MBytes   206 Mbits/sec    0    744 KBytes       
[  5]   6.00-7.01   sec  25.4 MBytes   213 Mbits/sec    0    744 KBytes       
[  5]   7.01-8.00   sec  25.0 MBytes   210 Mbits/sec    0    744 KBytes       
[  5]   8.00-9.00   sec  25.6 MBytes   215 Mbits/sec    0    792 KBytes       
[  5]   9.00-10.00  sec  24.8 MBytes   207 Mbits/sec    0    792 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   250 MBytes   209 Mbits/sec    0            sender
[  5]   0.00-10.01  sec   248 MBytes   208 Mbits/sec                  receiver

iperf Done.
root@OpenWrt:~/wg-bench-master# ./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 33474 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  19.9 MBytes   167 Mbits/sec                  
[  5]   1.00-2.00   sec  20.9 MBytes   175 Mbits/sec                  
[  5]   2.00-3.00   sec  21.4 MBytes   180 Mbits/sec                  
[  5]   3.00-4.00   sec  21.6 MBytes   181 Mbits/sec                  
[  5]   4.00-5.00   sec  21.8 MBytes   183 Mbits/sec                  
[  5]   5.00-6.00   sec  21.8 MBytes   183 Mbits/sec                  
[  5]   6.00-7.00   sec  21.8 MBytes   182 Mbits/sec                  
[  5]   7.00-8.00   sec  21.8 MBytes   183 Mbits/sec                  
[  5]   8.00-9.00   sec  21.4 MBytes   179 Mbits/sec                  
[  5]   9.00-10.00  sec  21.9 MBytes   184 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   216 MBytes   181 Mbits/sec    0            sender
[  5]   0.00-10.00  sec   214 MBytes   180 Mbits/sec                  receiver

iperf Done.

| Radxa E20C | Rockchip RK3528A (Quad-core Arm CortexÂź-A53 @ 2.0GHz) | 25.12.0-rc3 | 603 Mbits/sec |

root@radxa6:~/wg-bench-master# ubus call system board
{
        "kernel": "6.12.66",
        "hostname": "radxa6",
        "system": "ARMv8 Processor rev 4",
        "model": "Radxa E20C",
        "board_name": "radxa,e20c",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "25.12.0-rc3",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r32486-30527a4c34",
                "target": "rockchip/armv8",
                "description": "OpenWrt 25.12.0-rc3 r32486-30527a4c34",
                "builddate": "1768954854"
        }
}

root@radxa6:~/wg-bench-master# ./benchmark.sh
Connecting to host 169.254.200.2, port 5201
[  5] local 169.254.200.1 port 50982 connected to 169.254.200.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  71.8 MBytes   601 Mbits/sec    0    469 KBytes
[  5]   1.00-2.00   sec  71.4 MBytes   599 Mbits/sec    0    517 KBytes
[  5]   2.00-3.00   sec  71.5 MBytes   600 Mbits/sec    0    517 KBytes
[  5]   3.00-4.00   sec  71.8 MBytes   602 Mbits/sec    0    545 KBytes
[  5]   4.00-5.00   sec  70.8 MBytes   593 Mbits/sec    0    545 KBytes
[  5]   5.00-6.00   sec  72.6 MBytes   609 Mbits/sec    0    545 KBytes
[  5]   6.00-7.00   sec  72.8 MBytes   610 Mbits/sec    0    545 KBytes
[  5]   7.00-8.00   sec  71.6 MBytes   601 Mbits/sec    0    570 KBytes
[  5]   8.00-9.00   sec  72.2 MBytes   606 Mbits/sec    0    570 KBytes
[  5]   9.00-10.00  sec  72.4 MBytes   606 Mbits/sec    0    570 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   719 MBytes   603 Mbits/sec    0            sender
[  5]   0.00-10.01  sec   718 MBytes   602 Mbits/sec                  receiver

iperf Done.

| Netgear WAC510 / IPQ4018 | OpenWrt 24.10.5 / 6.6.119 | 174 Mbits/sec |

This one looks like having a significant jump on VPN speed, it's even faster than the higher clock rate WRT3200ACM!

Can you tell which variant of RT-AC68U? Because I know this AC68U has at least 6 different hardware revision, usually you can tell from the label of router.

This one is very interesting, looking at boot log of BT8, it supposed to have 4-core which is the same as MT7988A, however CPU 3 (4th core) is unable to bring up, however comparing with Banana Pi BPI-R4 the WG test is even higher (but the data on BPI-R4 is still with older version which might be the cause)

v1. Except Wifi, it is working well. I use it for Wireguard VPN

{
        "kernel": "6.12.71",
        "hostname": "router",
        "system": "ARMv8 Processor rev 4",
        "model": "FriendlyElec NanoPi R76S",
        "board_name": "friendlyarm,nanopi-r76s",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "25.12.0-rc5",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r32673-482ba7230a",
                "target": "rockchip/armv8",
                "description": "OpenWrt 25.12.0-rc5 r32673-482ba7230a",
                "builddate": "1771363837"
        }
}
Connecting to host 169.254.200.2, port 4242
[  5] local 169.254.200.1 port 34684 connected to 169.254.200.2 port 4242
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   136 MBytes  1.14 Gbits/sec    0    433 KBytes
[  5]   1.00-2.00   sec   140 MBytes  1.18 Gbits/sec    0    477 KBytes
[  5]   2.00-3.00   sec   138 MBytes  1.16 Gbits/sec    0    501 KBytes
[  5]   3.00-4.00   sec   138 MBytes  1.15 Gbits/sec    0    501 KBytes
[  5]   4.00-5.00   sec   139 MBytes  1.17 Gbits/sec    0    501 KBytes
[  5]   5.00-6.00   sec   138 MBytes  1.16 Gbits/sec    0    526 KBytes
[  5]   6.00-7.00   sec   140 MBytes  1.17 Gbits/sec    0    526 KBytes
[  5]   7.00-8.00   sec   137 MBytes  1.15 Gbits/sec    0    560 KBytes
[  5]   8.00-9.00   sec   134 MBytes  1.13 Gbits/sec    0    560 KBytes
[  5]   9.00-10.00  sec   137 MBytes  1.15 Gbits/sec    0    612 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.35 GBytes  1.16 Gbits/sec    0            sender
[  5]   0.00-10.00  sec  1.34 GBytes  1.15 Gbits/sec                  receiver

iperf Done.

I've tested nanopi r6s myself, and upon initial startup, packets almost always arrive on 1 bigcore and 1 littlecore (3,4) (1gbps). After deleting and re-creating the interface, the packets arrive on two bigcores (5,6) (3.4gbps). In unlucky cases, the little core is reassigned when re-creating.

So, after rebooting and running setup-netns.sh > benchmark.sh, I got 900mbps+. After that, running clean-up.sh > setup-netns.sh > benchmark.sh, I got 3.3~3.5gbps.

I don't know how to assign interfaces only to bigcores.

After installing [procps-ng-watch], I checked which CPUs were receiving packets with [watch -n1 "cat /proc/softirqs | grep NET_RX"]