New status queues page
-
Hi xbipin,
I was forcing my development pfSense to load your qstats output, and I can confirm you that the length field gets populated. The values "0/50", "0/150" and so on are the exact values that qstats reports as length of the queue.Probably you mean "why 0"? Because just there are not any packets in the queue, your internet connection is fast enough to handle the packets without "parking" them in the queue. Try to lower the bandwidth available in your root queue (try for example 1Mbit) and you will see some packets left in the queue.
Ciao,
Michele -
i tried lowering the download speed to 1mbps and i do see the length now getting populated but it seems the root queue doesnt populate, only the child queues do
-
also i modified the root queue length to 150 but it still shows 0/50 instead of 0/150, the child queue length show fine as configured
-
Ok, that works then!
About the root queue, it is normal, since each queue has his own length and is managed individually (I can't aggregate that data as I do for the rest of the statistics, it would not make any sense).
Ciao,
Michele -
so wouldnt it be better to simply remove length field from root queue
-
Well, qstats (the program that extracts the statistics from the queues) and the page (that reads/aggregate/shows that data) do not know which traffic is assigned to which queue. I can't exclude that the root queue can handle some traffic…
If someone in this forum can confirm that the root queue will not handle ANY traffic in ANY case I can just hide the field "length" for the root queue (it really takes a second)...
-
IIRC the root queue is just the definition for your queues. It's something like
altq on em1 hfsc bandwidth 5Mb queue { qACK, qDefault, qVoIP }
You cannot put anything in there, everything that is not classified goes into the default queue.
-
IIRC the root queue is just the definition for your queues. It's something like
altq on em1 hfsc bandwidth 5Mb queue { qACK, qDefault, qVoIP }
You cannot put anything in there, everything that is not classified goes into the default queue.
Ok, that's valid for HFSC, but for the other types of scheduler?
-
Schedulers are all defined the same way:
The syntax for the queue directive is: queue name [on interface] bandwidth bw [priority pri] [qlimit qlim] \ scheduler ( sched_options ) { queue_list }
(http://www.openbsd.org/faq/pf/queueing.html)
Edit:
pftop -v queue
also shows that nothing ever hits the root queue, at least here. It's only used to define the bandwidth of your interface.
-
Ok, but why can you set a "Queue Limit" in the root queue, since you're telling it's useless?
I mean, in the interface "Firewall: Traffic Shaper", there is a field to input the Queue Limit also for the root queue.If there is a reason for that field to be set for the root queue, there is also a reason for the Queue length to be visible in the "Status Queues" page… or am I wrong?
-
Ok, but why can you set a "Queue Limit" in the root queue, since you're telling it's useless?
I mean, in the interface "Firewall: Traffic Shaper", there is a field to input the Queue Limit also for the root queue.If there is a reason for that field to be set for the root queue, there is also a reason for the Queue length to be visible in the "Status Queues" page… or am I wrong?
+1
-
I'm not saying that it's useless or that it should be hidden. I am just pretty sure, that you cannot put anything in the root queue on purpose.
And I too don't understand why one can set a Queue Limit there and also in the child queues. I would have supposed that this should be the overall limit, but that does not seen to be the case. -
Defaults are good in those fields, but it is better to have it configurable for those that need it.
I think that while you cannot put things there on purpose, packets still get there, so why not have the ability to control it?