wg-quick: support old ip(8)
Old versions of ip(8) do not accept arguments to `ip rule show.` This patch works around that limitation. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
89cb1a18a4
commit
ef66ea99e4
|
@ -83,13 +83,17 @@ del_if() {
|
||||||
DEFAULT_TABLE=0
|
DEFAULT_TABLE=0
|
||||||
[[ $fwmark != off ]] && DEFAULT_TABLE=$(( $fwmark ))
|
[[ $fwmark != off ]] && DEFAULT_TABLE=$(( $fwmark ))
|
||||||
if [[ $DEFAULT_TABLE -ne 0 ]]; then
|
if [[ $DEFAULT_TABLE -ne 0 ]]; then
|
||||||
while [[ -n $(ip -4 rule show table $DEFAULT_TABLE) ]]; do
|
while [[ $(ip -4 rule show) == *"lookup $DEFAULT_TABLE"* ]]; do
|
||||||
cmd ip -4 rule delete table $DEFAULT_TABLE
|
cmd ip -4 rule delete table $DEFAULT_TABLE
|
||||||
[[ $(ip -4 rule show table main) == *"from all lookup main suppress_prefixlength 0"* ]] && cmd ip -4 rule delete table main suppress_prefixlength 0
|
|
||||||
done
|
done
|
||||||
while [[ -n $(ip -6 rule show table $DEFAULT_TABLE) ]]; do
|
while [[ $(ip -4 rule show) == *"from all lookup main suppress_prefixlength 0"* ]]; do
|
||||||
|
cmd ip -4 rule delete table main suppress_prefixlength 0
|
||||||
|
done
|
||||||
|
while [[ $(ip -6 rule show) == *"lookup $DEFAULT_TABLE"* ]]; do
|
||||||
cmd ip -6 rule delete table $DEFAULT_TABLE
|
cmd ip -6 rule delete table $DEFAULT_TABLE
|
||||||
[[ $(ip -6 rule show table main) == *"from all lookup main suppress_prefixlength 0"* ]] && cmd ip -6 rule delete table main suppress_prefixlength 0
|
done
|
||||||
|
while [[ $(ip -6 rule show) == *"from all lookup main suppress_prefixlength 0"* ]]; do
|
||||||
|
cmd ip -6 rule delete table main suppress_prefixlength 0
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
cmd ip link delete dev "$INTERFACE"
|
cmd ip link delete dev "$INTERFACE"
|
||||||
|
|
Reference in New Issue