Hacker News new | ask | show | jobs
by WindowsFon4life 2595 days ago
Will the kernel portion depend on lkm?
1 comments

OpenBSD no longer has lkm, or any loadable kernel module framework. Any kernel implementation would have to be part of the kernel source tree (this one is userland, in ports).
I thought wireguard is kernel-mode software and I disliked it because of that. Interesting, may be there's Linux version of user-mode wireguard. I wonder what's the performance difference between usermode and kernelmode wireguard.
There is user mode wireguard for Linux, it is wireguard-go: https://git.zx2c4.com/wireguard-go/.

There is also BoringTun: https://github.com/cloudflare/boringtun which is faster

Disclaimer: I wrote BoringTun

There is a go implementation of WireGuard with a fairly hefty warning at the top. [0]

There's also official documentation for how a userspace implementation should behave. [1]

The android version of WireGuard has a userspace implementation for devices without WireGuard in the kernel, which at the moment is pretty much all.

[0] https://github.com/WireGuard/wireguard-go

[1] https://www.wireguard.com/xplatform/