Dear all,
OpenVPN Inc.[1] and me are happy to announce that today we have released
to the public our work-in-progress project called "ovpn-dco".
ovpn-dco stands for "OpenVPN Data Channel Offload".
It is a Linux kernel module and it implements all required
functionalities to handle the OpenVPN data channel.
In other words, when using ovpn-dco, the OpenVPN software will not send
data traffic back and forth between user and kernel space (for
encryption/decryption and routing), but operations on payloads will take
place in the Linux kernel.
Moving the data channel to kernel space is expected to finally remove
that bottleneck that has long prevented OpenVPN to scale better.
This is just the first step towards a feature-complete kernel based
OpenVPN driver and we will continue to work on improving performance and
implementing more features.
The project is under heavy development, therefore APIs, data structures
and anything else may drastically change in the following months.
Our goal is to bring ovpn-dco up-to-the-standard with the rest of the
Linux kernel and then submit it for review and inclusion to the netdev
community.
Clients currently able to leverage on the ovpn-dco kernel module are the
OpenVPN3 reference client[2] and the OpenVPN3 Linux client[3] will
include ovpn-dco support in the next release. Support for OpenVPN2 is
planned.
ovpn-dco is released under GPLv2 and everybody is welcome to run, crash
and patch this kernel module.
Code is hosted on both GitHub and GitLab:
* https://gitlab.com/openvpn/ovpn-dco
* https://github.com/OpenVPN/ovpn-dco
Please refer to the README file for more details about how to build and
test ovpn-dco.
Patch submission can be done through this mailing list, as explained in
the README as well.
https://gitlab.com/openvpn/ovpn-dco/-/blob/master/README
The idea of implementing an OpenVPN kernel module has been around for
years; finally what were once words have become lines of code.
I hope more enthusiasts will join the project and help pushing the
development forward.
A big thanks goes to OpenVPN Inc. for having provided all required
resources to make this happen.
Looking forward to see patches coming through!
Happy hacking!
[1] https://www.openvpn.net
[2]
https://github.com/openvpn/openvpn3#building-the-openvpn-3-client-on-linux
[3] https://community.openvpn.net/openvpn/wiki/OpenVPN3Linux
--
Antonio Quartulli
OpenVPN Inc.
___
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel