OpenWrt kernel wireguard performance same as linux?

I am curious about the wireguard-kmod implementation in OpenWrt, is this considered a 'userspace' module?

I ask because wireguard originally was all running in the userspace - recently its code was merged into the linux kernel which improves performance by a lot. I run wireguard in a debian VM with much improved performance over the previous userspace implementation I was using.

I am not familiar if OpenWrt kernel is actually the same linux kernel that now has the wireguard code or if its a few versions behind or even a smaller kernel that doesn't have all of the desktop code. Can someone educate me?

At the core of my question is if wireguard performance on OpenWrt is already running in kernel space or if a future kernel for openwrt will unlock even more performance. If the later, which version is it tentatively scheduled for launch?

1 Like

OpenWrt has always been relying on wireguard's kernel implementation, originally using an out-of-tree backport.

3 Likes

WireGuard is in-kernel upstream as of 5.6, so OpenWrt 21.02 won't have that yet (uses 5.4). However, that codebase was more or less merged into the OpenWrt 21.02 codebase recently (with a few other backports to get everything to work).

Yes, OpenWrt uses the vanilla upstream Linux kernel (typically an LTS one). It does need a lot of patches though to support all the hardware OpenWrt runs on, still.

And yes, OpenWrt's WireGuard implementation is (and has been for quite a while) the in-kernel implementation, the main developer behind WireGuard actively assisted in that. If in doubt, just look at the 'kmod' in the kmod-wireguard package name.

2 Likes

Any Openwrt package with the name "kmod" is precisely that: a kernel module and not a userspace package.

1 Like

thanks wasn't aware of that naming convention standard.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.