try HFSC, Hierarchical Fair Service Curve:
http://trash.net/~kaber/hfsc http://www-2.cs.cmu.edu/~hzhang/HFSC/
i'm going to test it in this week.
This should indeed work with HFSC if the custumer-classes have only links-haring service curves and no realtime service curves. The parent class would be limited with an upper-limit service curve. With link-sharing service curves, only the relative differences of virtual time on a level of the heirarchy are relevant, so there is no problem oversubscribing the parent class. the upper-limit service curve of the parent limits the total bandwidth, unlike the link-sharing curve it uses wall-clock time.
Best regards, Patrick
PS: Please let me know if you are successful.
Quoting Simon Byrnand <simon@xxxxxxxxxxx>:
Hopefully someone has a suggestion on how I might do this...as I can't figure it out :(
I need to be able to set up a group of seperate users who have a "bandwidth pool" they share, but also be able to limit their individual bandwidth as well.
Example:
I have 5 customers and would like to be able to provide them with a maximum of 256Kbit each, with a CIR of 33%.
To do this, I'd like the 5 customers to share a parent group which is therefore limited to 426Kbit, Which is 5*256Kbit/3.
The idea being that individual customers can achieve up to a maximum of 256Kbit provided that the total group pool doesn't exceed 426Kbit, and if the total group pool maxes out, then each customer should get reduced bandwidth in fair ratios based on their individual maximum setting. (Currently 256Kbit for all of them, but I'd like to be able to differentiate them later)
If all 5 were trying to fully utilize their bandwidth at the same time, they should get a fairly distributed 33% of their maximum - eg about 85Kbit.
The problem I can see is that both CBQ and HTB don't seem to honour situations where the sum of all the child rates exceeds the parent rate - the parent rate is ignored so the 426Kbit cap is exceeded. The HTB docs even explicitely say this won't work.
So is there any tricky way to do this with slightly different semantics ? Surely there must be some way :-) I've spent many long hours studying CBQ and trying things out and finally came to the conclusion that CBQ alone just can't do it, but I was hoping HTB could, but thus far I've been unsuccessful here too..
Currently I'm using CBQ but I'm limited in that the individual maximum speeds can only equal the parent group maximum bandwidth which is workable for a few customers, but not very satisfactory and not flexible enough as I add more customers.
If someone could point me in the right direction or just give me a firm "nope, can't be done" that would be great....
I'd also like to enable short term bursting over and above this as well, to improve responsiveness during downloading, say, 33% overbandwidth for 5 seconds, that sort of thing, but I'll cross that bridge when (if) I get to it...(any comments here on how effective enabling bursting is for reducing the dreaded unresponsiveness-during-downloads problem would be welcome too)
Regards, Simon
_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Santiago J. Ruano Rincón
Avatar Ltda. ParqueSoft Popayán +57-2 8221214
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/