From: Michael Tremer <michael.tremer@ipfire.org>
To: ummeegge <ummeegge@ipfire.org>
Cc: development@lists.ipfire.org
Subject: Re: openvpn-2.7_rc1
Date: Sun, 28 Dec 2025 12:18:54 +0000 [thread overview]
Message-ID: <C00FB8F8-0F43-4F68-BCDE-784147D76CD5@ipfire.org> (raw)
In-Reply-To: <bf7bd77238fd8735edb3fc0c374a035a6079fc33.camel@ipfire.org>
Hello Erik,
> On 23 Dec 2025, at 16:13, ummeegge <ummeegge@ipfire.org> wrote:
>
> Hello Michael,
>
> Am Dienstag, dem 23.12.2025 um 12:27 +0100 schrieb Michael Tremer:
>> Hello Erik,
>>
>> Great that you are already testing OpenVPN 2.7. As we have already
>> seen a couple of RCs, the release should be fairly close. We will
>> probably upgrade very quickly after the final version has been
>> released.
>>
>> However, I believe that OpenVPN 2.6 should already be supporting DCO,
>> however there is this message in the logs:
>>
>> configure: WARNING: DCO cannot be enabled when using iproute2
>> configure: WARNING: DCO support disabled
>>
>> So you are right with your changes to the configure command. Since we
>> won’t have to wait until 2.7 is release, would you be able to submit
>> a patch so we can ship a DCO-enabled OpenVPN with the new kernel?
> i can, but the "DCO support disabled" will be persistent also with the
> new 6.18.1 Kernel
> `
> Dec 23 15:56:02 ipfire-prime openvpnserver[17008]: Note: Kernel support
> for ovpn-dco missing, disabling data channel offload.
> Dec 23 15:56:02 ipfire-prime openvpnserver[17008]: OpenVPN 2.6.14
> x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO]
> [AEAD] [DCO]
> Dec 23 15:56:02 ipfire-prime openvpnserver[17008]: library versions:
> OpenSSL 3.6.0 1 Oct 2025, LZO 2.10
> Dec 23 15:56:02 ipfire-prime openvpnserver[17008]: DCO version: N/A
> `
>
> . To use DCO with versions < 2.7_rc4 , the old OpenVPN modul ovpn-dco
> https://github.com/OpenVPN/ovpn-dco needs to be used (seperate
> compilation, seperate package). Since Kernel 6.16 there is a in-tree
> `ovpn` modul https://github.com/OpenVPN/ovpn-net-next which will be
> shipped with the
> Kernel https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/net/ovpn
>
> . Arne has been published the 6.18.1 Kernel for testing which i have
> used for those tests.
I cannot see anything about the OpenVPN DCO module that is included in the mainline kernel being incompatible with OpenVPN 2.6. Where did you get this information from?
> `
> # root @ ipfire-prime in ~ [16:46:58]
> $ uname -a
> Linux ipfire-prime.local 6.18.1-ipfire #1 SMP PREEMPT_DYNAMIC Mon Dec
> 15 10:07:30 GMT 2025 x86_64 GNU/Linux
>
> # root @ ipfire-prime in ~ [16:47:31]
> $ lsmod | grep ovpn
> ovpn 98304 0
> ip6_udp_tunnel 16384 2 ovpn,wireguard
> udp_tunnel 36864 2 ovpn,wireguard
>
> `
>
> So we would need the new Kernel but also an OpenVPN >= 2.7_rc4 version
> which also uses the new modul
> https://community.openvpn.net/Downloads#openvpn-27_rc4-released-17-december-2025
> .
>
>
>>
>>> On 20 Dec 2025, at 19:05, ummeegge <ummeegge@ipfire.org> wrote:
>>>
>>> Hello Adolf and all,
>>> wanted to deliver also some results to the 2.7 version of OpenVPN,
>>> which is currently on rc4 release. Meanwhile i use the rc4
>>> candidate
>>> with the new Kernel 6.18.1 which Arne delivered for testing.
>>>
>>> Have compiled rc4 with the following diff
>>> `
>>> @@ -73,10 +73,10 @@ $(TARGET) : $(patsubst
>>> %,$(DIR_DL)/%,$(objects))
>>> cd $(DIR_APP) && ./configure \
>>> --prefix=/usr \
>>> --sysconfdir=/var/ipfire/ovpn \
>>> - --enable-iproute2 \
>>> --enable-plugins \
>>> --enable-plugin-auth-pam \
>>> - --enable-plugin-down-root
>>> + --enable-plugin-down-root \
>>> + --enable-dco
>>>
>>> ` and it uses the new ovpn Kernel modul out of the box if no CBC
>>> Cipher
>>> is in usage. Have set in the WUI `--data-cipher-fallback` to
>>> disabled
>>> and configured only GCM and ChaCha20 as Ciphers (if there is CBC
>>> somewhere included, DCO will disable itself at startup).
>>> So there was no more configuration needed to enable the "Data
>>> Channel
>>> Offload" .
>>
>> These are some serious limitations, but in the current default
>> configuration our users should not walk into this.
>>
>> Should we add a note to the CBC ciphers in the selection box that
>> choosing them would disable DCO?
> Good idea.
>
>>
>>> Made some rudimentary speedtests with speedtest.net with an Fedora
>>> 43
>>> client via WLAN with this scenarios:
>>> 1) Direct and without OpenVPN to get a reference value of the line
>>> 2) non-DCO OpenVPN 2.6 on client and server (without DCO)
>>> 3) Server-DCO OpenVPN-2.7_rc4 on IPFire (as Server) and with 2.6
>>> (without DCO) on client side and
>>> 4) Full-DCO on both ends OpenVPN-2.7_rc4 with enabled DCO
>>>
>>> which i wanted to provide here for you.
>>>
>>> Download:
>>> Direkt: 49.39 Mbps
>>> non-DCO: 23.99 Mbps
>>
>> This is an insane drop. Why would it drop so much when the bottleneck
>> is clearly the WiFi and not OpenVPN?
> Haven´t trust my eyes either :-) .
>
>>
>>> Server-DCO: 44.63 Mbps
>>> Full DCO: 47.84 Mbps
>>>
>>> Upload:
>>> Direkt: 20.93 Mbps
>>> non-DCO: 19.66 Mbps
>>> Server-DCO: 20.59 Mbps
>>> Full DCO: 20.54 Mbps
>>>
>>> Idle latency:
>>> Direkt: 14 ms
>>> non-DCO: 15 ms
>>> Server-DCO: 16 ms
>>> Full DCO: 15 ms
>>>
>>> Download latency:
>>> Direkt: 41 ms
>>> non-DCO: 171 ms
>>
>> The same goes here. This is a huge increase in latency which will
>> explain the large drop in throughput.
>>
>>> Server-DCO: 53 ms
>>> Full DCO: 58 ms
>>>
>>> Upload latency:
>>> Direkt: 35 ms
>>> non-DCO: 37 ms
>>> Server-DCO: 36 ms
>>> Full DCO: 35 ms
>>>
>>> Was at first not sure if something went wrong and i e.g. bypassed
>>> accidentially the tunnel but mtr showed that all is OK.
>>>
>>> I know that these results are not representative but i wanted
>>> nevertheless to let you know. May someone wants to give it also a
>>> try.
>>>
>>> Also, a lot hass been changed to the better in 2.7 IMHO.
>>
>> Like what? I think the major changes have been happening in 2.6 and
>> 2.7 only requires minimal changes in the IPFire tooling to make the
>> upgrade work.
> Yes, it is like that there is no need for tooling something up to get
> this upgrade up and working except the above mentioned (Kernel compile
> time options). Even the DCO part comes automatically also if the client
> does not support it, it will speed things up on IPFire itself. Another
> part which i recognized was the usage of ML-KEM-768 (PQC) and X25519
> (Post Quantum Hybrid) which points a cipher negotiation also for the
> Control Channel out (switch from ffdhe to dh none --> ECDH) if the
> client supports this but this have happend already in 2.6.14 which i
> have overlooked a little at the first.
>
>>
>> All the best,
>> -Michael
>
> What do you think how to proceed further ? May you know when the new
> Kernel 6.18.x comes for IPFire (runs great here :D ) ? Have currently
> not seen something about a release date for OpenVPN-2.7.0 but it is
> close. All the best to all and i wish you a happy Christmas :-) .
The plan is to merge this into next as soon as possible.
I don’t think that we have any blockers remaining except not having a kernel for ARM. I haven’t heard from Arne for a little while now, so I assume this is a little bit more tricky than usual.
Best,
-Michael
>>
>>>
>>> Best,
>>>
>>> Erik
next prev parent reply other threads:[~2025-12-28 12:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 21:19 openvpn-2.7_rc1 Adolf Belka
2025-11-07 14:18 ` openvpn-2.7_rc1 Michael Tremer
2025-12-20 18:05 ` openvpn-2.7_rc1 ummeegge
2025-12-23 11:27 ` openvpn-2.7_rc1 Michael Tremer
2025-12-23 16:13 ` openvpn-2.7_rc1 ummeegge
2025-12-28 12:18 ` Michael Tremer [this message]
2025-12-30 11:17 ` openvpn-2.7_rc1 ummeegge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=C00FB8F8-0F43-4F68-BCDE-784147D76CD5@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=development@lists.ipfire.org \
--cc=ummeegge@ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox