Skip to content

Commit b4cb98b

Browse files
schwabecron2
authored andcommitted
Try to emphasise the transition from old ovpn-dco to new ovpn module
This tries to ensure that the difference between the old and new module is clearer. Also removed a duplicate section about --disable-dco from the manual page. This also changes one instance of ovpn-dco to ovpn that is probably a bug when reusing a tun device. Change-Id: Iff9f6811fdf553f59f2afee0072d7bf90133d328 Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Antonio Quartulli <antonio@mandelbit.com> Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1550 Message-Id: <20260411090625.18343-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg36573.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
1 parent 1491fc8 commit b4cb98b

File tree

6 files changed

+18
-20
lines changed

6 files changed

+18
-20
lines changed

Changes.rst

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,12 @@ Windows automatic service now runs as an unpriviledged user
5454
are not readable for ``NT SERVICE\OpenVPNService``.
5555

5656
Support for new version of Linux DCO module
57-
OpenVPN DCO module is moving upstream and being merged into the
58-
main Linux kernel. For this process some API changes were required.
59-
OpenVPN 2.7 will only support the new API. The new module is called
60-
``ovpn``. Out-of-tree builds for older kernels are available. Please
61-
see the release announcements for futher information.
57+
The OpenVPN DCO module has been merged into the Linux kernel as of
58+
6.16. This required some API changes and OpenVPN 2.7 only supports
59+
the new API. The new module is called ``ovpn``. Out-of-tree builds
60+
for older kernels are available from
61+
https://github.com/OpenVPN/ovpn-backports. Please
62+
see the release announcements for further information.
6263

6364
Support for server mode in win-dco driver
6465
On Windows the win-dco driver can now be used in server setups.

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ if test "$enable_dco" != "no"; then
731731
OPTIONAL_LIBNL_GENL_LIBS="${LIBNL_GENL_LIBS}"
732732

733733
AC_DEFINE(ENABLE_DCO, 1, [Enable shared data channel offload])
734-
AC_MSG_NOTICE([Enabled ovpn-dco support for Linux])
734+
AC_MSG_NOTICE([Enabled ovpn-dco (via ovpn kernel module) support for Linux])
735735
fi
736736
;;
737737
*-*-freebsd*)

doc/man-sections/advanced-options.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,9 @@ used when debugging or testing out special usage scenarios.
103103

104104
Data channel offload currently requires data-ciphers to only contain
105105
AEAD ciphers (AES-GCM and Chacha20-Poly1305) and Linux with the
106-
ovpn-dco module.
106+
ovpn module. The ovpn module has been integrated into the Linux kernel
107+
since 6.16 or is available as backport from
108+
https://github.com/OpenVPN/ovpn-backports.
107109

108110
Note that some options have no effect or cannot be used when DCO mode
109111
is enabled.

doc/man-sections/generic-options.rst

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -176,15 +176,6 @@ which mode OpenVPN is configured as.
176176
on console) and ``--auth-nocache`` will fail as soon as key
177177
renegotiation (and reauthentication) occurs.
178178

179-
--disable-dco
180-
Disable "data channel offload" (DCO).
181-
182-
On Linux don't use the ovpn-dco device driver, but rather rely on the
183-
legacy tun module.
184-
185-
You may want to use this option if your server needs to allow clients
186-
older than version 2.4 to connect.
187-
188179
--disable-occ
189180
**DEPRECATED** Disable "options consistency check" (OCC) in configurations
190181
that do not use TLS.

src/openvpn/dco.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,9 +376,10 @@ dco_check_startup_option(msglvl_t msglevel, const struct options *o)
376376
* don't need to have the net_ctx percolate all the way here
377377
*/
378378
int ret = net_iface_type(NULL, o->dev, iftype);
379-
if ((ret == 0) && (strcmp(iftype, "ovpn-dco") != 0))
379+
if ((ret == 0) && (strcmp(iftype, "ovpn") != 0))
380380
{
381-
msg(msglevel, "Interface %s exists and is non-DCO. Disabling data channel offload",
381+
msg(msglevel, "Interface %s exists and is not using the "
382+
"ovpn DCO driver. Disabling data channel offload",
382383
o->dev);
383384
return false;
384385
}

src/openvpn/dco_linux.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ ovpn_nl_recvmsgs(dco_context_t *dco, const char *prefix)
159159
break;
160160

161161
case -NLE_OBJ_NOTFOUND:
162-
msg(M_INFO, "%s: netlink reports object not found, ovpn-dco unloaded?", prefix);
162+
msg(M_INFO, "%s: netlink reports object not found, ovpn kernel module unloaded?", prefix);
163163
break;
164164

165165
default:
@@ -1249,7 +1249,10 @@ dco_available(msglvl_t msglevel)
12491249
{
12501250
if (resolve_ovpn_netlink_id(D_DCO_DEBUG) < 0)
12511251
{
1252-
msg(msglevel, "Note: Kernel support for ovpn-dco missing, disabling data channel offload.");
1252+
msg(msglevel, "Note: Kernel support for ovpn interfaces missing, "
1253+
"disabling data channel offload. Use Linux 6.16.0 or "
1254+
"newer with ovpn support or use ovpn-backports for "
1255+
"interface support.");
12531256
return false;
12541257
}
12551258

0 commit comments

Comments
 (0)