Conversation

This Tweet was deleted by the Tweet author. Learn more
Replying to
> Why did Wireguard require so much of its code to be put into the Linux kernel? It didn't require it. Android has a VPN service API for implementing userspace VPNs and there's an official WireGuard app with a userspace implementation. The kernel module isn't a mandatory thing.
1
3
Replying to and
Userspace VPN implementations require a lot of expensive context switches, reducing performance and battery life. It also requires userspace infrastructure / plumbing. Android has support for this including a toggle for always-on and another toggle to block leaks if it dies, etc.
1
2
Replying to and
Elsewhere, every userspace VPN implementation has to reinvent the wheel including routing the traffic through the VPN and preventing leaks before it's started or if the process dies. It's messy and requires every userspace VPN implementation to do invasive stuff with root access.
1
2
Replying to and
Once it's there, projects are inclined to integrate support for it instead of needing to hack things together. Network management services, user interfaces for those and other tools are much more likely to integrate support for shared kernel infrastructure vs. yet another VPN.
1
1