@@ -54,11 +54,12 @@
are not readable for ``NT SERVICE\OpenVPNService``.
Support for new version of Linux DCO module
- OpenVPN DCO module is moving upstream and being merged into the
- main Linux kernel. For this process some API changes were required.
- OpenVPN 2.7 will only support the new API. The new module is called
- ``ovpn``. Out-of-tree builds for older kernels are available. Please
- see the release announcements for futher information.
+ The OpenVPN DCO module has been merged into the Linux kernel as of
+ 6.16. This required some API changes and OpenVPN 2.7 only supports
+ the new API. The new module is called ``ovpn``. Out-of-tree builds
+ for older kernels are available from
+ https://github.com/OpenVPN/ovpn-backports. Please
+ see the release announcements for further information.
Support for server mode in win-dco driver
On Windows the win-dco driver can now be used in server setups.
@@ -731,7 +731,7 @@
OPTIONAL_LIBNL_GENL_LIBS="${LIBNL_GENL_LIBS}"
AC_DEFINE(ENABLE_DCO, 1, [Enable shared data channel offload])
- AC_MSG_NOTICE([Enabled ovpn-dco support for Linux])
+ AC_MSG_NOTICE([Enabled ovpn-dco (via ovpn kernel module) support for Linux])
fi
;;
*-*-freebsd*)
@@ -102,7 +102,9 @@
Data channel offload currently requires data-ciphers to only contain
AEAD ciphers (AES-GCM and Chacha20-Poly1305) and Linux with the
- ovpn-dco module.
+ ovpn module. The ovpn module has been integrated into the Linux kernel
+ since 6.16 or is available as backport from
+ https://github.com/OpenVPN/ovpn-backports.
Note that some options have no effect or cannot be used when DCO mode
is enabled.
@@ -178,15 +178,6 @@
on console) and ``--auth-nocache`` will fail as soon as key
renegotiation (and reauthentication) occurs.
---disable-dco
- Disable "data channel offload" (DCO).
-
- On Linux don't use the ovpn-dco device driver, but rather rely on the
- legacy tun module.
-
- You may want to use this option if your server needs to allow clients
- older than version 2.4 to connect.
-
--disable-occ
**DEPRECATED** Disable "options consistency check" (OCC) in configurations
that do not use TLS.
@@ -376,9 +376,10 @@
* don't need to have the net_ctx percolate all the way here
*/
int ret = net_iface_type(NULL, o->dev, iftype);
- if ((ret == 0) && (strcmp(iftype, "ovpn-dco") != 0))
+ if ((ret == 0) && (strcmp(iftype, "ovpn") != 0))
{
- msg(msglevel, "Interface %s exists and is non-DCO. Disabling data channel offload",
+ msg(msglevel, "Interface %s exists and is not using the "
+ "ovpn DCO driver. Disabling data channel offload",
o->dev);
return false;
}
@@ -159,7 +159,7 @@
break;
case -NLE_OBJ_NOTFOUND:
- msg(M_INFO, "%s: netlink reports object not found, ovpn-dco unloaded?", prefix);
+ msg(M_INFO, "%s: netlink reports object not found, ovpn kernel module unloaded?", prefix);
break;
default:
@@ -1248,7 +1248,10 @@
{
if (resolve_ovpn_netlink_id(D_DCO_DEBUG) < 0)
{
- msg(msglevel, "Note: Kernel support for ovpn-dco missing, disabling data channel offload.");
+ msg(msglevel, "Note: Kernel support for ovpn interfaces missing, "
+ "disabling data channel offload. Use Linux 6.16.0 or "
+ "newer with ovpn support or use ovpn-backports for "
+ "interface support.");
return false;
}