- Timestamp:
- 06/08/09 18:29:43 (3 years ago)
- Children:
- 5987af1b79b0c1fbd4aa9d30a53ec6879853ece3
- Parents:
- 03dc5e370ef4fbf66e34cbe5bc5b878ed764149c
- git-committer:
- Neutron Soutmun <neo.neutron@…> (06/08/09 18:29:43)
- Files:
-
- 1 modified
-
tools/bandwidth.sh.in (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tools/bandwidth.sh.in
r9679928 r2f0141c 9 9 TC=/sbin/tc 10 10 IP=/sbin/ip 11 IFCONFIG=/sbin/ifconfig 11 12 12 13 INIT=@sysconfdir@/default/rahunas … … 16 17 INTERFACE_SPEED=102400 17 18 18 SHAPING_DOWN_INF=imq019 SHAPING_UP_INF=imq120 21 19 INTERFACE_ID=9999 22 20 BITTORRENT_ID=9998 … … 29 27 test "$RUN_DAEMON" = "yes" || exit 0 30 28 test -f $RAHUNAS_CONFIG || exit 1 29 30 SHAPING_DOWN_INF="" 31 SHAPING_UP_INF="" 31 32 32 33 set -e … … 56 57 57 58 # Interface Uplink 59 $IFCONFIG $SHAPING_UP_INF up 58 60 $TC qdisc add dev $SHAPING_UP_INF root handle 2: htb \ 59 61 default ${INTERFACE_ID} 60 62 $TC class add dev $SHAPING_UP_INF parent 2: classid 2:${INTERFACE_ID} \ 61 63 htb rate ${INTERFACE_SPEED}Kbit 64 65 # Redirect incoming traffic to IFB 66 $TC qdisc add dev $SHAPING_DOWN_INF ingress 67 $TC filter add dev $SHAPING_DOWN_INF parent ffff: protocol ip prio 2 u32 \ 68 match u32 0 0 flowid 1:${INTERFACE_ID} \ 69 action mirred egress redirect dev $SHAPING_UP_INF 62 70 ;; 63 71 stop) 72 # Redirect incoming traffic to IFB 73 $TC filter del dev $SHAPING_DOWN_INF parent ffff: protocol ip prio 2 u32 \ 74 match u32 0 0 flowid 1:${INTERFACE_ID} \ 75 action mirred egress redirect dev $SHAPING_UP_INF 76 $TC qdisc del dev $SHAPING_DOWN_INF ingress 77 64 78 # Interface Downlink 65 79 $TC qdisc del dev $SHAPING_DOWN_INF root … … 67 81 # Interface Uplink 68 82 $TC qdisc del dev $SHAPING_UP_INF root 83 84 $IFCONFIG $SHAPING_UP_INF down 69 85 ;; 70 86 esac … … 114 130 115 131 usage_add() { 116 echo "Usage: $1 add ID IP DOWNSPEED UPSPEED "132 echo "Usage: $1 add ID IP DOWNSPEED UPSPEED DOWN_IF UP_IF" 117 133 echo " ID - ID number from 1 to 9900" 118 134 echo " IP - IPv4 Address" 119 135 echo " DOWNSPEED - Download speed (bits/s)" 120 136 echo " UPSPEED - Upload speed (bits/s)" 137 echo " DOWN_IF - Downstream interface (eth0, eth1, vlan1, ...)" 138 echo " UP_IF - Upstream interface (ifb0, ifb1, ...)" 121 139 } 122 140 123 141 usage_del() { 124 echo "Usage: $1 del ID "142 echo "Usage: $1 del ID DOWN_IF UP_IF" 125 143 echo " ID - ID number from 1 to 9900" 144 echo " DOWN_IF - Downstream interface (eth0, eth1, vlan1, ...)" 145 echo " UP_IF - Upstream interface (ifb0, ifb1, ...)" 126 146 } 127 147 … … 175 195 case "$1" in 176 196 start) 177 start || true 197 if [ -z "$2" ] || [ -z "$3" ]; then 198 MESSAGE="NOT COMPLETED" 199 else 200 SHAPING_DOWN_INF=$2 201 SHAPING_UP_INF=$3 202 RUN=${RUN}-${SHAPING_DOWN_INF}-${SHAPING_UP_INF} 203 start || true 204 fi 205 178 206 test -n "$MESSAGE" || MESSAGE="NOT COMPLETED" 179 207 echo $MESSAGE 180 208 ;; 181 209 stop) 182 stop || true 210 if [ -z "$2" ] || [ -z "$3" ]; then 211 MESSAGE="NOT COMPLETED" 212 else 213 SHAPING_DOWN_INF=$2 214 SHAPING_UP_INF=$3 215 RUN=${RUN}-${SHAPING_DOWN_INF}-${SHAPING_UP_INF} 216 stop || true 217 fi 218 183 219 test -n "$MESSAGE" || MESSAGE="NOT COMPLETED" 184 220 echo $MESSAGE … … 186 222 ;; 187 223 restart) 188 stop || true 189 test -n "$MESSAGE" || MESSAGE="NOT COMPLETED" 190 echo $MESSAGE 191 192 start || true 224 if [ -z "$2" ] || [ -z "$3" ]; then 225 MESSAGE="NOT COMPLETED" 226 else 227 SHAPING_DOWN_INF=$2 228 SHAPING_UP_INF=$3 229 RUN=${RUN}-${SHAPING_DOWN_INF}-${SHAPING_UP_INF} 230 stop || true 231 start || true 232 fi 233 193 234 test -n "$MESSAGE" || MESSAGE="NOT COMPLETED" 194 235 echo $MESSAGE … … 201 242 fi 202 243 203 if [ $# != 5]; then244 if [ $# != 7 ]; then 204 245 echo "Error: too few arguments" 205 246 usage_add $N … … 207 248 fi 208 249 209 bw_add $2 $3 $4 $5 || true 250 if [ -z "$6" ] || [ -z "$7" ]; then 251 MESSAGE="NOT COMPLETED" 252 else 253 SHAPING_DOWN_INF=$6 254 SHAPING_UP_INF=$7 255 RUN=${RUN}-${SHAPING_DOWN_INF}-${SHAPING_UP_INF} 256 bw_add $2 $3 $4 $5 || true 257 fi 210 258 echo $MESSAGE 211 259 ;; … … 216 264 fi 217 265 218 if [ $# != 2]; then266 if [ $# != 4 ]; then 219 267 echo "Error: too few arguments" 220 268 usage_del $N 221 269 exit 1 222 270 fi 223 224 bw_del $2 || true 271 if [ -z "$3" ] || [ -z "$4" ]; then 272 MESSAGE="NOT COMPLETED" 273 else 274 SHAPING_DOWN_INF=$3 275 SHAPING_UP_INF=$4 276 RUN=${RUN}-${SHAPING_DOWN_INF}-${SHAPING_UP_INF} 277 bw_del $2 || true 278 fi 225 279 echo $MESSAGE 226 280 ;;
