Closed tabletseeker closed 1 month ago
For anyone else building a kernel and trying to include this, the recommended method of adding the module didn't work for me, so I figured out another way. Not sure if that's the "correct way", but it seems to work.
Steps:
/ovpn-dco-0.2.20240712/drivers/net/ovpn-dco
to your kernel src /linux/drivers/net/ovpn-dco
ovpn-dco-0.2.20240712/drivers/net/Kconfig
to your kernel src under /linux/drivers/net/Kconfig
I placed it above the Wireguard entry:
config OVPN_DCO_V2
tristate "OpenVPN data channel offload (reloaded)"
depends on NET && INET
select NET_UDP_TUNNEL
select DST_CACHE
select CRYPTO
select CRYPTO_AES
select CRYPTO_GCM
select CRYPTO_CHACHA20POLY1305
help
This module enhances the performance of the OpenVPN userspace software
by offloading the data channel processing to kernelspace.
config WIREGUARD tristate "WireGuard secure network tunnel" depends on NET && INET depends on IPV6 || !IPV6 depends on !KMSAN # KMSAN doesn't support the crypto configs below select NET_UDP_TUNNEL select DST_CACHE select CRYPTO select CRYPTO_LIB_CURVE25519 select CRYPTO_LIB_CHACHA20POLY1305 select CRYPTO_CHACHA20_X86_64 if X86 && 64BIT select CRYPTO_POLY1305_X86_64 if X86 && 64BIT select CRYPTO_BLAKE2S_X86 if X86 && 64BIT select CRYPTO_CURVE25519_X86 if X86 && 64BIT select CRYPTO_CHACHA20_NEON if ARM || (ARM64 && KERNEL_MODE_NEON) select CRYPTO_POLY1305_NEON if ARM64 && KERNEL_MODE_NEON select CRYPTO_POLY1305_ARM if ARM select CRYPTO_BLAKE2S_ARM if ARM select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 select CRYPTO_POLY1305_MIPS if MIPS select CRYPTO_CHACHA_S390 if S390 help WireGuard is a secure, fast, and easy to use replacement for IPSec that uses modern cryptography and clever networking tricks. It's designed to be fairly general purpose and abstract enough to fit most use cases, while at the same time remaining extremely simple to configure. See www.wireguard.com for more info.
* run `make menuconfig` and configure dco as built-in or module
Loading udp_tunnel modules via
modprobe udp_tunnel ip6_udp_tunnel
as described in #38 did not solve the issue.Edit: The same error occurs when trying to insert the module in a kernel tree with make
make KERNEL_SRC=/path/to/the/kernel/tree
sudo make -C /home/user/linux M=/home/user/Downloads/ovpn-dco-0.2.20240712 modules_install
does not seem to include the module in the kernel tree, but on the local machine at /lib/modules...