Re: [LARTC] limiting users on a 128kbit linw

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Radus, see below.


>
> I've been trying to write a traffic shaper for a 128kbit line with this setup
> :
> 5 computers that get dedicated bandwidth and the rest go in a pool with bigger
> priorities.
>

I do not see the priorities in your script.  Only some of the filters have priorities, but it has nothing to do with scheduling
(you should give prioirties to the HTB classes).


>
> I made the attached script, but it seems it doesn't work...
>
> It sends the traffic coming from the dedicated ips to the default class.
> Where is the error ?
>

You mean it all goes to 1:14 ?

>
>
> I've set r2q to 1 (it's the smallest one possible, no ? ) and it receive
> warnings that the quantum is too small
>

Quantum = rate/r2q
For class 1:12, quantum = 10k/r2q = 10*1024(8*r2q) = 1280Bytes.
This is smaller than MTU, that's why it complains that quantum is too small.

Same thing for classes 1:13 and 1:14, quantum = 640 Bytes, which is smaller them MTU.

What you can (and should) do is specify the quantum manually.



>
> Thanks in advance....
>
> Radu
>
> Here's the script :
>
> tc qdisc add dev eth1 root handle 1: htb default 14  r2q 1
> tc class add dev eth1 parent 1: classid 1:1 htb rate 128kbit burst 2k
> tc class add dev eth1 parent 1:1 classid 1:10 htb rate 48kbit burst 2k
>
> tc class add dev eth1 parent 1:1 classid 1:20 htb rate 12kbit ceil 128kbit
> burst 2k
>
> tc class add dev eth1 parent 1:1 classid 1:30 htb rate 12kbit ceil 128kbit
> burst 2k
>
> tc class add dev eth1 parent 1:1 classid 1:40 htb rate 12kbit ceil 128kbit
> burst 2k
>
> tc class add dev eth1 parent 1:1 classid 1:50 htb rate 12kbit ceil 128kbit
> burst 2k
>
> tc class add dev eth1 parent 1:1 classid 1:11 htb rate 20kbit ceil 128kbit
> burst 2k
>
> tc class add dev eth1 parent 1:11 classid 1:12 htb rate 10kbit  burst 2k
> tc class add dev eth1 parent 1:11 classid 1:13 htb rate 5kbit   burst 2k
> tc class add dev eth1 parent 1:11 classid 1:14 htb rate 5kbit   burst 2k
>
> tc qdisc add dev eth1 parent 1:20 handle 20:  sfq perturb 15
> tc qdisc add dev eth1 parent 1:30 handle 30:  sfq perturb 15
> tc qdisc add dev eth1 parent 1:40 handle 40:  sfq perturb 15
> tc qdisc add dev eth1 parent 1:50 handle 50:  sfq perturb 15
>
> tc qdisc add dev eth1 parent 1:12 handle 12:  sfq perturb 15
> tc qdisc add dev eth1 parent 1:13 handle 13:  sfq perturb 15
> tc qdisc add dev eth1 parent 1:14 handle 14:  sfq perturb 15
>
> tc filter add dev eth1 protocol ip parent 1: u32 match ip dst 192.168.0.45
> flowid 1:20
>
> tc filter add dev eth1 protocol ip parent 1: u32 match ip dst 192.168.0.4
> flowid 1:30
>
> tc filter add dev eth1 protocol ip parent 1: u32 match ip dst 192.168.0.50
> flowid 1:40
>
> tc filter add dev eth1 protocol ip parent 1: u32 match ip dst 192.168.0.38
> flowid 1:50
>
> tc filter add dev eth1 protocol ip parent 1: prio 1 u32 match ip sport 80
> 0xffff flowid 1:12
> tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match ip sport 25
> 0xffff flowid 1:13
> tc filter add dev eth1 protocol ip parent 1: prio 3 u32 match ip sport 110
> 0xffff flowid 1:13



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux