Data Channel Offload: non-Linux platforms


A kernel module has also been developed for Windows, namely ovpn-dco-win.

It is a device driver implemented in kernelspace that substitutes all previous drivers used by OpenVPN (i.e. tap-windows6, wintun, etc..). Differently from the other drivers, ovpn-dco-win uses the Windows Kernel API to also implement crypto operations, thus allowing the driver to process data packets entirely in kernelspace, similarly to ovpn-dco for Linux.

The main limitation of ovpn-dco-win is that it only supports client/p2p mode, while server mode is not available. This decision was made due to the fact that there is less and less demand for running OpenVPN server on Windows.

The ovpn-dco-win source code is currently available at the following repository:


The FreeBSD community has shown great interest for the DCO model and so they also implemented a FreeBSD kernel module. It is expected to be a drop-in replacement for ovpn-dco on Linux, thus implementing the same feature set.

The originally proposed change (now merged) can be found at:

DCO will be shipped starting with FreeBSD 14 (to be released yet).

Last modified 7 months ago Last modified on 05/04/23 21:54:43