Hi, good people! I wanted to limit my 4 customers to 144, 16, 32, and 32kbps. I used the following tc commands BUT IT FAILED TO LIMIT each and everyone of them to its bandwidth. What am I doing wrong: My tc scripts are: tc qdisc add dev eth1 root handle 1: htb default 1 #Classes# tc class add dev eth1 parent 1: classid 1:1 htb rate 9bps ceil 9bps #Default tc class add dev eth1 parent 1: classid 1:100 htb rate 9bps ceil 9bps #ICMP tc class add dev eth1 parent 1: classid 1:5 htb rate 144kbps ceil 256kbps #customer A tc class add dev eth1 parent 1: classid 1:101 htb rate 16kbps ceil 16kbps #customer B tc class add dev eth1 parent 1: classid 1:111 htb rate 32kbps ceil 32kbps #customer C tc class add dev eth1 parent 1: classid 1:121 htb rate 32kbps ceil 32kbps #customer D Can anyone help me on how to limit the the bandwidth to these customers. Regards. Digihall7. __________________________________ Do you Yahoo!? Yahoo! Tax Center - File online by April 15th http://taxes.yahoo.com/filing.html _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Tuesday 13 April 2004 16:13, segun adesina wrote:> Hi, good people! > > I wanted to limit my 4 customers to 144, 16, 32, and > 32kbps. > I used the following tc commands BUT IT FAILED TO > LIMIT each and everyone of them to its bandwidth. > What am I doing wrong: > > My tc scripts are: > > tc qdisc add dev eth1 root handle 1: htb default 1 > #Classes# > tc class add dev eth1 parent 1: classid 1:1 htb > rate 9bps ceil 9bps #Default^^^^ 9bps? Shouldn''t that be at least 256kbps? <snip>> Can anyone help me on how to limit the the bandwidth > to these customers. > Regards. > > Digihall7. >_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
segun adesina wrote:> Hi, good people! > > I wanted to limit my 4 customers to 144, 16, 32, and > 32kbps. > I used the following tc commands BUT IT FAILED TO > LIMIT each and everyone of them to its bandwidth. > What am I doing wrong:Do you know that tc uses somewhat unconventional abbreviations? kbps means kiloBYTEs per second and kbit means kiloBITs per second. That would really screw up the limiting if you had that mixed up. Read the "Units" secion of the man page.> > My tc scripts are: > > tc qdisc add dev eth1 root handle 1: htb default 1 > #Classes# > tc class add dev eth1 parent 1: classid 1:1 htb > rate 9bps ceil 9bps #Default > tc class add dev eth1 parent 1: classid 1:100 htb > rate 9bps ceil 9bps #ICMP > > > tc class add dev eth1 parent 1: classid 1:5 htb > rate 144kbps ceil 256kbps #customer AThis class has a higher ceiling than its rate, which means it is allowed to "borrow" unused bandwidth from the other classes. I don''t know if you intended that.> tc class add dev eth1 parent 1: classid 1:101 htb > rate 16kbps ceil 16kbps #customer B > tc class add dev eth1 parent 1: classid 1:111 htb > rate 32kbps ceil 32kbps #customer C > tc class add dev eth1 parent 1: classid 1:121 htb > rate 32kbps ceil 32kbps #customer D >All these classes are operating on eth1, and should restrict bandwidth leaving that interface. If you want to restrict traffic moving in the other direction, you may need a corresponding set of classes. You haven''t shown us any of your tc filter commands. If nothing I''ve said above has helped any, then you probably have to give us more information or we won''t be able to find what''s wrong. -Corey _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
first you cant use limit of 9 bits /s it is 1 byte /s, so completely unreasonable speed. set it to 50 bytes/s at least another popstential problem that you are using independent root classes for each client that means they wont share bandwitch. customer a will always get 256 kbits and others will get their ceil limit all time. and my suggestion is to NOT touch default or you may have problems if rate = ceil then just specify rate. if you want your clients share bandwitch then you need to create one root class and attach everyone to it. this will look like this: tc qdisc add dev eth1 root handle 1: htb default 1 #Classes# tc class add dev eth1 parent 1: classid 1:5 htb rate 230kbps #root (set rate to 80-90% of link capacity) tc class add dev eth1 parent 1:5 classid 1:100 htb rate 9bps ceil 9bps #ICMP tc class add dev eth1 parent 1:5 classid 1:100 htb rate 144kbps ceil 230kbps #customer A tc class add dev eth1 parent 1:5 classid 1:101 htb rate 16kbps #customer B tc class add dev eth1 parent 1:5 classid 1:111 htb rate 32kbps #customer C tc class add dev eth1 parent 1:5 classid 1:121 htb rate 32kbps #customer D b,c and d will get always and only rate amount of trafic ----- Original Message ----- From: "segun adesina" <digihall7@yahoo.com> To: <lartc@mailman.ds9a.nl> Sent: Tuesday, April 13, 2004 11:13 PM Subject: [LARTC] tc does''nt limit the bandwidth!> > Hi, good people! > > I wanted to limit my 4 customers to 144, 16, 32, and > 32kbps. > I used the following tc commands BUT IT FAILED TO > LIMIT each and everyone of them to its bandwidth. > What am I doing wrong: > > My tc scripts are: > > tc qdisc add dev eth1 root handle 1: htb default 1 > #Classes# > tc class add dev eth1 parent 1: classid 1:1 htb > rate 9bps ceil 9bps #Default > tc class add dev eth1 parent 1: classid 1:100 htb > rate 9bps ceil 9bps #ICMP > > > tc class add dev eth1 parent 1: classid 1:5 htb > rate 144kbps ceil 256kbps #customer A > tc class add dev eth1 parent 1: classid 1:101 htb > rate 16kbps ceil 16kbps #customer B > tc class add dev eth1 parent 1: classid 1:111 htb > rate 32kbps ceil 32kbps #customer C > tc class add dev eth1 parent 1: classid 1:121 htb > rate 32kbps ceil 32kbps #customer D > > Can anyone help me on how to limit the the bandwidth > to these customers. > Regards. > > Digihall7. > > > > > > __________________________________ > Do you Yahoo!? > Yahoo! Tax Center - File online by April 15th > http://taxes.yahoo.com/filing.html > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/ >_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Good people, I want to thank you all for your awesome help so far and also want to make my problem clear to you all so that I can get more definite help. I have 256kpbs internet link to share among 4 customers- A=176 burstable to 256; B=16; C=32; D=32. But the problem is that my script FAILED TO LIMIT customers B, C,and D. My complete tc scripts is as follows; tc qdisc add dev eth1 root handle 1: htb default 1 #Classes tc class add dev eth1 parent 1: classid 1:1 htb rate 9bps ceil 9bps #Default tc class add dev eth1 parent 1: classid 1:100 htb rate 9bps ceil 9bps #ICMP tc class add dev eth1 parent 1: classid 1:5 htb rate 176kbps ceil 256kbps #Customer A tc class add dev eth1 parent 1: classid 1:101 htb rate 16kbps ceil 16kbps #Customer B tc class add dev eth1 parent 1: classid 1:111 htb rate 32kbps ceil 32kbps #Customer C tc class add dev eth1 parent 1: classid 1:121 htb rate 32kbps ceil 32kbps #Customer D #Leafs # A # tc class add dev eth1 parent 1:5 classid 1:90 htb rate 176kbps ceil 256kbps #Queues tc qdisc add dev eth1 parent 1:11 handle 211: sfq perturb 10 #Customer A tc qdisc add dev eth1 parent 1:101 handle 281: sfq perturb 10 # Customer B tc qdisc add dev eth1 parent 1:111 handle 282: sfq perturb 10 # Customer C tc qdisc add dev eth1 parent 1:121 handle 283: sfq perturb 10 # Customer D #Ip Assignment# U32="tc filter add dev eth1 protocol ip parent 1:0 prio 4 u32" u32="tc filter add dev eth1 protocol ip parent 1:0 prio 0 u32" # A # $U32 match ip dst 200.200.200.11 flowid 1:11 $U32 match ip src 200.200.200.11 flowid 1:11 #Customer B# $U32 match ip dst 172.16.0.11 flowid 1:101 $U32 match ip src 172.16.0.11 flowid 1:101 #Customer C# $U32 match ip dst 172.16.0.12 flowid 1:111 $U32 match ip src 172.16.0.12 flowid 1:111 #Customer D# $U32 match ip dst 172.16.0.13 flowid 1:121 $U32 match ip src 172.16.0.13 flowid 1:121 #virus ping $U32 match ip protocol 1 0xff flowid 1:100 What exactly am I doing wrong please? Can anyone re-write it for me or give me a better one please. Kind regards. Cheers! digihall7 __________________________________ Do you Yahoo!? Yahoo! Tax Center - File online by April 15th http://taxes.yahoo.com/filing.html _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/