Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Queues not reloading when applying

    Scheduled Pinned Locked Moved Traffic Shaping
    9 Posts 3 Posters 1.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • curtisgriceC
      curtisgrice
      last edited by

      I have been tweaking our HFSC quite a bit as I learn more about it. However the queues do not seem to update when clicking the apply button. I have verified the settings are saved in the config.xml file and even tried /etc/rc.reload_all with no luck. I can verify stale settings via pfctl -s queue -v

      The only thing I have not done (that I can think of) is reboot the router. :-[

      Slow code? Sounds like a good reason to buy more hardware!

      1 Reply Last reply Reply Quote 0
      • H
        Harvy66
        last edited by

        Have you checked the top right to see if any errors have occurred? If you have HFSC errors, they will break your current firewall settings making PFSense load the last known good rules.

        1 Reply Last reply Reply Quote 0
        • curtisgriceC
          curtisgrice
          last edited by

          I am able to edit the LAN queues (basically nothing set) but I cannot edit the WAN queues at all with out "The following input errors were detected: The sum of child bandwidth is higher than parent." and having it reject the settings. I even tried doubling the Bandwidth on the WAN queue.

          Here is the shaper part of the config.xml in use:

                  <shaper><queue><interface>wan</interface>
                                  <name>wan</name>
                                  <scheduler>HFSC</scheduler>
                                  <queue><name>qInternet</name>
                                          <interface>wan</interface>
                                          <enabled>on</enabled>
                                          <queue><name>qACK</name>
                                                  <interface>wan</interface>
                                                  <priority>7</priority>
                                                  <enabled>on</enabled>
                                                  <bandwidth><bandwidthtype>Kb</bandwidthtype>
                                                  <realtime3>750Kb</realtime3>
                                                  <realtime>on</realtime></bandwidth></queue> 
                                          <queue><name>qDefault</name>
                                                  <interface>wan</interface>
                                                  <priority>4</priority>
                                                  <enabled>on</enabled>
                                                  <default>default</default>
                                                  <bandwidth>1000</bandwidth>
                                                  <bandwidthtype>Kb</bandwidthtype></queue> 
                                          <queue><name>qOthersHigh</name>
                                                  <interface>wan</interface>
                                                  <priority>6</priority>
                                                  <enabled>on</enabled>
                                                  <qlimit>50</qlimit>
                                                  <codel>yes</codel>
                                                  <bandwidth><bandwidthtype>Kb</bandwidthtype>
                                                  <realtime3>2000Kb</realtime3>
                                                  <realtime>on</realtime></bandwidth></queue> 
                                          <queue><name>qOthersLow</name>
                                                  <interface>wan</interface>
                                                  <enabled>on</enabled>
                                                  <priority>1</priority>
                                                  <bandwidth><bandwidthtype>Kb</bandwidthtype>
                                                  <upperlimit3>1000Kb</upperlimit3>
                                                  <qlimit>500</qlimit>
                                                  <codel>yes</codel>
                                                  <upperlimit>on</upperlimit></bandwidth></queue> 
                                          <bandwidth><bandwidthtype>Kb</bandwidthtype>
                                          <upperlimit3>4900Kb</upperlimit3>
                                          <upperlimit>on</upperlimit></bandwidth></queue> 
                                  <bandwidth>5000</bandwidth>
                                  <bandwidthtype>Kb</bandwidthtype>
                                  <enabled>on</enabled></queue> 
                          <queue><interface>lan</interface>
                                  <name>lan</name>
                                  <scheduler>HFSC</scheduler>
                                  <enabled>on</enabled>
                                  <queue><name>qLink</name>
                                          <interface>lan</interface>
                                          <qlimit>500</qlimit>
                                          <priority>2</priority>
                                          <enabled>on</enabled>
                                          <default>default</default></queue> 
                                  <queue><name>qInternet_DOWN</name>
                                          <interface>lan</interface>
                                          <ecn>yes</ecn>
                                          <queue><name>qACK</name>
                                                  <interface>lan</interface>
                                                  <priority>7</priority>
                                                  <enabled>on</enabled></queue> 
                                          <queue><name>qOthersHigh</name>
                                                  <interface>lan</interface>
                                                  <priority>6</priority>
                                                  <enabled>on</enabled>
                                                  <codel>yes</codel></queue> 
                                          <queue><name>qOthersLow</name>
                                                  <interface>lan</interface>
                                                  <priority>3</priority>
                                                  <enabled>on</enabled></queue> 
                                          <enabled>on</enabled>
                                          <bandwidth><bandwidthtype>Kb</bandwidthtype></bandwidth></queue> 
                                  <bandwidth>100</bandwidth>
                                  <bandwidthtype>Mb</bandwidthtype></queue></shaper> 
          
          

          I also keep seeing the alarm "There were error(s) loading the rules: pfctl: the sum of the child bandwidth higher than parent "qInternet" - The line in question reads [0]: @ 2016-09-27 12:36:05"
          This is extremely unhelpful as it does not tell me the root queue (WAN/LAN guessing WAN) or the offending numbers.

          Slow code? Sounds like a good reason to buy more hardware!

          1 Reply Last reply Reply Quote 0
          • curtisgriceC
            curtisgrice
            last edited by

            Also what is the effective difference of "Bandwidth" and "Upper Limit"?

            Based on the documentation I have seen they both have the same effect of specifying a max "bandwidth" or more correctly throughput for the queue.

            Slow code? Sounds like a good reason to buy more hardware!

            1 Reply Last reply Reply Quote 0
            • N
              Nullity
              last edited by

              @curtisgrice:

              Also what is the effective difference of "Bandwidth" and "Upper Limit"?

              Based on the documentation I have seen they both have the same effect of specifying a max "bandwidth" or more correctly throughput for the queue.

              When using HFSC, when you set a queue's "Bandwidth", it is actually setting the link-share m2 value.

              The difference between link-share and upper-limit can be found in documentation, but a quick explanation is that link-share is a non-absolute proportional value that defines how much bandwidth a queue will get and upper-limit is an absolute limit.

              The only time "Bandwidth" is an absolute limit is when it applies to the interface itself (AKA root queue).

              If you want more details about HFSC, check out http://man7.org/linux/man-pages/man7/tc-hfsc.7.html or the HFSC site of one of HFSC's authors. Good luck. :)

              Please correct any obvious misinformation in my posts.
              -Not a professional; an arrogant ignoramous.

              1 Reply Last reply Reply Quote 0
              • curtisgriceC
                curtisgrice
                last edited by

                Thank you for the insights and the links! Ill have to read them over. After reading your explanation I do vaguely remember seeing something about link share be used to calculate a ratio and is not a literal number.

                Slow code? Sounds like a good reason to buy more hardware!

                1 Reply Last reply Reply Quote 0
                • H
                  Harvy66
                  last edited by

                  Your LAN claims to be HFSC, but I do not see any bandwidth assigned to the child queues. I'm not fluent in the XML, but that could be an issue.

                  1 Reply Last reply Reply Quote 0
                  • curtisgriceC
                    curtisgrice
                    last edited by

                    It seems to only be the WAN that I can no longer edit. The LAN (from my understanding) should just give even shares for the leaf queues. Ill have to scheduled a reboot for tonight after hours.

                    Slow code? Sounds like a good reason to buy more hardware!

                    1 Reply Last reply Reply Quote 0
                    • H
                      Harvy66
                      last edited by

                      I'm going off of memory, but I noticed qACK and other realtime queues only have realtime set. You may also need to set the non-realtime bandwidth.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.