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

    Coustum traffic shape on multiwan.

    Scheduled Pinned Locked Moved Traffic Shaping
    7 Posts 5 Posters 4.1k 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.
    • S
      sindum
      last edited by

      Cheers

      I'm setting up a pfsense at campus using 4 adsl lines to connect to the Internet. It's working like a charm with load ballance but I still need to get some traffic shaping running.

      I tried to take a simple config made with the wizard and multiply in hand with the xml backup file.

      Any one who has an ideer what this "has no parent" meens. The queue is a parent!

      When try to enable the config I get this error in the system log

      php: : There where error(s) loading the rules: /tmp/rules.debug:35: syntax error /tmp/rules.debug:49: queue qlanRoot1 has no parent /tmp/rules.debug:49: errors in queue definition /tmp/rules.debug:51: queue qlandef1 has no parent /tmp/rules.debug:51: errors in queue definition /tmp/rules.debug:53: queue qlanacks1 has no parent /tmp/rules.debug:53: errors in queue definition /tmp/rules.debug:55: queue qVOIPDown1 has no parent /tmp/rules.debug:55: errors in queue definition /tmp/rules.debug:57: queue q

      The xml of the config lookes like this:

      <shaper><schedulertype>hfsc</schedulertype>
          <queue><name>qwanRoot1</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>720</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qlanRoot1</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>8000</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qwandef1</name>
              <attachtoqueue>qwanRoot1</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <priority>1</priority>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qlandef1</name>
              <priority>1</priority>
              <attachtoqueue>qlanRoot1</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qwanacks1</name>
              <ack><attachtoqueue>qwanRoot1</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qlanacks1</name>
              <ack><attachtoqueue>qlanRoot1</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qVOIPUp1</name>
              <attachtoqueue>qwanRoot1</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <queue><name>qVOIPDown1</name>
              <attachtoqueue>qlanRoot1</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <queue><name>qwanRoot2</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>720</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qlanRoot2</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>8000</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qwandef2</name>
              <attachtoqueue>qwanRoot2</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <priority>1</priority>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qlandef2</name>
              <priority>1</priority>
              <attachtoqueue>qlanRoot2</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qwanacks2</name>
              <ack><attachtoqueue>qwanRoot2</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qlanacks2</name>
              <ack><attachtoqueue>qlanRoot2</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qVOIPUp2</name>
              <attachtoqueue>qwanRoot2</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <queue><name>qVOIPDown2</name>
              <attachtoqueue>qlanRoot2</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>

      <queue><name>qwanRoot3</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>720</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qlanRoot3</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>8000</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qwandef3</name>
              <attachtoqueue>qwanRoot3</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <priority>1</priority>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qlandef3</name>
              <priority>1</priority>
              <attachtoqueue>qlanRoot3</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qwanacks3</name>
              <ack><attachtoqueue>qwanRoot3</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qlanacks3</name>
              <ack><attachtoqueue>qlanRoot3</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qVOIPUp3</name>
              <attachtoqueue>qwanRoot3</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <queue><name>qVOIPDown3</name>
              <attachtoqueue>qlanRoot3</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <queue><name>qwanRoot4</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>720</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qlanRoot4</name>
              <associatedrule>0</associatedrule>
              <priority>0</priority>
              <parentqueue>on</parentqueue>
              <bandwidth>8000</bandwidth>
              <bandwidthtype>Kb</bandwidthtype></queue>
          <queue><name>qwandef4</name>
              <attachtoqueue>qwanRoot4</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <priority>1</priority>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qlandef4</name>
              <priority>1</priority>
              <attachtoqueue>qlanRoot4</attachtoqueue>
              <associatedrule>0</associatedrule>
              <defaultqueue>true</defaultqueue>
              <realtime>on</realtime>
              <realtime3>1%</realtime3>
              <bandwidth>1</bandwidth>
              <bandwidthtype>%</bandwidthtype>
              <qlimit>500</qlimit></queue>
          <queue><name>qwanacks4</name>
              <ack><attachtoqueue>qwanRoot4</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qlanacks4</name>
              <ack><attachtoqueue>qlanRoot4</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>10%</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></ack></queue>
          <queue><name>qVOIPUp4</name>
              <attachtoqueue>qwanRoot4</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <queue><name>qVOIPDown4</name>
              <attachtoqueue>qlanRoot4</attachtoqueue>
              <associatedrule>0</associatedrule>
              <priority>7</priority>
              <realtime>on</realtime>
              <realtime3>64Kb</realtime3>
              <bandwidth>25</bandwidth>
              <bandwidthtype>%</bandwidthtype></queue>
          <rule><descr>DiffServ/Lowdelay/Download</descr>
              <inqueue>qVOIPUp1</inqueue>
              <outqueue>qVOIPDown1</outqueue>
              <in-interface>wan</in-interface>
              <out-interface>lan</out-interface>
              <source>
                  <any><destination><network>lan</network></destination>
              <iptos>lowdelay</iptos></any></rule>
          <rule><descr>DiffServ/Lowdelay/Upload</descr>
              <inqueue>qVOIPDown1</inqueue>
              <outqueue>qVOIPUp1</outqueue>
              <in-interface>lan</in-interface>
              <out-interface>wan</out-interface>
              <source>
                  <network>lan</network>

      <destination><any></any></destination>
              <iptos>lowdelay</iptos></rule>
          <rule><descr>DiffServ/Lowdelay/Download</descr>
              <inqueue>qVOIPUp2</inqueue>
              <outqueue>qVOIPDown2</outqueue>
              <in-interface>opt1</in-interface>
              <out-interface>lan</out-interface>
              <source>
                  <any><destination><network>lan</network></destination>
              <iptos>lowdelay</iptos></any></rule>
          <rule><descr>DiffServ/Lowdelay/Upload</descr>
              <inqueue>qVOIPDown2</inqueue>
              <outqueue>qVOIPUp2</outqueue>
              <in-interface>lan</in-interface>
              <out-interface>opt1</out-interface>
              <source>
                  <network>lan</network>

      <destination><any></any></destination>
              <iptos>lowdelay</iptos></rule>
          <rule><descr>DiffServ/Lowdelay/Download</descr>
              <inqueue>qVOIPUp3</inqueue>
              <outqueue>qVOIPDown3</outqueue>
              <in-interface>opt2</in-interface>
              <out-interface>lan</out-interface>
              <source>
                  <any><destination><network>lan</network></destination>
              <iptos>lowdelay</iptos></any></rule>
          <rule><descr>DiffServ/Lowdelay/Upload</descr>
              <inqueue>qVOIPDown3</inqueue>
              <outqueue>qVOIPUp3</outqueue>
              <in-interface>lan</in-interface>
              <out-interface>opt2</out-interface>
              <source>
                  <network>lan</network>

      <destination><any></any></destination>
              <iptos>lowdelay</iptos></rule>
          <rule><descr>DiffServ/Lowdelay/Download</descr>
              <inqueue>qVOIPUp4</inqueue>
              <outqueue>qVOIPDown4</outqueue>
              <in-interface>opt3</in-interface>
              <out-interface>lan</out-interface>
              <source>
                  <any><destination><network>lan</network></destination>
              <iptos>lowdelay</iptos></any></rule>
          <rule><descr>DiffServ/Lowdelay/Upload</descr>
              <inqueue>qVOIPDown4</inqueue>
              <outqueue>qVOIPUp4</outqueue>
              <in-interface>lan</in-interface>
              <out-interface>opt3</out-interface>
              <source>
                  <network>lan</network>

      <destination><any></any></destination>
              <iptos>lowdelay</iptos></rule>
          <enable></enable></shaper>

      1 Reply Last reply Reply Quote 0
      • J
        Justinw
        last edited by

        I can tell you that the has no parent error will happen if you have a single error in any of your shaping.  If I remember right, we bascially just cloned all the rules from the wizard on wan 1, but like I mentioned I will try and get your more info as my time frees up.

        1 Reply Last reply Reply Quote 0
        • S
          sindum
          last edited by

          Cheers Justin

          Well I'm also just trying to close the wisard. Most appreciated if you can find more info

          Regards Rasmus

          1 Reply Last reply Reply Quote 0
          • B
            billm
            last edited by

            This code is work in progress.  There was a bounty for work on this - multi-LAN is part of it.  Multi-wan is a tad more difficult, but I'm hoping the way I'm building the new code will allow for it.

            –Bill

            pfSense core developer
            blog - http://www.ucsecurity.com/
            twitter - billmarquette

            1 Reply Last reply Reply Quote 0
            • G
              Gitsum
              last edited by

              Cool. I'm personally waiting for multi-wan and traffic shaping.

              1 Reply Last reply Reply Quote 0
              • G
                Gitsum
                last edited by

                Any new progress reports on getting traffic shaping to work with load balancing?

                1 Reply Last reply Reply Quote 0
                • S
                  sullrich
                  last edited by

                  @Gitsum:

                  Any new progress reports on getting traffic shaping to work with load balancing?

                  No.

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