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

Reply via email to