Re: ESFQ

Linux Advanced Routing and Traffic Control

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

 



On Saturday 28 September 2002 12:01, Vladimír Třebický wrote:
> Hi,
>
> I have little problem with ESFQ. I set root qdisc cbq on eth1 (which is on
> LAN side of network), then 1:1 cbq class with exact bandwidth and its two
> child - cbq 1:10 and cbq 1:20 with 1:1's bandwidth divided. I also set two
> ESFQ perturb 10 hash dst on those two classes. But when someone starts to
> download with 100 threads, he has much more bandwith than someone with only
> one. I understand that this is exactly what esfq should solve, so I think
> that somewhere on my side is mistake :-( This is my configuration:
>
> tc qdisc add dev eth0 root handle 1: cbq bandwidth 10Mbit avpkt 1000 cell 8
>
> tc class add dev eth0 parent 1: classid 1:1 cbq bandwidth 10Mbit rate 256
> Kbit weight 2.56 Kbit prio 1 allot 1514 cell 8 maxburst 20 avpkt 1000
> isolated
>
> tc class add dev eth0 parent 1:1 classid 1:10 cbq bandwidth 10Mbit rate 32
> Kbit weight 3.2 Kbit prio 1 allot 1514 cell 8 maxburst 18 avpkt 100
> isolated tc class add dev eth0 parent 1:1 classid 1:20 cbq bandwidth 10Mbit
> rate 224 Kbit weight 2.24 Kbit prio 2 allot 1514 cell 8 maxburst 2 avpkt
> 1500 bounded
>
> tc qdisc add dev eth0 parent 1:10 handle 10: esfq perturb 10 hash dst
> tc qdisc add dev eth0 parent 1:20 handle 20: esfq perturb 10 hash dst
>
> iptables -t mangle -A PREROUTING -m length --length 0:500 -j MARK
> --set-mark 3
> iptables -t mangle -A PREROUTING -m length --length ! 0:500 -j
> MARK --set-mark 4
>
> tc filter add dev eth0 parent 1: protocol ip handle 3 fw flowid 1:10
> tc filter add dev eth0 parent 1: protocol ip handle 4 fw flowid 1:20
>
> Thank you very much for answer,
You have to make class 1:1 bounded so it can not get more bandwidth than it's 
rate.
And remove all isolated parameters.  They are not working.  In fact, if you 
add a isolated parameter to class 1:10 and 1:20 then these class will get 
more bandwidth then the parent allows even if the parent is bounded.  I think 
it's a bug in cbq (more info on 
http://www.docum.org/stef.coene/qos/tests/cbq/classes.html).


tc qdisc add dev eth0 root handle 1: cbq bandwidth 10Mbit avpkt 1000 cell 8

tc class add dev eth0 parent 1: classid 1:1 cbq bandwidth 10Mbit rate 256
Kbit weight 2.56 Kbit prio 1 allot 1514 cell 8 maxburst 20 avpkt 1000
bounded

tc class add dev eth0 parent 1:1 classid 1:10 cbq bandwidth 10Mbit rate 32
Kbit weight 3.2 Kbit prio 1 allot 1514 cell 8 maxburst 18 avpkt 100
tc class add dev eth0 parent 1:1 classid 1:20 cbq bandwidth 10Mbit rate 224
Kbit weight 2.24 Kbit prio 2 allot 1514 cell 8 maxburst 2 avpkt 1500


Stef

-- 

stef.coene@docum.org
 "Using Linux as bandwidth manager"
     http://www.docum.org/
     #lartc @ irc.oftc.net

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/


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