OpenVPN dco how to enable?

With latest master snapshot (private build)

Pixel 5 <=OpenVPN-TCP(AES-128-GCM)=> R7800 <=> Speedtest server

Without DCO:   D/U ~ 60 Mbps / 50 Mbps
With DCO:   D/U ~ 90 Mbps / 60 Mbps
Pixel 5 <=OpenVPN-TCP(chacha20poly1305)=> R7800 <=> Speedtest server

Without DCO:   D/U ~  77 Mbps / 56 Mbps
With DCO:   D/U ~ 135 Mbps / 60 Mbps
Pixel 5 <=Strongswan(chacha20poly1305)=> R7800 <=> Speedtest server

D/U ~ 73 Mbps / 72 Mbps
Pixel 5 <=WireGuard(chacha20poly1305)=> R7800 <=> Speedtest server

D/U ~ 150 Mbps / 180 Mbps

My ER605v2 + OpenVPN with DCO + CHACHA20-POLY1305:

Download 48 Mbps / Upload 38 Mbps.

Anyone know if DCO is compiled in to openvpn in 24.10?

1 Like

It is already explained in the thread this is for my DDWRT router with DCO enabled note the DCO at the end :

root@EA6900:~# openvpn --version
OpenVPN 2.6.12 arm-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH/PKTINFO] [AEAD] [DCO]
library versions: OpenSSL 1.1.1w  11 Sep 2023, LZO 2.10

It is a compile time option and probably not enabled yet, of course only for OpenVPN 2.6

MT6000 custom build with LuCi and some optimization - kernel 6.6.x - #2004 by romanovj this post was hidden in another topic for some reason and it helped me with dco on my router (ax3000t with MT7981): turns out that kmod-crypto-hw-safexcel package completely broke aes encryption in my case, dco now works fine after removing it.

And it still requires manual building, dco is not enabled in 24.10.1.