[WireGuard] Can WireGuard be adopted for older kernels?

Jason A. Donenfeld artyom.h31 at gmail.com
Tue Jul 5 00:46:01 CEST 2016

I'm trying to run WireGuard on a single board computer (ODROID C1). 
It's not a problem to modify a board's kernel code, however the chip 
manufacturer (Amlogic) is focused on Android and will very unlikely 
release a newer kernel for this board.

A userspace version is not an option because of a huge performance 
penalty of userspace tunnels. It will certainly be slower than IPsec, 
and performance is especially important for embedded devices.

A small offtopic: why have you chosen to use Rust for a userspace 
version and not C or C++? In the latter case you have an option to 
reuse some code from the kernel version.

В Вторник, 5 июл. 2016 в 1:10 , Jason A. Donenfeld 
<Jason at zx2c4.com> написал:
> Hey Artyom,
> I face the same problem as you. I have an Edge Router Lite, and I'd
> really love to run WireGuard on it, but their proprietary kernel is
> stuck at 3.10. Major bummer.
> The current plan is to write a userspace version in Rust, that will be
> cross platform and work well on old kernels. No timeline on that
> though.
> However, I did at one point run wireguard on really old kernels during
> testing. That was before I started using the very nice udp_tunnel_*
> library inside newer kernels, which then forced the dependency. But
> when I did do this, it worked. Maybe I'll dust off the ugly old code
> and hack something horrible together to work on old kernels. On the
> other hand, this might not really be a great use of time... I don't
> know.
> What system are you trying to run it on? Maybe if it's the same as me,
> we can both poke Ubnt together to upgrade their kernel...
> Jason

More information about the WireGuard mailing list