Text-based IPC for Userspace Implementations
Jason A. Donenfeld
Jason at zx2c4.com
Tue May 16 14:36:00 CEST 2017
Currently wg(8) talks to the kernel by passing structs through an
ioctl. Due to upstream demands, this is going to be changed to
netlink, and we'll ditch those structs. wg(8) previously tried to
re-use those same structs for userspace implementations, passing them
through a unix socket. Implementors did not like dealing with this.
Since the structs are going for the kernel stuff, we might as well
move to something better, too, for the userspace stuff. Therefore
wg(8) now has a very simple text-based IPC format over unix sockets
(or Windows named pipes) that can be easily implemented in nearly
every language, even bash.
I've written a small description of it here: https://www.wireguard.io/xplatform/
This will be part of the next snapshot.
More information about the WireGuard