Re:WireGuard has finally landed in FreeBSD
by smoochy on Saturday October 29, 2022 @10:34AM
(#33384368)
Can someone please explain: I've been using WireGuard via `wg-quick` command in FreeBSD for quite a while now. What does this commit do?
[ Parent
| on HN ]
Re:WireGuard has finally landed in FreeBSD
by detaro on Saturday October 29, 2022 @10:36AM
(#33384372)
It adds wireguard support to the kernel.
Re:WireGuard has finally landed in FreeBSD
by smoochy on Saturday October 29, 2022 @10:40AM
(#33384411)
Okay, but... what difference does it make? Apart from not having to install it manually? Am I missing something?
Re:WireGuard has finally landed in FreeBSD
by ngetchell on Saturday October 29, 2022 @10:47AM
(#33384476)
I believe moving wireguard support into the kernel reduces context switching for the app and greatly improves performance.
Re:WireGuard has finally landed in FreeBSD
by RealStickman_ on Saturday October 29, 2022 @10:47AM
(#33384480)
Wireguard in the kernel is faster than the userspace implementation. You still have to install the tooling.
Re:WireGuard has finally landed in FreeBSD
by rascul on Saturday October 29, 2022 @11:28AM
(#33384867)
If I recall correctly, we went through this on Linux in the past. I believe the first wireguard implementations were userspace while the work was being done to get it in the kernel.
Re:WireGuard has finally landed in FreeBSD
by jessermeyer on Saturday October 29, 2022 @11:32AM
(#33384908)
As others have hinted to -- no userspace copies. No context switches. Vroom Vroom.
Re:WireGuard has finally landed in FreeBSD
by kevans91 on Saturday October 29, 2022 @02:53PM
(#33386920)
It depends on how you were running before -- if you had the wireguard-kmod package, then yes, the only difference is that you don't have to install it manually. If you only had the wireguard-go pkg before, then see the other responses where you'll now be using the kernel implementation instead of userspace.
edit to note: we can't really provide wg-quick in base at the moment (uses bash-isms), so that still ends up needing installed manually if wg(8) isn't sufficient for your needs.