Hi Jared,
Thanks a lot for your response.
> > altq on $int_if cbq bandwidth 100% queue { net_int, www_int }
> > queue net_int bandwidth 1.0Mb { std_int, it_int, boss_int }
> > queue std_int cbq(default)
> > queue it_int bandwidth 500Kb cbq(borrow)
> > queue boss_int priority 3
> > queue www_int cbq(red)
>
> i might be off base here, but what if you used
>
> altq on $int_if cbq(borrow) bandwidth 100% queue { net_int, www_int }
> queue net_int bandwidth 1.0Mb cbq(borrow) { std_int, it_int, boss_int }
I've tried adding cbq(borrow) using the following combinations. None
achieve the effect described in the FAQ.
- Both root class and net_int queue; Borrows from root class (100Mb)
- Only net_int; Borrows from root class (100Mb)
- Only root class; Does not borrow from the root class/other queues (500Kb)
> it would seem as if they're really not limited by the bandwidth of their
> parent, but rather are each just drawing off of the root class?
Exactly.
> do things change if you use percentages?
>
> as in:
>
> altq on $int_if cbq bandwidth 100% queue { net_int, www_int }
> queue net_int bandwidth 1.0Mb { std_int, it_int, boss_int }
> queue std_int bandwidth 100% cbq(default)
> queue it_int bandwidth 50% cbq(borrow)
> queue boss_int bandwidth 100% priority 3
> queue www_int cbq(red)
>
> that would seem to be equivalent to what you are doing... i don't know the
> ramifications of two queues each allowed to use 100% of their parent's
> bandwidth -- i suppose that it would become a "priority" fight when it got
> used to capacity?
>
> if you try:
>
> altq on $int_if cbq bandwidth 100% queue { net_int, www_int }
> queue net_int bandwidth 1.0Mb { std_int, it_int, boss_int }
> queue std_int bandwidth 50% cbq(default)
> queue it_int bandwidth 25% cbq(borrow)
> queue boss_int bandwidth 50% priority 3
> queue www_int cbq(red)
>
> do things act sanely as they ought to, within the confines of those bandwidth
> limits?
No, unfortunately.
I would like to clarify that borrowing definitely works in a simple setting
like the one below. However the example from the FAQ still doesn't work for
me.
altq on $int_if cbq bandwidth 1.0Mb queue { std_int, it_int, boss_int }
queue std_int cbq(default)
queue it_int bandwidth 500Kb cbq(borrow)
queue boss_int priority 3
I've received some off-list mail from people struggling with the exact same
problem so I would really appreciate it if someone could shed some light on
this.
Best regards,
Egbert