tbf and sfq interaction???

Linux Advanced Routing and Traffic Control

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

 




How do sfq and tbf interact when packets need to be dropped?



Example:


two flows are entering the linux router, flow A is 1 mbit and flow B is 3 mbits (total = 4). We use tbf to limit outgoing bandwidth to 2 mbits (further downstream there is a bottleneck).

If we just used tbf, it would be dropping 50% of all packets - ie, flow A would see about 500K
of it's traffic getting through and flow B would see about 1.5mbits getting through.


This isn't "fair" - flow A should not have any of its packets dropped and flow B should be
limited to 1 mbit. So we add sfq.


What's not clear to me is if this will accomplish what I want. If the tbf algorithm occurs before
sfq, tbf will drop 50% of all packets. After that, sfq will have no effect. If the sfq algorithm
is performed first, then all 4 mbits of the resulting traffic is sent to tbf, then tbf will drop
packets from both flows.


It would seem that there needs to be some interaction between the algorithms - tbf needs to
signal to sqf that more packets can be sent. But the packet dropping should occur in sqf (where fairness is understood) not in tbf.


So question: will it work as I want or is a new qdisk needed?

note: I actually have hundreds of flows, so I don't want to classify them manually. I also don't
want hard allocations of bandwidth. If there is only flow B, 2 mbits of it should be allowed to pass.
Thanks.





_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx 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