xcat-core/xCAT/postscripts/setroute

52 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

#!/bin/sh
# IBM(c) 2011 EPL license http://www.eclipse.org/legal/epl-v10.html
#-------------------------------------------------------------------------------
#=head1 setroute [add]
# [add] - The operation to manipulate the route entry. It is optional.
# The default is 'replace' if ignoring it.
#
#=head2 setrout command replaces/adds the routes to the node according to
# what is specified in the xCAT tables.
# The route name for the node is defined in noderes.routenames.
# The route itself is defined in the routes table.
#=cut
#-------------------------------------------------------------------------------
if [ -z "$NODEROUTENAMES" ]; then
exit 0
fi
OP="replace"
if [ -n "$1" ] && [ "$1" = "add" ]; then
OP="add"
fi
for rn in `echo "$NODEROUTENAMES" | tr "," "\n"`
do
eval route_string=\$ROUTE_$rn
net=`echo $route_string |cut -d',' -f1`
mask=`echo $route_string |cut -d',' -f2`
gw=`echo $route_string |cut -d',' -f3`
ifname=`echo $route_string |cut -d',' -f4`
# remove the suffix /64 from ipv6 net
if echo $net | grep "/" 2>&1 1>/dev/null
then
net=`echo $net | awk -F'/' '{print $1}'`
fi
# remove the prefix "/" from ipv6 mask
if echo $mask | grep "/" 2>&1 1>/dev/null
then
mask=`echo $mask | awk -F'/' '{print $2}'`
fi
cmd="routeop $OP $net $mask $gw $ifname"
result=`$cmd 2>&1`
echo $result
done
exit 0