2.3 change bandwidth per queue



  • after upgrading to 2.3, I can see that each small queue has a bandwidth percent or amount but can't change it. I can only set at LAN and WAN levels. Can see in view by queues but not change.



  • Much more information is needed.

    (What is a "small queue"? Please be precise about what your intention was and what the actual results were.)



  • The old version allows adjusting bandwidth per sub queue.

    My total WAN upload is 10mb and i want the sub queue of voip to use 50% etc..




  • You showed us your queue configuration, what about your interface(root queue)?



  • Root queue is okay. Set at 11 mb.
    The issue is i no longer have granular settings for the sub queues.



  • What scheduler are you using? I should check mine when I get home. I'm using HFSC and it still seems to be working, but I haven't looked at the UI since the upgrade. In my case, I had percentages to the hundreth's place.



  • @Harvy66:

    What scheduler are you using? I should check mine when I get home. I'm using HFSC and it still seems to be working, but I haven't looked at the UI since the upgrade. In my case, I had percentages to the hundreth's place.

    Yeah, we should probably double-check the GUI/wizard… :)



  • i was/is using CBQ. This worked for multiple sites. After upgrading to 2.3, the gui seems to remove the option to change the bandwidth per sub queue.

    Cood call on HFSC. I set to that and it still have the bandwidth for sub queues.



  • I just upgraded to 2.3-RELEASE (amd64), shaping with CBQ and encounter the same problem as tongsama.  Can't edit child bandwidth, no WebGui field, therefore my router is overrunning the modems upstream buffer. Any way to edit via ssh to get by?  Reducing the parent bandwidth to anything lower than current causes error; The sum of child bandwidth is higher than parent.



  • I recommend switching to HFSC. It seems to prioritize my gaming and VOIP packets better. I can turn on downloads then launch a game and watch the downloads get limited.
    Worked a lot better than CBQ. The CBQ just lessens the lag during gaming.



  • Not an option to switch shapers right now. I'm in the middle of troubleshooting a production unit.



  • @tongsama:

    I recommend switching to HFSC. It seems to prioritize my gaming and VOIP packets better. I can turn on downloads then launch a game and watch the downloads get limited.
    Worked a lot better than CBQ. The CBQ just lessens the lag during gaming.

    I think HFSC is more bandwidth efficient than CBQ. You may be experiencing bufferbloat by having more bandwidth passing. Try setting your interface bandwidth a bit lower. I think CBQ has about 10% bandwidth loss, so subtract close to that.



  • @Harvy66:

    @tongsama:

    I recommend switching to HFSC. It seems to prioritize my gaming and VOIP packets better. I can turn on downloads then launch a game and watch the downloads get limited.
    Worked a lot better than CBQ. The CBQ just lessens the lag during gaming.

    I think HFSC is more bandwidth efficient than CBQ. You may be experiencing bufferbloat by having more bandwidth passing. Try setting your interface bandwidth a bit lower. I think CBQ has about 10% bandwidth loss, so subtract close to that.

    What do you mean by "bandwidth efficiency" and "bandwidth loss"?

    The author of ALTQ says the following (http://www.iijlab.net/~kjc/software/TIPS.txt, from section 1.1 "Queueing Disciplines");


    Probably, what you will be using is only CBQ, HFSC and/or RED. CBQ is the most well-engineered among the implemented disciplines. HFSC has nicer theoretical properties than CBQ at the cost of slightly higher overhead.
    ...



  • Harvy, I know I'm overrunning the modem buffer but as I mentioned I can't lower the interface (parent) bandwidth, thats the question of my post, HOW?

    Can't edit child bandwidth, no WebGui field, therefore my router is overrunning the modems upstream buffer. Any way to edit via ssh to get by?  Reducing the parent bandwidth to anything lower than current causes error; The sum of child bandwidth is higher than parent.



  • @markn62:

    Harvy, I know I'm overrunning the modem buffer but as I mentioned I can't lower the interface (parent) bandwidth, thats the question of my post, HOW?

    Can't edit child bandwidth, no WebGui field, therefore my router is overrunning the modems upstream buffer. Any way to edit via ssh to get by?  Reducing the parent bandwidth to anything lower than current causes error; The sum of child bandwidth is higher than parent.

    You can edit ALTQ by using SSH to run the appropriate pfctl commands, but those settings will notbe persistant, so… don't do it.

    I use HFSC (but that should be unimportant), and here is what I see when viewing a queue: 

    I see everything is as it should be… "Bandwidth" being the most important part. Do you not have a "Bandwidth" parameter in your GUI?



  • This is what I see with CBQ.




  • @markn62:

    This is what I see with CBQ.

    That does seem to be missing something.

    Have you checked the pfSense bug tracker? https://redmine.pfsense.org





  • @Nullity:

    @Harvy66:

    @tongsama:

    I recommend switching to HFSC. It seems to prioritize my gaming and VOIP packets better. I can turn on downloads then launch a game and watch the downloads get limited.
    Worked a lot better than CBQ. The CBQ just lessens the lag during gaming.

    I think HFSC is more bandwidth efficient than CBQ. You may be experiencing bufferbloat by having more bandwidth passing. Try setting your interface bandwidth a bit lower. I think CBQ has about 10% bandwidth loss, so subtract close to that.

    What do you mean by "bandwidth efficiency" and "bandwidth loss"?

    The author of ALTQ says the following (http://www.iijlab.net/~kjc/software/TIPS.txt, from section 1.1 "Queueing Disciplines");


    Probably, what you will be using is only CBQ, HFSC and/or RED. CBQ is the most well-engineered among the implemented disciplines. HFSC has nicer theoretical properties than CBQ at the cost of slightly higher overhead.
    ...

    Some implementations of CBQ, not to say what PFSense currently uses, if you say 10Mb/s, your peak is only about 9Mb/s, so you need to set it higher because there's a 10% "loss". The scheduler needs to hold back in order to properly work. HFSC seems to be very close to 100%. What I was getting at is tongsama said CQB has less latency. ASsuming both HFSC and CBQ set to 10Mb, HFSC could possibly be passing more of that 10Mb, making bufferbloat an issue.



  • @Harvy66:

    @Nullity:

    @Harvy66:

    @tongsama:

    I recommend switching to HFSC. It seems to prioritize my gaming and VOIP packets better. I can turn on downloads then launch a game and watch the downloads get limited.
    Worked a lot better than CBQ. The CBQ just lessens the lag during gaming.

    I think HFSC is more bandwidth efficient than CBQ. You may be experiencing bufferbloat by having more bandwidth passing. Try setting your interface bandwidth a bit lower. I think CBQ has about 10% bandwidth loss, so subtract close to that.

    What do you mean by "bandwidth efficiency" and "bandwidth loss"?

    The author of ALTQ says the following (http://www.iijlab.net/~kjc/software/TIPS.txt, from section 1.1 "Queueing Disciplines");


    Probably, what you will be using is only CBQ, HFSC and/or RED. CBQ is the most well-engineered among the implemented disciplines. HFSC has nicer theoretical properties than CBQ at the cost of slightly higher overhead.
    ...

    Some implementations of CBQ, not to say what PFSense currently uses, if you say 10Mb/s, your peak is only about 9Mb/s, so you need to set it higher because there's a 10% "loss". The scheduler needs to hold back in order to properly work. HFSC seems to be very close to 100%. What I was getting at is tongsama said CQB has less latency. ASsuming both HFSC and CBQ set to 10Mb, HFSC could possibly be passing more of that 10Mb, making bufferbloat an issue.

    Citation?



  • I'm sorry, I don't maintain an index of citations for everything that I have read in my life. Just saying I read it somewhere at some point. I place no stake in its correctness at the time that I read or currently, just that I read it in an unknown context. While the information could have been false at the time that I read it, I would find it very strange that someone would be have ran a fud campaign against CBQ.

    Here's a fun read about D-CBQ https://pdfs.semanticscholar.org/87a6/9a173cf9c787607511a8551a8e0331da028a.pdf and it's attempt to decouple delay and bandwidth. It seems there have been several attempts to change CBQ to decouple or reduce delay from bandwidth. https://pdfs.semanticscholar.org/1433/b2afcd8e08de52b1fba6127c89808f58b3f2.pdf



  • So back to the original question, is there a way to change the cbq shapers interface bandwidth value, and any other child bandwidth values if needed, and avoid the error; "The sum of child bandwidth is higher than parent".  Or is waiting months for the next release our only option?



  • I'll try editing the config.xml.
    https://forum.pfsense.org/index.php?topic=110438.0



  • @markn62:

    So back to the original question, is there a way to change the cbq shapers interface bandwidth value, and any other child bandwidth values if needed, and avoid the error; "The sum of child bandwidth is higher than parent".  Or is waiting months for the next release our only option?

    The "… sum of child bandwidth..." problem is probably unrelated to the GUI problem. The "sum child" thing is caused by pf/pfctl errors being directly relayed from the underlying pf/ALTQ sub-system itself, meaning that you are making a mistake. (I experienced this error often when playing with HFSC's m1/d/m2 params in a parent<->leaf queue setup, but the error was always my own...)

    The GUI problem does seem to be valid though. The edit of the config.xml seems to be most logical option... which is unfortunate.



  • Making CBQ child bandwidth % changes by config.xml will accept anything I want. Via the GUI I get errors if I change the parent bandwidth value.  Currently running ver 2.3.1_1 and the GUI still doesn't show child bandwidth values in the Shaper by Interface. So apparently not fixed with the last patch.

    Does anyone in an escalated position read these issues and are inclined to fix them?  Because XLM shaper restores function, it seems this may entirely be a GUI issue.  Since the GUI doesn't have the % field for entry the XML shows a valueless entry of <bandwidth></bandwidth>rather than say <bandwidth>50</bandwidth>.