On Thu, 4 Feb 2016 12:45:23 +0100
"Peter N. M. Hansteen" <pe...@bsdly.net> wrote:

> On 02/04/16 12:19, Marko Cupać wrote:
>
> > If you need something more advanced, like granting minimum bandwidth
> > with the ability to borrow from other queues up to maximum bandwidth
> > when other queues are empty, I am afraid you won't be able to do it
> > with current queueing system. However, I'm still hoping one of
> > these days someone will prove me wrong.
>
> I'm a little curious about what you're basing this assertion on?
>
> As in, can you point us to benchmarks or other tests that indicate
> that hfsc queueing (which is the algorithm underlying the post-5.5
> traffic shaping) with variable allocations does not work?
>
> Child queues with variable allocations (min and bandwith not equal to
> max or burst) can never exceed the parent queue's allocation, but
> using the min, max and burst parameters as documented in the queueing
> section of pf.conf(5) should indeed influence observed results /when
> one or more queues approach a threshold that triggers shaping/.
>
> If you can come up with measurements that show the mechanism is
> defective, I'm sure a bug report would be appreciated.

Let's say I have the following setup:

---cut-here---
queue download on $int_if        bandwidth 10M min 10M max 10M
   queue host1   parent download bandwidth  5M min  5M max 10M
   queue host2   parent download bandwidth  5M min  5M max 10M default

match out on $int_if to $host1 set queue host1
match out on $int_if to $host2 set queue host2

pass  out on $int_if
---cut-here---

I guess it should be obvious what I want to achieve: If both hosts
request max bandwidth at the same time, throttle them both to 5M. While
host2 sits idle, give host1 10M. If host2 requests max bandwidth while
host1 downloads at 10M, throttle host1 to 5M and give host2 5M.

Would getting the different outcome (such as not throttling active
host1's active transfer from 10M to 5M, and grant host2 5M when it
requests max bandwidth) count as proof for defective mechanism?

Regards,
--
Before enlightenment - chop wood, draw water.
After  enlightenment - chop wood, draw water.

Marko Cupać
https://www.mimar.rs/

Reply via email to