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>
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
}
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
}