diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-05-17 17:30:38 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-05-29 01:23:24 +0200 |
commit | e1c6196e4db3864116668d50e63db3ea8f472840 (patch) | |
tree | 2bdbd500ce546c912e3cb1e81ed937878ee0ceb5 /src | |
parent | netlink: use new strict length types in policy for 5.2 (diff) | |
download | wireguard-monolithic-historical-e1c6196e4db3864116668d50e63db3ea8f472840.tar.xz wireguard-monolithic-historical-e1c6196e4db3864116668d50e63db3ea8f472840.zip |
wg-quick: specify protocol to ip(8), because of inconsistencies
Diffstat (limited to 'src')
-rwxr-xr-x | src/tools/wg-quick/linux.bash | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/tools/wg-quick/linux.bash b/src/tools/wg-quick/linux.bash index 8f1812c..2f36dee 100755 --- a/src/tools/wg-quick/linux.bash +++ b/src/tools/wg-quick/linux.bash @@ -113,7 +113,9 @@ del_if() { } add_addr() { - cmd ip address add "$1" dev "$INTERFACE" + local proto=-4 + [[ $1 == *:* ]] && proto=-6 + cmd ip $proto address add "$1" dev "$INTERFACE" } set_mtu_up() { @@ -157,14 +159,16 @@ unset_dns() { } add_route() { + local proto=-4 + [[ $1 == *:* ]] && proto=-6 [[ $TABLE != off ]] || return 0 if [[ -n $TABLE && $TABLE != auto ]]; then - cmd ip route add "$1" dev "$INTERFACE" table "$TABLE" + cmd ip $proto route add "$1" dev "$INTERFACE" table "$TABLE" elif [[ $1 == */0 ]]; then add_default "$1" else - [[ -n $(ip route show dev "$INTERFACE" match "$1" 2>/dev/null) ]] || cmd ip route add "$1" dev "$INTERFACE" + [[ -n $(ip $proto route show dev "$INTERFACE" match "$1" 2>/dev/null) ]] || cmd ip $proto route add "$1" dev "$INTERFACE" fi } |