Page MenuHomeVyOS Platform

Fix OpenVPN DCO issues after Kernel upgrade
Open, NormalPublicFEATURE REQUEST

Description

Linux 6.18 ships the OpenVPN data channel offload module (ovpn) in-tree and it is installed in the ISO, but vyos-1x never actually engages it. Three independent defects keep the kernel datapath unused.

First, get_config() still probes the CLI node enable-dco, which commit rVYOSONEX32b9ac3653fa renamed to offload dco. The check can never fire, so enabling DCO leaves restart_required unset and apply() downgrades to systemctl reload-or-restart. The data channel backend is selected during daemon initialisation, so toggling DCO on a live tunnel does nothing at all.

Second, VTunIf._create() unconditionally pre-creates a persistent TUN device via openvpn --mktun. A DCO interface is not TUN/TAP but link type ovpn, created by the kernel module over netlink; the squatted name makes the kernel reject it with EEXIST and OpenVPN drops to userspace.

Third, verify() had no DCO validation whatsoever, so tap devices, compression, static keys and non-AEAD ciphers were accepted while silently disabling offload.

Details

Version
-
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Feature (new functionality)

Related Objects

StatusSubtypeAssignedTask
ResolvedFEATURE REQUESTc-po
OpenFEATURE REQUESTc-po

Event Timeline

c-po triaged this task as Normal priority.
c-po created this object with edit policy "Custom Policy".