Priority is missing
-
Pfsense 2.1.2
Traffic shaper was configured by wizard single lan/multiple wan.
Why there is no priority?pfTop: Up Queue 1-22/22, View: queue, Cache: 10000 QUEUE BW SCH PRIO PKTS BYTES DROP_P DROP_B QLEN BORROW SUSPEN P/S B/S root_vtnet0 23M hfsc 0 0 0 0 0 0 0 0 qACK 4370K hfsc 0 0 0 0 0 0 0 qDefault 2070K hfsc 155212 6518904 0 0 0 1.0 41 qP2P 920K hfsc 0 0 0 0 0 0 0 qGames 4370K hfsc 0 0 0 0 0 0 0 qOthersHigh 2070K hfsc 0 0 0 0 0 0 0 qOthersLow 460K hfsc 0 0 0 0 0 0 0 root_vtnet1 70M hfsc 0 0 0 0 0 0 0 0 qACK 13M hfsc 0 0 0 0 0 0 0 qDefault 6300K hfsc 155215 6519030 0 0 0 1.0 41 qP2P 2800K hfsc 0 0 0 0 0 0 0 qGames 13M hfsc 0 0 0 0 0 0 0 qOthersHigh 6300K hfsc 0 0 0 0 0 0 0 qOthersLow 1400K hfsc 0 0 0 0 0 0 0 root_em0 1000M hfsc 0 0 0 0 0 0 0 0 qLink 200M hfsc 2504 948556 0 0 0 0.6 497 qInternet 118M hfsc 0 0 0 0 0 0 0 qACK 22M hfsc 0 0 0 0 0 0 0 qP2P 4739K hfsc 0 0 0 0 0 0 0 qGames 22M hfsc 0 0 0 0 0 0 0 qOthersHigh 10M hfsc 0 0 0 0 0 0 0 qOthersLow 2369K hfsc 0 0 0 0 0 0 0
pfctl -sq
queue root_vtnet0 on vtnet0 bandwidth 23Mb priority 0 {qACK, qDefault, qP2P, qGames, qOthersHigh, qOthersLow} queue qACK on vtnet0 bandwidth 4.37Mb hfsc( red ecn ) queue qDefault on vtnet0 bandwidth 2.07Mb hfsc( red ecn default ) queue qP2P on vtnet0 bandwidth 920Kb hfsc( red ecn upperlimit 920Kb ) queue qGames on vtnet0 bandwidth 4.37Mb hfsc( red ecn ) queue qOthersHigh on vtnet0 bandwidth 2.07Mb hfsc( red ecn ) queue qOthersLow on vtnet0 bandwidth 460Kb hfsc( red ecn ) queue root_vtnet1 on vtnet1 bandwidth 70Mb priority 0 {qACK, qDefault, qP2P, qGames, qOthersHigh, qOthersLow} queue qACK on vtnet1 bandwidth 13.30Mb hfsc( red ecn ) queue qDefault on vtnet1 bandwidth 6.30Mb hfsc( red ecn default ) queue qP2P on vtnet1 bandwidth 2.80Mb hfsc( red ecn upperlimit 2.80Mb ) queue qGames on vtnet1 bandwidth 13.30Mb hfsc( red ecn ) queue qOthersHigh on vtnet1 bandwidth 6.30Mb hfsc( red ecn ) queue qOthersLow on vtnet1 bandwidth 1.40Mb hfsc( red ecn ) queue root_em0 on em0 bandwidth 1Gb priority 0 {qLink, qInternet} queue qLink on em0 bandwidth 200Mb qlimit 500 hfsc( red ecn default ) queue qInternet on em0 bandwidth 118.49Mb hfsc( red ecn upperlimit 118.49Mb ) {qACK, qP2P, qGames, qOthersHigh, qOthersLow} queue qACK on em0 bandwidth 22.51Mb hfsc( red ecn ) queue qP2P on em0 bandwidth 4.74Mb hfsc( red ecn upperlimit 4.74Mb ) queue qGames on em0 bandwidth 22.51Mb hfsc( red ecn ) queue qOthersHigh on em0 bandwidth 10.66Mb hfsc( red ecn ) queue qOthersLow on em0 bandwidth 2.37Mb hfsc( red ecn )
-
Scheduler hfsc doesn't use priorities.
-
Hi,
If HFSC doesn't use priority, how then does it prioritize traffic if no real-time option is specified in the child queues?
And if it doesn't really use the priority parameter, why does it exist in the UI? I did see a 2011 post saying the priority UI parameter in HFSC configuration screens is a bug and it should be removed.
But this is really a very important confusing element.
Thanks!
pubmsu -
From what I remember, the original HFSC spec didn't include priorities nor UL, just RT and LS. Different implementations of the spec led to some using priorities and the introduction of UL. If you child queues don't have any RT, then the service is defined by their LinkShare values, no?
-
We definitely need a definitive answer for our community here.
I found two good resources meanwhile:
http://serverfault.com/questions/105014/does-anyone-really-understand-how-hfsc-scheduling-in-linux-bsd-works/462563#462563
http://manpages.ubuntu.com/manpages/precise/man7/tc-hfsc.7.html
-
HFSC doesn't have priorities (PRIQ does, naturally, as does CBQ)
It prioritizes based on the link share values/percentages and such. That's a bit of an oversimplification, but it's basically how it's done.
If you want prioritization, PRIQ is by far the easiest type to use.
The priority fields exist in the GUI because the GUI has to accommodate all types (HFSC, PRIQ, CBQ, etc) and the GUI could be a bit smarter about hiding irrelevant fields.
Similarly, the PRIQ shaper type does not support bandwidth specifications, and yet the wizard and GUI still require them to be entered.
-
Thanks, jimp!
It'll certainly help all users to remove those unneeded fields from respective screens.
-
For the Priority field then, at least, there should be any other lable other than the following:
"For hfsc, the range is 0 to 7. The default is 1. Hfsc queues with a higher priority are preferred in the case of overload."
It could be just this label: "Priority does not apply for HFSC. Please keep it blank for HFSC"