diff options
Diffstat (limited to 'sysconfig/network-scripts/ifup-routes')
-rwxr-xr-x | sysconfig/network-scripts/ifup-routes | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/sysconfig/network-scripts/ifup-routes b/sysconfig/network-scripts/ifup-routes index ff8d5b56..517c2bbb 100755 --- a/sysconfig/network-scripts/ifup-routes +++ b/sysconfig/network-scripts/ifup-routes @@ -1,6 +1,7 @@ #! /bin/bash # # adds static routes which go through device $1 + if [ -z "$1" ]; then echo $"usage: ifup-routes <net-device> [<nickname>]" exit 1 @@ -12,14 +13,14 @@ handle_file () { . $1 routenum=0 while [ "x$(eval echo '$'ADDRESS$routenum)x" != "xx" ]; do - eval $(ipcalc -p $(eval echo '$'ADDRESS$routenum) $(eval echo '$'NETMASK$routenum)) - line="$(eval echo '$'ADDRESS$routenum)/$PREFIX" - if [ "x$(eval echo '$'GATEWAY$routenum)x" != "xx" ]; then - line="$line via $(eval echo '$'GATEWAY$routenum)" - fi - line="$line dev $2" - /sbin/ip route add $line - routenum=$(($routenum+1)) + eval $(ipcalc -p $(eval echo '$'ADDRESS$routenum) $(eval echo '$'NETMASK$routenum)) + line="$(eval echo '$'ADDRESS$routenum)/$PREFIX" + if [ "x$(eval echo '$'GATEWAY$routenum)x" != "xx" ]; then + line="$line via $(eval echo '$'GATEWAY$routenum)" + fi + line="$line dev $2" + /sbin/ip route add $line + routenum=$(($routenum+1)) done } @@ -44,15 +45,15 @@ if [ -n "$2" -a "$2" != "$1" ]; then fi for file in $FILES; do - if [ -f "$file" ]; then - if grep -Eq '^[[:space:]]*ADDRESS[0-9]+=' $file ; then - # new format - handle_file $file ${1%:*} - else - # older format - handle_ip_file $file - fi - fi + if [ -f "$file" ]; then + if grep -Eq '^[[:space:]]*ADDRESS[0-9]+=' $file ; then + # new format + handle_file $file ${1%:*} + else + # older format + handle_ip_file $file + fi + fi done @@ -69,7 +70,7 @@ if [ -n "$2" -a "$2" != "$1" ]; then fi for file in $FILES; do - if [ -f "$file" ]; then - handle_ip_file $file - fi + if [ -f "$file" ]; then + handle_ip_file $file + fi done |