aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/wg-quick/linux.bash
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-05-17 17:30:38 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2019-05-29 01:23:24 +0200
commite1c6196e4db3864116668d50e63db3ea8f472840 (patch)
tree2bdbd500ce546c912e3cb1e81ed937878ee0ceb5 /src/tools/wg-quick/linux.bash
parentnetlink: use new strict length types in policy for 5.2 (diff)
downloadwireguard-monolithic-historical-e1c6196e4db3864116668d50e63db3ea8f472840.tar.xz
wireguard-monolithic-historical-e1c6196e4db3864116668d50e63db3ea8f472840.zip
wg-quick: specify protocol to ip(8), because of inconsistencies
Diffstat (limited to '')
-rwxr-xr-xsrc/tools/wg-quick/linux.bash10
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
}