#!/bin/sh
#
# nat.sh       This script go for starting/stop NAT/QoS services using iptables
#

# From AUTOCONF
prefix=
exec_prefix=${prefix}

# Paths to programs
UVM=/usr/bin/uvm
UO_PATH=/usr/uo/
UO_FILE=nat-draft.uyg.uo
UO_EXE=nat-draft.uyg

CUR_WANTYPE=`rdcsman 0x00010003 u32`
NAT_DISABLE=0
if [ $CUR_WANTYPE -eq 0 ] ; then
	NAT_DISABLE=`rdcsman 0x0003500F u32`
elif [ $CUR_WANTYPE -eq 32 ] ; then
	NAT_DISABLE=`rdcsman 0x0011000F u32`
elif [ $CUR_WANTYPE -eq 64 ] ; then
	NAT_DISABLE=`rdcsman 0x0004000F u32`
fi

start() {
		if [ $NAT_DISABLE -eq '1' ] ; then
			echo 1 > /proc/sys/net/ipv4/ip_forward
			exit 1
		fi
    	local err; err=0
		echo "==== NAT START ===="
		echo 2 > /proc/fast_nat

    	($UVM -m 740 -o /var/$UO_EXE  $UO_PATH/$UO_FILE || $err=1);
		#(chmod +x $UO_PATH/$UO_EXE || $err=1);
	    (/var/$UO_EXE start || $err=1);
		return $err
}

stop() {
	local err; err=0
	#rm $UO_PATH/$UO_EXE
	echo "=== NAT STOP ===="
	(/var/$UO_EXE stop || $err=1);
	#(rm $UO_PATH/$UO_EXE);
	return $err
}

usage() {
	echo "$0 [start|stop|restart|reload|config]"
	exit 1
}

# +++++++++++++++ main ++++++++++++++++++++++ 
[ -z "$1" ] && usage;

err=0

case "$1" in
	config)		;;
	start)		start;;
	stop)		stop;;
	reload)		;;
	restart)	stop; start;;
	*)		usage;;
esac
#if [ $? = "0" ] ; then
	#echo $0 $@ ok
#else
	#echo $0 $@ error
#	err=1
#fi

exit $err
