]> git.ipfire.org Git - thirdparty/wireguard-tools.git/commitdiff
wg-quick: preliminary support for go implementation
authorJason A. Donenfeld <Jason@zx2c4.com>
Sat, 5 May 2018 01:54:55 +0000 (03:54 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 10 May 2018 17:23:02 +0000 (19:23 +0200)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
src/wg-quick.bash

index f8c1ce74a252584074d54f28f0f1bac87e841cd7..cd66b4d37a6bba69de7863760f0e0f6d09f05993 100755 (executable)
@@ -83,7 +83,13 @@ auto_su() {
 }
 
 add_if() {
-       cmd ip link add "$INTERFACE" type wireguard
+       local ret
+       if ! cmd ip link add "$INTERFACE" type wireguard; then
+               ret=$?
+               [[ -e /sys/module/wireguard ]] || ! command -v wireguard-go >/dev/null && return $ret
+               echo "[!] Missing WireGuard kernel module. Falling back to slow userspace implementation."
+               cmd wireguard-go "$INTERFACE"
+       fi
 }
 
 del_if() {