Performance will highly depend on crypto algorithm and optimization.
Setting -O2 instead of default -Os helps quite a bit and that also includes enabling optimization for OpenSSL (-O3) helps quite a bit. You might have better luck using mbed TLS instead on OpenSSL however, at least I found it to be faster than OpenSSL on MIPS.
For anyone who is interested, my Linksys EA6350 v3 (IPQ4018) finally arrived from Amazon UK (Still £34 price matching ebuyer.com) after a long 3 week wait.
Installed OpenWrt 19.07 snapshot, and OpenVPN client.
Speedtests report 29-30 Mbps download speed via ethernet LAN port, and about 26-27 Mbps via 5GHz wifi.
Compared to 14 Mbps from an old Western Digital N750 (AR9344), 13 Mbps from TPlink Archer C50v4 (MT7628), and 10 Mbps from HH5a (Lantiq).
@bill888 how did you managed to achieve such good speed using openvpn?
I'm testing with linksys ea6350 snapshot with ethernet lan port and the most I can achieve is avg 20Mbit/s
The end point is local to my region.
The low upload speed is limited by my ISP upstream VDSL connection.
Part of my .ovpn client config file stored on ea6350v3 looks like this:
client
dev tun
reneg-sec 0
persist-tun
persist-key
ping 5
ping-exit 30
nobind
comp-lzo no
remote-random
remote-cert-tls server
auth-nocache
route-metric 1
cipher AES-256-CBC
auth SHA512
I do admit I was previously using a different out of date .ovpn file when I reported 29-30 Mbps possible. Update: I tested both files and can't honestly see much difference in performance.
My ea6350v3 is piggy backed onto my main wifi router. ie. it is Not my primary facing internet router.
Wifi is also disabled on the ea6350v3.
I don't know if it makes any difference, but I use my openvpn client setup guide I wrote for HH5A, to set up using OpenWrt 19.07 snapshot (25 July 2019) to connect to 3rd party VPN provider.
Testing with a very similar IPQ4019-based EA8300 (primary difference in SoC being that it supports PCIe for a third radio), using iperf3 from the router to a local server I see:
OpenVPN -- 23-25 Mbps
WireGuard -- 260-300 Mbps
There is more variation in the WireGuard results that I would like to quote that as a "hard" number (occasional runs under 260 Mbps). I'm checking to see if it is due to irqbalance not being installed.
master build from last night's source.
(Using irqbalance did not improve the results for WireGuard.)
OK. I probably had a Friday Unit. The wifi was locking up/range was fluctuation. Had an exchange unit from Amazon, now its hitting 25Mbps consistently on VPN and also wifi is stable.
Recompiled with -O2 and the OpenWrt performance appears to have improved to ~ 26 Mbps.
--- a/dot.config
+++ b/dot.config
@@ -347,9 +347,10 @@ CONFIG_EXTERNAL_KERNEL_TREE=""
CONFIG_KERNEL_GIT_CLONE_URI=""
CONFIG_BUILD_LOG=y
# CONFIG_SRC_TREE_OVERRIDE is not set
-CONFIG_EXTRA_OPTIMIZATION="-fno-caller-saves -fno-plt"
-# CONFIG_TARGET_OPTIONS is not set
-CONFIG_TARGET_OPTIMIZATION="-Os -pipe"
+CONFIG_EXTRA_OPTIMIZATION="-fno-caller-saves -fno-plt -O2"
+CONFIG_TARGET_OPTIONS=y
+CONFIG_TARGET_OPTIMIZATION="-O2 -pipe"
+# CONFIG_SOFT_FLOAT is not set
# CONFIG_EXTERNAL_TOOLCHAIN is not set
CONFIG_NEED_TOOLCHAIN=y
# CONFIG_TOOLCHAINOPTS is not set
OpenSSL - setting up a test harness to run “stock” builds with both iperf and flent for a variety of boxes. Routing, VPN, and SQM on the list. Not thrilled with the performance of the bridge-integral Intel NICs (i219, e1000 driver) on the mobos. (The on-board, i211, discrete Intel NICs work quite well.) Need to dig up a PCI NIC.