[LARTC] Bandwidth throttling/limiting for all traffic

Darryl Cording dcording@ascend.net.au
Thu, 18 Nov 2004 16:20:42 +1000


Thanks for the feedback Jason,

Jason Boxman wrote:
> On Wednesday 17 November 2004 22:29, Darryl Cording wrote:
> 
> <snip>
> 
>>I am trying to build a Linux router that simply throttles everything
>>down to certain bandwidths. That is, no priority queuing ...etc, just
>>slow all traffic down to the specified rates, which are 64,128,256,512
>>kbit. We want to setup the bandwidth on the router, then pump a known
>>load from an application through the router and see how that behaves
>>over various link speeds. (we are in a lab environment)
> 
> 
> Using the htb qdisc with ceil equal to rate ought to accomplish this.
I thought the same thing, so far so good.

> 
>>Using kernel 2.6.5-1.358 I simply used these commands from Stef's
>>version of tc from docum.org, module sch_htb is loaded.
>>
>>tc qdisc add dev eth0 root handle 10: htb
>>tc class add dev eth0 parent 10: classid 10:1 htb rate 64kbit ceil 64kit
> 
> 
> You need to classify your traffic.
> 
> tc qdisc add dev eth0 root handle 10: htb default 10
> tc class add dev eth0 parent 10: classid 10:1 htb rate 64kbit ceil 64kit
> 
> If you add the default parameter, htb will put any unclassified into classid 
> 10:1.
That makes sense.

> 
> 
>>I thought that would do the job, but my testing from uploading files via
>>ftp to another box, show nothing gets shaped.
> 
> 
> Right, because it wasn't classified.
> 
Ok, so I have to classify my traffic before this will route them throu 
the qdisc. Are you taking about classifying via iptables?? I thought 
that was optional, more for filtering ...etc.

regards
darryl