I noticed that openvpn’s performance is well below expectations, on average 80Mbps is the maximum I can get, and this is using AES-128 to alleviate processing.
I verified that the CPU supports AES, but it appears that the Kernel does not have the module enabled. Am I correct about this?
If so, is there a plan to enable them in the kernel?
My OpenVPN speeds using AES-128-GCM do hit the advertised speed for the Spitz AX of 150 Mbps. Seeing 150 Mbps does seem like AES acceleration is working.
Correction: you verified you have a generic kernel module loaded to handle AES operations.
These SOCs are similar to ones found mobile phones if not near identical (ARM Cortex A53 in this case). It’s highly doubtful they’d have full AES support like Intel AES-NI. GL doesn’t used the SOCs that supports something like AES-NI on ARM from what I’ve seen. It’s currently the exception rather than norm.
Precisely, I believe that the generic module does not bring all the performance of the AES instruction built into the CPU. The intention is to use OpenVPN and not Wireguard due to personal needs for the application.
So it really is abnormal… a theoretically superior equipment is having lower performance. This just shows that there may be a lack of optimization, whether in the kernel module or in the openvpn version.
You don’t happen to have anything kicking around for the MT7986AV (Flint v2 SOC), by chance, do you? I’d like to read the differences should you have them on hand.
BPI-R3 uses another SOC, the MT7986A, while Flint 2 uses the MT7986AV. I believe there are differences between them. They may be small, but I believe the model used in Flit would be newer!
About the Cortex-A53 processor Cryptography Extension
The Cortex-A53 processor Cryptography Extension supports the ARMv8 Cryptography Extensions. The Cryptography Extensions add new A64, A32, and T32 instructions to Advanced SIMD that accelerate Advanced Encryption Standard (AES) encryption and decryption, and the Secure Hash Algorithm (SHA) functions SHA-1, SHA-224, and SHA-256.
Note
The optional Cryptography Extension is not included in the base product. ARM supplies the Cryptography Extension only under an additional licence to the Cortex-A53 processor and Advanced SIMD and Floating-point support licences.
🢁 Emphaisis mine. This could be the root problem, I speculate. GL would have to chime in on that.
I’m saying “AES-NI style”… so we’re both on the same page (AMD licensed AES-NI too IIRC).