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/