ip.bash: fix route syntax on freebsd/macosx

This commit is contained in:
Jörg Thalheim 2015-02-22 14:37:45 +01:00
parent 8d077a2107
commit dd27333906
1 changed files with 6 additions and 7 deletions

View File

@ -1,18 +1,18 @@
format_ip6_from_mac(){ format_ip6_from_mac() {
local template=$1 local template=$1
IFS=':'; set $2; unset IFS IFS=':'; set $2; unset IFS
printf "$template" 0x${3} 0x${4} 0x${5} 0x${6} printf "$template" 0x${3} 0x${4} 0x${5} 0x${6}
} }
add_ip6(){ add_ip6() {
local interface=$1 local interface=$1
local ip=$2 local ip=$2
local prefixlen=$3 local prefixlen=$3
if has ip; then if has ip; then
_add_ip_linux "$ip" "$prefixlen" "$interface" _add_ip_linux "$ip" "$prefixlen" "$interface"
elif has ifconfig; then elif has ifconfig; then
ifconfig "$interface" inet6 del "$ip" prefixlen "$prefixlen" || true ifconfig "$interface" inet6 "$ip" prefixlen "$prefixlen" delete || true
ifconfig "$interface" inet6 add "$ip" prefixlen "$prefixlen" ifconfig "$interface" inet6 "$ip" prefixlen "$prefixlen" add
else else
die "no suitable program found to configure the network interface, need iproute2 or ifconfig" die "no suitable program found to configure the network interface, need iproute2 or ifconfig"
fi fi
@ -26,8 +26,8 @@ add_ip4() {
local cidr="$(mask2cidr $netmask)" local cidr="$(mask2cidr $netmask)"
_add_ip_linux "$ip" "$cidr" "$interface" _add_ip_linux "$ip" "$cidr" "$interface"
elif has ifconfig; then elif has ifconfig; then
ifconfig "$interface" del "$ip" netmask "$netmask" || true ifconfig "$interface" "$ip" netmask "$netmask" delete || true
ifconfig "$interface" add "$ip" netmask "$netmask" ifconfig "$interface" "$ip" netmask "$netmask" add
else else
die "no suitable program found to set ip address, need iproute2 or ifconfig" die "no suitable program found to set ip address, need iproute2 or ifconfig"
fi fi
@ -37,4 +37,3 @@ _add_ip_linux() {
ip addr del "$1/$2" dev "$3" || true ip addr del "$1/$2" dev "$3" || true
ip addr add "$1/$2" dev "$3" ip addr add "$1/$2" dev "$3"
} }