#!/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