Re: queueing example on pf.conf man page

2015-11-04 Thread David Dahlberg
Am Mittwoch, den 04.11.2015, 13:37 +1100 schrieb Jason Tubnor:

> While pf(4) will let you define and load queues that exceed the parent
> (top
> level) queue, when you start to load up your queues, you'll get
> congestion
> defeating the purpose of queuing.  To what point, depends on your
> environment.

As long as you do not get congestion, you do not get queuing.

If I understood henning@ correctly, what you get is an H-FSC-like queue.
What is being defined width "bandwidth" is the "link-share service
curve".

pf.conf(5) let's you specify an absolute "bandwidth" parameter, because
this format is more convenient and fits the typical workflow, rather
than a "m2" parameter. Basically it determines in which ratio the
bandwidth is shared between the flows (if and only iff there happens to
be congestion).

So 10M/10M/80M (that is what my pf.conf(5) says by the way) is exactly
the same as 1M/1M/8M or 20M/20M/160M.

> "All bandwidth values must be specified as an absolute value.  The
> suffixes K, M, and G are used to represent bits, kilobits, megabits,
> and
> gigabits per second, respectively.  The value must not exceed the
> interface bandwidth."

That is what is says, indeed. But AFAIK, this is only true for the
"root" queue because otherwise it won't have any effect.

    -dd



Re: queueing example on pf.conf man page

2015-11-04 Thread David Dahlberg
Am Mittwoch, den 04.11.2015, 10:09 +0800 schrieb Glenn Faustino:


> I notice that under queueing section of the pf.conf man page the total
> child queues bandwidth exceed what's defined in the parent.

Oops, now I found the /other/ example #|

> Can the bandwidth on the child queues exceed what's defined in the
> parent?

Yes, it can. But probably it shouldn't be like this in the example.

Index: pf.conf.5
===
RCS file: /cvs/src/share/man/man5/pf.conf.5,v
retrieving revision 1.545
diff -u -p -u -r1.545 pf.conf.5
--- pf.conf.5   16 Feb 2015 21:43:10 -  1.545
+++ pf.conf.5   4 Nov 2015 09:23:59 -
@@ -1547,8 +1547,8 @@ The queues are then referenced by filter
 above).
 .Bd -literal -offset 4n
 queue rootq on em0 bandwidth 100M max 100M
-queue http parent rootq bandwidth 60M burst 90M for 100ms
-queue  developers parent http bandwidth 45M
+queue http parent rootq bandwidth 50M burst 75M for 100ms
+queue  developers parent http bandwidth 35M
 queue  employees parent http bandwidth 15M
 queue mail parent rootq bandwidth 10M
 queue ssh parent rootq bandwidth 20M



queueing example on pf.conf man page

2015-11-03 Thread Glenn Faustino
Hi,

I notice that under queueing section of the pf.conf man page the total
child queues bandwidth exceed what's defined in the parent. rootq was
defined with 100M bandwidth and the child queues defined http 60M, mail
10M, ssh 20M and std 20M.


Can the bandwidth on the child queues exceed what's defined in the parent?


Thanks,
Glenn



Re: queueing example on pf.conf man page

2015-11-03 Thread Jason Tubnor
On 4 November 2015 at 13:09, Glenn Faustino 
wrote:


> I notice that under queueing section of the pf.conf man page the total
> child queues bandwidth exceed what's defined in the parent. rootq was
> defined with 100M bandwidth and the child queues defined http 60M, mail
> 10M, ssh 20M and std 20M.
>
>
> Can the bandwidth on the child queues exceed what's defined in the parent?
>

While pf(4) will let you define and load queues that exceed the parent (top
level) queue, when you start to load up your queues, you'll get congestion
defeating the purpose of queuing.  To what point, depends on your
environment.

Maybe the pf.conf(5) man page needs to be adjusted to reflect the statement
below and set the std queue to 10M (but that is up to the project to
decide):

"All bandwidth values must be specified as an absolute value.  The
suffixes K, M, and G are used to represent bits, kilobits, megabits, and
gigabits per second, respectively.  The value must not exceed the
interface bandwidth."

Cheers.