Hi, On Sat, Aug 16, 2025 at 09:38:13PM -0400, Jon Chiappetta via Openvpn-devel wrote: > able to compile it and insmod it and I think OpenVPN auto picked it up even > running in TCP mode I believe. I wanted to confirm, does this DCO module > work with TCP mode or is it UDP client/server protocol only?
Linux and Windows DCO support TCP mode, FreeBSD DCO does not. If you select options that are incompatible with DCO (like, "compress", or "tcp" on FreeBSD) OpenVPN will log that and fall back to userland. > Also, I'm not > very smart and I am unable to understand kernel-level C code as it is very > abstract and generalized but I was trying to see what read/write buffer > sizes it uses if I had a TUN MTU of 1500 bytes? In Kernel, there is no real "read/write" involved. There is a packet coming in as part of a data structure, this gets processed, and the data structure handed onwards. So it always deals with "one full packet at a time". [..] > I performed a speed test with it also but I could only get the same speed > as my modified OpenVPN setup (~650Mbps over WiFi 6GHz@160MHz) so I think > there is some other limiting factor elsewhere in my network setup. I don't > have a wired client, only a U7-Pro and I am running the VPN client in the > middle of my network on a Linux VM on a Mac Mini but it ran pretty smoothly > and nicely assuming it was indeed working correctly. Performance measurement is tough, especially with DCO involved, as you end up measuring something else. Like "how fast can the 'iperf' program go?" (if you see 100% CPU usage by 'iperf', you know that OpenVPN is not the limiting factor), or "how fast is your browser" with the online speed tests. > cd ovpn-dco-master/ > vim ./drivers/net/ovpn-dco/udp.c #CONFIG_IPV6 -> #ifdef CONFIG_IPV6_NO > make > cp -fv ./drivers/net/ovpn-dco/ovpn-dco-v2.ko ../ > modprobe udp_tunnel > insmod /root/dco/ovpn-dco-v2.ko ... this is not really what you want, though. It's the old module which has been overhauled about 10 times before it was accepted into 6.16 upstream kernel. So you might hit limitations in the kernel module. The old module only works with OpenVPN 2.6, while the new module only works with 2.7 (as of this writing, 2.7_alpha3, but "git master" will also work). gert -- "If was one thing all people took for granted, was conviction that if you feed honest figures into a computer, honest figures come out. Never doubted it myself till I met a computer with a sense of humor." Robert A. Heinlein, The Moon is a Harsh Mistress Gert Doering - Munich, Germany g...@greenie.muc.de
signature.asc
Description: PGP signature
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel