Blame
| 8f221a | Samuli Seppänen | 2025-02-27 13:02:40 | 1 | # OpenVPN Data Channel Offload (aka OVPN-DCO) |
| 2 | ||||
| 3 | The expression *Data Channel Offload* refers to any technique implemented with the goal of moving the processing of data packets from the OpenVPN userspace program to a separate entity. |
|||
| 4 | ||||
| 5 | Given that OpenVPN spends a considerable amount of time passing data packets back and forth from kernel-land to user-land, where decryption and re-routing happens, it was decided to offload the data processing directly to the kernel. |
|||
| 6 | As direct consequence, data packets are not required to leave the kernelspace anymore, thus boosting the performance of active VPN connections. |
|||
| 7 | ||||
| 8 | **Antonio's speech about DCO on Linux, held at Netdev 0x16 (Lisbon, October 2022), is [[here](https://www.youtube.com/watch?v=ry9qNzDHaUs|online)]** |
|||
| 9 | ||||
| 10 | ## Read more about DCO |
|||
| 11 | * [What changes?](/DataChannelOffload/WhatChanges) |
|||
| 12 | * [The Linux userspace API](/DataChannelOffload/LinuxUAPI) |
|||
| 13 | * [DCO on non-Linux platforms](/DataChannelOffload/NonLinuxPlatforms) |
|||
| 14 | * [Supported features and limitations](/DataChannelOffload/Features) |
|||
| 15 | * [How to use DCO](DataChannelOffload/UsingDCO) |
