PRIQ Maxing at 7



  • I've done some searching but admittedly not my best skill…

    I'm watching the pfSense hangout on Traffic Shaping Basics with PRIQ. In the hangout it references the max queue priority being 15, but in the GUI it keeps telling me the max is 7.

    Has the max priority changes, or am I missing a setting to enable this?



  • @moscato359:

    Priq should only max at 7.

    Like, that's a real thing.

    Not sure where the 15 is from

    You are probably thinking of another algorithm (CBQ?) because MrVining is correct.

    PRIQ has priorities 0-15: https://github.com/pfsense/FreeBSD-src/blob/0c43d482dc4dffa853480966f9e7d973afbb3268/sys/contrib/altq/altq/altq_priq.h#L41

    #define PRIQ_MAXPRI 16 /* upper limit of the number of priorities */

    @MrVining: Why PRIQ maxes at 7 in the GUI, I dunno. Maybe it's a limit (incorrectly?) inherited from some copy/pasted CBQ code?



  • It's also not letting me select 0. I hit save and when it reloads it becomes blank.

    Then shortly after I get a warning that my queue's ONE and ZERO have the same priority.
    ONE = "1"
    ZERO = NULL

    I'm going to look to see if I can find a config file to edit.

    The actual error message I get:
    There were error(s) loading the rules: pfctl: ONE and ZERO have the same priority - The line in question reads [0]: @ 2017-05-22 09:19:18



  • @MrVining:

    It's also not letting me select 0. I hit save and when it reloads it becomes blank.

    Then shortly after I get a warning that my queue's ONE and ZERO have the same priority.
    ONE = "1"
    ZERO = NULL

    I'm going to look to see if I can find a config file to edit.

    There were error(s) loading the rules: pfctl: ONE and ZERO have the same priority - The line in question reads [0]: @ 2017-05-22 09:19:18

    If "pfctl" reports that error, then it's likely a PRIQ/ALTQ thing rather than a GUI thing.

    If you need more than a few priorities, you should really consider migrating to a more powerful algorithm like CBQ, FAIRQ, or HFSC.



  • PRIQ is perfect for me. For the most part, I care zero about lower priority queues than I do upper ones.

    One of the reasons for so many queues is 3x voice priorities… I suppose they are all so microscopic they could all go in the same queue.

    I was able to go above 15 by simply exporting the config, editing the xml file, then restoring the config. That being said zero still won't take, and I still get the error for 1 and NULL being the same priority. I think I have 8-9 queues so I'm not too worried about that. I would like to be able to validate that editing the xml file and setting queues to 15 and 14 is actually working some how.

    Currently there is next to no traffic on this. It's pre-production running on a vm.



  • @MrVining:

    PRIQ is perfect for me. For the most part, I care zero about lower priority queues than I do upper ones.

    One of the reasons for so many queues is 3x voice priorities… I suppose they are all so microscopic they could all go in the same queue.

    I was able to go above 15 by simply exporting the config, editing the xml file, then restoring the config. That being said zero still won't take, and I still get the error for 1 and NULL being the same priority. I think I have 8-9 queues so I'm not too worried about that. I would like to be able to validate that editing the xml file and setting queues to 15 and 14 is actually working some how.

    Currently there is next to no traffic on this. It's pre-production running on a vm.

    I'm just guessing, but perhaps "0" is some sort of default so you can't explicitly use it. It's not a bug but instead a known limitation, so there's nothing to fix.



  • It's been like this since forever.  I'm pretty sure I complained about this a year or two ago.



  • Well I'm 99% sure the GUI stopping at 7 for PRIQ is a bug.

    I was able to get it all working like I wanted by backing up the configuration using "all", editing the xml file to include up to 15 queues, finally restoring the configuration. It worked pretty slick.

    I cloned the VM and put it into production. I'm loving it so far. I can verify that all my queues show up in order in the traffic by queue and it does seem to be prioritizing traffic as expected. I even left torrent wide open and if VoIP was impacted I sure couldn't tell.

    One final note, when I click my "WORK_VOICE" queue in the GUI, it shows me priority 15. It's not until I hit save that I get the error. This makes me sssume the issue is with a java script function. But I have yet to even look at the source for the page. Just assuming it's using java script.



  • Yes it's a simple validation issue.  I also have those illegal priorities set due to numerous upgrades going back to 2.1.3 when it used to work.