wg-quick: add intentionally undocumented userspace implementation knob

This knob might disappear at some point, and we don't want to encourage
its use, so it's not being documented, but this should help with
development of new implementations.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld 2018-05-16 04:12:02 +02:00
parent 4502350512
commit 6c407ae27b
2 changed files with 3 additions and 3 deletions

View file

@ -101,7 +101,7 @@ get_real_interface() {
add_if() {
export WG_DARWIN_UTUN_NAME_FILE="/var/run/wireguard/$INTERFACE.name"
mkdir -m 0700 -p "/var/run/wireguard/"
cmd wireguard-go utun
cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" utun
get_real_interface
}

View file

@ -86,9 +86,9 @@ add_if() {
local ret
if ! cmd ip link add "$INTERFACE" type wireguard; then
ret=$?
[[ -e /sys/module/wireguard ]] || ! command -v wireguard-go >/dev/null && return $ret
[[ -e /sys/module/wireguard ]] || ! command -v "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" >/dev/null && exit $ret
echo "[!] Missing WireGuard kernel module. Falling back to slow userspace implementation."
cmd wireguard-go "$INTERFACE"
cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" "$INTERFACE"
fi
}