GL.iNET Flint 2 (GL-MT6000) discussions

WireGuard speeds on various builds I have tested today. All via a 1GB port.
Test suite: https://github.com/cyyself/wg-bench

On device to on device (loopback)

These tests are indicative of kernel performance where packet steering does not affect locally tested WireGuard speeds.

  • Current master snapshot shows a slightly speed regression
  • GL.iNETs 4.6.4-op24 release2 firmware shows a large speed regression

I am unable to test pesa1234s custom build yet.

From fastest to slowest:

OpenWrt 23.05.5 r24106-10cc5fcd00
"kernel": "5.15.167"

[ WITHOUT PACKET STEERING ]

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

=======

GLiNET 4.6.4 release 1
	"kernel": "5.4.238"
	"description": "OpenWrt 21.02-SNAPSHOT r15812+1075-46b6ee7ffc"
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   956 MBytes   802 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   954 MBytes   800 Mbits/sec                  receiver

=======

GLiNET 4.5.8 release 4
	"kernel": "5.4.238"
	"description": "OpenWrt 21.02-SNAPSHOT r15812+1071-46b6ee7ffc"
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   953 MBytes   799 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   951 MBytes   798 Mbits/sec                  receiver

=======

GLiNET 4.7.0 beta3
	"kernel": "5.4.238"

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   947 MBytes   795 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   946 MBytes   793 Mbits/sec                  receiver

=======

2024-10-10 snapshot

OpenWrt SNAPSHOT r27719-3f6e087b6f / LuCI Master 24.281.62975~383edb4

[ WITHOUT PACKET STEERING ]
	"kernel": "6.6.54"
	"description": "OpenWrt SNAPSHOT r27719-3f6e087b6f"
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   894 MBytes   750 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   892 MBytes   748 Mbits/sec                  receiver

=======

4.6.4-op24 release2
	"kernel": "6.6.47"
	"description": "OpenWrt 24.0 r27229+44-ebe7c5f1a3"
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   787 MBytes   660 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   786 MBytes   659 Mbits/sec                  receiver

=======

Test between two devices

Using the fastest above firmware:

OpenWrt 23.05.5 r24106-10cc5fcd00
"kernel": "5.15.167"

AP as SERVER through a WireGuard tunnel

The following tests do not show that I saturate all cores according to htop, so evidently there is room for improvement (irq affinities or packet steering).

Running the iperf3 -c 192.168.1.1 -u -b 500000000 results in roughly 500mbit before packet loss starts

OpenWrt 23.05.5 r24106-10cc5fcd00
"kernel": "5.15.167"

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec   579 MBytes   486 Mbits/sec  0.014 ms  12939/456868 (2.8%)  receiver

Running iperf3 -c 192.168.1.1 -t -z is slightly worse

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-33.00  sec  1.69 GBytes   440 Mbits/sec                  receiver

AP as CLIENT through a WireGuard tunnel

performs better

Run iperf3 -c 192.168.1.3 TCP test

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   913 MBytes   766 Mbits/sec  525             sender
[  5]   0.00-10.01  sec   910 MBytes   763 Mbits/sec                  receiver

Run iperf3 -c 192.168.1.3 -u -b 1000000000 -M 1000 UDP test

- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  1001 MBytes   839 Mbits/sec  0.000 ms  0/766915 (0%)  sender
[  5]   0.00-10.00  sec   992 MBytes   832 Mbits/sec  0.009 ms  6524/766893 (0.85%)  receiver