Joost Kraaijeveld
2004-Sep-17 05:22 UTC
Guaranteed rate per class and maximum ceiling per element in class???
Hi all, It is my understanding that with HTB, the rate and the ceiling are divided over the elements of the class. E.g. using a rate of 100 kb and a ceiling of 2000 kb for a class with 10 elements on a 100Mb NIC, the effect of the ceiling will be that if all elements are generating their maximimum possible trafic they will be effectively limited to ~ ceiling / number of elements, in this case 2000/10 = 200. But what I want is that any individual within a class is limited to an amount that is smaller that the class ceiling while maintaining the class ceiling. Is it possible to achieve a guaranteed rate per class, a ceiling per class AND maximum ceiling per individual element in class using TCNG 1.3 on Linux (Debian 2.6 kernel)? Otherwise? Groeten, Joost Kraaijeveld Askesis B.V. Molukkenstraat 14 6524NB Nijmegen tel: 024-3888063 / 06-51855277 fax: 024-3608416 e-mail: J.Kraaijeveld@Askesis.nl web: www.askesis.nl _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2004-Sep-17 19:04 UTC
Re: Guaranteed rate per class and maximum ceiling per element in class???
On Friday 17 September 2004 07:22, Joost Kraaijeveld wrote:> Hi all, > > It is my understanding that with HTB, the rate and the ceiling are divided > over the elements of the class. E.g. using a rate of 100 kb and a ceiling > of 2000 kb for a class with 10 elements on a 100Mb NIC, the effect of the > ceiling will be that if all elements are generating their maximimum > possible trafic they will be effectively limited to ~ ceiling / number of > elements, in this case 2000/10 = 200.Yep.> But what I want is that any individual within a class is limited to an > amount that is smaller that the class ceiling while maintaining the class > ceiling. > > Is it possible to achieve a guaranteed rate per class, a ceiling per class > AND maximum ceiling per individual element in class using TCNG 1.3 on Linux > (Debian 2.6 kernel)? Otherwise?Yes, yes and yes :) The first 2 can be done with htb. For the third yes, you can use the wrr qdisc (I never tested this myself and I don''t know if tcng can configure this). The wrr qdisc can be added to a htb class. Or you can add extra classes to the htb class. For htb shaping rules, see: http://www.docum.org/docum.org/faq/cache/10.html Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Joost Kraaijeveld
2004-Sep-19 14:57 UTC
RE: Guaranteed rate per class and maximum ceiling per element in class???
Hi Stef, lartc-admin@mailman.ds9a.nl schreef:> The first 2 can be done with htb. For the third yes, you can > use the wrr qdisc (I never tested this myself and I don''t know if tcng > can configure this). The wrr qdisc can be added to a htb class. Or you > can add extra classes to the htb class.I want to look into policing for enforcing the ceiling per element, but to my disappointment I cannot get it working. whatever I use for values, nothing changes in the measured trhoughput I I don''t know why. If I use the stuff below I expect that the throughput for host asterix.askesis.nl will be 10Bps. Which is not the case. But whatever values I use nothing changes in the throughtput. It appears that tat the ingress rules is ignored. Any ideas? ingress { /* TCNG manual p. 39 SLB(cbs,cir [,mpu]) cbs: commited burst size in bytes (size of bucket) cir: commited information rate in bps (rate of entering bucket) mpu: minimum policed unit in bytes (size of bucket in/decrement ?) */ $network = SLB( cbs 10B, cir 10 Bps); /* SLB_ok, if true pass the packet SLB_else_drop, if true drop the packet */ class(<>) if ip_src == host "asterix.askesis.nl" && SLB_else_drop($network); } Groeten, Joost Kraaijeveld Askesis B.V. Molukkenstraat 14 6524NB Nijmegen tel: 024-3888063 / 06-51855277 fax: 024-3608416 e-mail: J.Kraaijeveld@Askesis.nl web: www.askesis.nl _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2004-Sep-20 15:57 UTC
Re: Guaranteed rate per class and maximum ceiling per element in class???
On Sunday 19 September 2004 16:57, Joost Kraaijeveld wrote:> Hi Stef, > > lartc-admin@mailman.ds9a.nl schreef: > > The first 2 can be done with htb. For the third yes, you can > > use the wrr qdisc (I never tested this myself and I don''t know if tcng > > can configure this). The wrr qdisc can be added to a htb class. Or you > > can add extra classes to the htb class. > > I want to look into policing for enforcing the ceiling per element, but to > my disappointment I cannot get it working. whatever I use for values, > nothing changes in the measured trhoughput I I don''t know why.You don''t need policing for the forcing a ceil, htb can this too.> If I use the stuff below I expect that the throughput for host > asterix.askesis.nl will be 10Bps. Which is not the case. But whatever > values I use nothing changes in the throughtput. It appears that tat the > ingress rules is ignored. Any ideas?Do you know how slow 10Bps is ????? Use some real values like 10KBps or so.> > ingress > { > /* > TCNG manual p. 39 > SLB(cbs,cir [,mpu]) > cbs: commited burst size in bytes (size of bucket) > cir: commited information rate in bps (rate of entering bucket) > mpu: minimum policed unit in bytes (size of bucket in/decrement > ?) */ > $network = SLB( cbs 10B, cir 10 Bps); > > /* > SLB_ok, if true pass the packet > SLB_else_drop, if true drop the packet > */ > class(<>) if ip_src == host "asterix.askesis.nl" && > SLB_else_drop($network); }Do you want to shape outgoing traffic or incoming traffic? Ingress is for incoming traffic, htb is outgoing traffic. You can use htb for incoming traffic if you use the imq device or if you can shape on a router, you can shape on both interfaces. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Joost Kraaijeveld
2004-Sep-20 19:40 UTC
RE: Guaranteed rate per class and maximum ceiling per element in class???
Hi Stef, Stef Coene schreef:> Do you want to shape outgoing traffic or incoming traffic? > Ingress is for incoming traffic, htb is outgoing traffic. > You can use htb for incoming traffic if you use the imq > device or if you can shape on a router, you can shape on both interfaces.I want to shape both. This is what I have done (and it works as far as we can see): 1. Use HTB / egress to shape rate and use the ceil of the HTB to regulate the scaling of the classes. 2. Use ingress to regulate the absolute maximum ceil of the individual elements Groeten, Joost Kraaijeveld Askesis B.V. Molukkenstraat 14 6524NB Nijmegen tel: 024-3888063 / 06-51855277 fax: 024-3608416 e-mail: J.Kraaijeveld@Askesis.nl web: www.askesis.nl _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/