Good day all So at log last I did my script We have a 256kbite connection.This scrip runs on my gateway box(the same for script for eth1(ext) and eth0(int) I want to limit all other traffic to 10kbites but when I do it I give me this error: HTB quantum of class 10034 is to small.consider r2q <7>htb*g j=42801780 Here is my script.If you have any Idea to better it let me know.Its a bit from here and there and some of my own #!/bin/bash DEV=eth1 RATEUP=256 #To get stats if [ "$1" = "stats" ] then echo "[qdisc]" tc -s qdisc show dev $DEV echo "[class]" tc -s class show dev $DEV #echo "[filter]" #tc -s filter show dev $DEV #echo "[iptables]" exit fi #Reset tc qdisc del dev $DEV root if [ "$1" = "stop" ] then echo "Shaping removed on $DEV." exit fi ########################################################### # # Outbound Shaping (limits total bandwidth to RATEUP) # set queue size to give latency of about 2 seconds on low-prio packets ip link set dev $DEV qlen 30 # changes mtu on the outbound device. Lowering the mtu will result # in lower latency but will also cause slightly lower throughput due # to IP and TCP protocol overhead. ip link set dev $DEV mtu 1000 # add HTB root qdisc tc qdisc add dev $DEV root handle 1: htb default 23 # add main rate limit classes tc class add dev $DEV parent 1: classid 1:1 htb rate ${RATEUP}kbit # add leaf classes - We grant each class at LEAST it''s "fair share" of bandwidth. # this way no class will ever be starved by another class. Each # class is also permitted to consume all of the available bandwidth # if no other classes are in use. tc class add dev $DEV parent 1:1 classid 1:20 htb rate ${RATEUP}kbit ceil ${RATEUP}kbit prio 0 tc class add dev $DEV parent 1:1 classid 1:21 htb rate 192kbit ceil 256kbit prio 1 tc class add dev $DEV parent 1:1 classid 1:22 htb rate 54kbit ceil 256kbit prio 2 tc class add dev $DEV parent 1:1 classid 1:23 htb rate 10kbit ceil 256kbit prio 3 # attach qdisc to leaf classes - here we at SFQ to each priority class. SFQ insures that # within each class connections will be treated (almost) fairly. tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10 tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10 tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10 tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10 tc filter add dev $DEV protocol ip parent 1:0 prio 2 u32 \ match ip dport 20 0xffff flowid 1:22 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 22 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 3000 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 2 u32 \ match ip dport 25 0xffff flowid 1:22 tc filter add dev $DEV protocol ip parent 1:0 prio 2 u32 \ match ip dport 110 0xffff flowid 1:22 tc filter add dev $DEV protocol ip parent 1:0 prio 2 u32 \ match ip sport 25 0xffff flowid 1:22 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip dport 80 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip dport 443 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip dport 1443 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip sport 1443 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip dport 1494 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip sport 1494 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip dport 4400 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 \ match ip sport 4400 0xffff flowid 1:21 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15000 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15001 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15002 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15003 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15004 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15005 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15006 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15007 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15008 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15009 0xffff flowid 1:20 tc filter add dev $DEV protocol ip parent 1:0 prio 0 u32 \ match ip dport 15010 0xffff flowid 1:20 _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Tuesday 20 January 2004 14:46, Eddie wrote:> Good day all > So at log last I did my script > We have a 256kbite connection.This scrip runs on my gateway box(the same > for script for eth1(ext) and eth0(int) > I want to limit all other traffic to 10kbites but when I do it I give me > this error: > > HTB quantum of class 10034 is to small.consider r2q <7>htb*g j=42801780See some other, recent posts on the mailinglist and the faq page on docum.org for the quantum problems. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/