Rust implementation status

Sascha Grunert saschagrunert at
Sun Mar 5 12:42:00 CET 2017

Hey folks,

I want to call for participation of the Rust userspace implementation of WireGuard. The template for the initial implementation was this: and can be found here:

What works for now:

- A main working executable (`cargo run -- -h`) which parses the command line parameters via the `clap` crate
- General debug and tracing support via the `log` crate
- Daemonizing support
- The wireguard library which creates a local socket and waits for incoming connections (reference implementation)

What needs to be done in the next steps:

- The actual parsing of the incoming message and writing them to the wireguard device (see `TODO`)
- Higher test coverage via unit testing
- A plan how to use the futures with the current implementation
- Wider operating system (Windows) support for the current implementation
- Get rid of the unsafe code

I tried to use as much idiomatic Rust (like using the `nix` crate and Rust vectors instead of raw pointers) as possible for now. So what do you think?

Best regards,

More information about the WireGuard mailing list