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