1#!/bin/sh
2TC="/usr/sbin/tc"
3IPTABLES="/usr/sbin/iptables"
4NVRAM="/bin/config"
5ECHO="/bin/echo"
6WAN_IF="brwan"
7WAN_PROTO="$($NVRAM get wan_proto)"
8FILTER_ADD="$TC filter add dev $WAN_IF"
9UPRATE="$($NVRAM get qos_uprate)"
10UPRATE=`awk -v NEWUPRATE=$UPRATE 'BEGIN{printf "%.0f",NEWUPRATE*1.06}'`
11QoS_ENABLE="$($NVRAM get qos_endis_on)"
12BANDCTL="$($NVRAM get qos_threshold)"
13WAN_SPEED=`cat /tmp/WAN_status | cut -f 1 -d 'M'`
14
15
16start(){
17	if [ "x$QoS_ENABLE" != "x1" ]; then
18		dni_qos --MFS "0:$BANDCTL"
19		return
20	fi
21
22	if [ "x$WAN_PROTO" = "xpptp" ]; then
23		if [ "x$BANDCTL" = "x0" ] || [ $UPRATE -le 0 ] || [ $UPRATE -gt 1000000 ]; then
24			UPRATE=1000000
25		fi
26	elif [ "x$WAN_PROTO" = "xpppoe" ]; then
27		if [ "x$BANDCTL" = "x0" ] || [ $UPRATE -le 0 ] || [ $UPRATE -gt 1000000 ]; then
28			UPRATE=1000000
29		fi
30	else
31		if [ "x$BANDCTL" = "x0" ] || [ $UPRATE -le 0 ] || [ $UPRATE -gt 1000000 ]; then
32 			UPRATE=1000000
33 		fi
34	fi
35
36	dni_qos --MFS "$UPRATE:$BANDCTL"
37
38}
39
40stop(){
41	dni_qos --MFS "0:$BANDCTL"
42}
43
44status(){
45	$IPTABLES -t mangle -nvL
46}
47								 
48case "$1" in
49	stop)
50	stop
51	;;
52	start | restart )
53	stop
54	start
55	;;
56	status)
57	status
58	;;
59	*)
60	echo $"Usage:$0 {start|stop|restart|status}"
61	exit 1
62esac
63
64