openvpn: update to 2.7, support the new ovpn data channel offload module#27421
openvpn: update to 2.7, support the new ovpn data channel offload module#27421LGA1150 wants to merge 2 commits intoopenwrt:masterfrom
Conversation
|
CI always fails at |
|
Normally, CI errors |
09e4bfa to
e2dfacb
Compare
|
Just curious: can those who use openvpn tell me why when WireGuard exists (clients for every platform, formally verified crypto)? Momentum? Any reason not to upgrade openvpn to v3? v3 seems a bit more complex and cumbersome. |
I personally cannot answer this. You may instead ask @zx2c4.
v3 is also client-only. |
Well they are two different things.
V3 is not an upgrade. It's a parallel project started more than 10 years ago that rewrote the OpenVPN core from scratch in C++. There is a Linux client based on it, but it's mainly intended for desktops only as it leverages on modern IPC and things you hardly find on embedded devices. This said, OpenVPN2 is still the most developed codebases from a community standpoint. |
This comment was marked as spam.
This comment was marked as spam.
|
I have noticed that with OpenVPN 2.6 and |
|
@sanderpqr Related issue: OpenVPN/ovpn-net-next#14 |
|
@sanderpqr as pointed out by @LGA1150 , the problem is still there. That's because DCO simply uses the kernel crypto API (both the old ovpn-dco-v2 and the new ovpn). So from the low level crypto engine perspective there is not much difference. |
|
Thanks @LGA1150 and @ordex . The behavior I'm seeing (all on
So without the DCO kmod, OpenVPN is happy to use the SafeXcel accelerator (or ignore it). It's only when the DCO kmod is loaded that OpenVPN seems to have issues with the accelerator? |
without DCO, OpenVPN uses the system SSL library for all crypto operations. Therefore I simply presume that the library does not rely on safexcel. On the contrary, when using DCO, the crypto operations are handled by the kernel, which safexcel interacts with. |
Ah yes, this makes sense.
I'm not aware of how to determine or test this. All I can say is that On |
@sanderpqr You can test IPSec using the AES-GCM cipher. |
|
@LGA1150 i tried setting it for the first time with strongswan, had to install mising dependencies like 4 times and im probably still missing something because i don't think my tunnel uses kernel encryption (iperf3 reports 10mbit/s and htop reports 100% on "charon"), installing/removing safexcel package doesn't change anything config files: https://pastebin.com/raw/pF2gM177 |
|
@its0ka |
|
@LGA1150 yeah, thanks, removing the "strongswan-mod-kernel-libipsec" package enabled kernel encryption. The ipsec tunnel still works with and without the safexcel package, but performance with safexcel is worse than without it, i started iperf3 -R and: i tested openvpn (verb 10) at the same time and it stopped working with safexcel, but logread was exactly the same |
|
@its0ka Thanks for your tests. Also as I stated in the related issue, the driver passed all self-tests, so it's unlikely that the driver is broken. |
|
I can echo @its0ka's results with IPSec. SafeXcel works, but doesn't really help performance (this is in line with comments on the forum). More worryingly, the combination of I've also tested the related |
How well do DCO and IPSec perform with EIP93? |
|
@LGA1150 I've only tested DCO on |
d3eb6de to
232f3cc
Compare
|
2.7 has been released, see: https://community.openvpn.net/Downloads |
|
Run tested at: |
The ovpn kernel module is is part of the Linux kernel starting from version 6.16. Switch to the new officially maintained backports source: https://github.com/OpenVPN/ovpn-backports Signed-off-by: Qingfang Deng <dqfext@gmail.com>
The new DCO module depends on OpenVPN 2.7. For details refer to https://github.com/OpenVPN/openvpn/blob/v2.7.0/Changes.rst Removed upstreamed wolfSSL patches: - 101-Fix-EVP_PKEY_CTX_-compilation-with-wolfSSL.patch - 102-Disable-external-ec-key-support-when-building-with-wolfSSL.patch Reworked 100-mbedtls-disable-runtime-version-check.patch to use MBEDTLS_VERSION_STRING instead of a mutable buffer. Signed-off-by: Qingfang Deng <dqfext@gmail.com>
📦 Package Details
Maintainer: @zhaojh329 @AuthorReflex @sch-m
Description:
Update OpenVPN to 2.7, and use the new DCO module source.
🧪 Run Testing Details
✅ Formalities
If your PR contains a patch:
git am(e.g., subject line, commit description, etc.)
We must try to upstream patches to reduce maintenance burden.