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

    Playing with fq_codel in 2.4

    Scheduled Pinned Locked Moved Traffic Shaping
    1.1k Posts 123 Posters 1.6m 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.
    • H
      HeatmiserNYC
      last edited by

      Sorry gone for a few days, vacation.

      I gave that a shot by changing the /tmp file, it doesn't seem to have an affect. I am only changing the /tmp file, maybe it needs to be rebooted and hardcoded into the file? The only reason I haven't done this is because I haven't seen the results everybody is reporting…

      1 Reply Last reply Reply Quote 0
      • w0wW
        w0w
        last edited by

        Yes it's need to be rebooted or reloaded with```
        /etc/rc.reload_all

        After you did that run the following command```
        ipfw sched show
        ```and you should see something like```
        00001: unlimited         0 ms burst 0
        ```for the both pipes you have.
        1 Reply Last reply Reply Quote 0
        • H
          HeatmiserNYC
          last edited by

          @w0w:

          Yes it's need to be rebooted or reloaded with```
          /etc/rc.reload_all

          After you did that run the following command```
          ipfw sched show
          ```and you should see something like```
          00001: unlimited         0 ms burst 0
          ```for the both pipes you have.
          

          Yes, all relatively simple and you've been great at walking through the steps you put in place.

          I'm getting this for both pipes.

          00003: unlimited        0 ms burst 0

          00004: unlimited        0 ms burst 0

          Yet I can't get better than a B rating for bufferbloat, which is the same if I literally do nothing at all….

          1 Reply Last reply Reply Quote 0
          • w0wW
            w0w
            last edited by

            But what about VPN bandwidth? Are you still getting 120Mbps?

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

              That part HAS improved, looks like it does get about 145-ish or so which is about right. It just does nothing for bufferbloat.

              1 Reply Last reply Reply Quote 0
              • w0wW
                w0w
                last edited by

                Can you post the full output of```
                ipfw sched show

                1 Reply Last reply Reply Quote 0
                • M
                  moscato359
                  last edited by

                  I'd like to look at implementing this, but I was wondering

                  Anyone know the status of pfsync + limiters?

                  1 Reply Last reply Reply Quote 0
                  • w0wW
                    w0w
                    last edited by

                    @moscato359:

                    I'd like to look at implementing this, but I was wondering

                    Anyone know the status of pfsync + limiters?

                    What was the last status you know?  :D

                    1 Reply Last reply Reply Quote 0
                    • M
                      moscato359
                      last edited by

                      The last status I know is that the pfsense book says not to use pfsync and limiters together, but doesn't explain why

                      1 Reply Last reply Reply Quote 0
                      • w0wW
                        w0w
                        last edited by

                        @moscato359:

                        The last status I know is that the pfsense book says not to use pfsync and limiters together, but doesn't explain why

                        This is actual. https://redmine.pfsense.org/issues/4310 have 0% progress.

                        1 Reply Last reply Reply Quote 0
                        • M
                          moscato359
                          last edited by

                          @w0w:

                          @moscato359:

                          The last status I know is that the pfsense book says not to use pfsync and limiters together, but doesn't explain why

                          This is actual. https://redmine.pfsense.org/issues/4310 have 0% progress.

                          D=

                          1 Reply Last reply Reply Quote 0
                          • M
                            moscato359
                            last edited by

                            Is there any chance fq_codel will make it into the 2.4 GUI in limiters?

                            1 Reply Last reply Reply Quote 0
                            • w0wW
                              w0w
                              last edited by

                              Definitely not!
                              They are keeping eyes on it, but currently no plans, no moves, AFAIK.

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

                                Darn.  I'm thinking about switching back to pfSense but I really want fq_codel.

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

                                  fq_codel, the ZFS of AQMs, or nearly. Cake aims to be the "ZFS", but close enough.

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

                                    Is the command of "ipfw sched 1 config pipe 1 type fq_codel && ipfw sched 2 config pipe 2 type fq_codel" the same if I only have 2 root limiters?  Both of them are root limiters one has a mask of source and the other has a mask of destination.

                                    I would like to try this out but wondering if the command is different for just root limiters without "child" queues.  Obviously I am highly dependent on the gui I am a bit confused with the ipfw command since it references both sched and pipe.

                                    Thanks for any reply!

                                    1 Reply Last reply Reply Quote 0
                                    • w0wW
                                      w0w
                                      last edited by

                                      TS sample is for the root limiters also, if you have  some troubles understanding, post the content of your /tmp/rules.limiter

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

                                        here is the content of my /tmp/rules.limiter

                                        pipe 1 config  bw 100Mb mask dst-ip6 /128 dst-ip 0xffffffff

                                        pipe 2 config  bw 10Mb mask src-ip6 /128 src-ip 0xffffffff

                                        I need help with the ipfw command to enable fq_codel on pipes 1 and 2 because i don't have any child queues.

                                        thanks in advance

                                        1 Reply Last reply Reply Quote 0
                                        • w0wW
                                          w0w
                                          last edited by

                                          According to documentation posted in this thread you need to configure sheduler at least to make things work.

                                          
                                          pipe 1 config bw 100Mb mask dst-ip6 /128 dst-ip 0xffffffff
                                          sched 1 config pipe 1 type fq_codel 
                                          
                                          pipe 2 config bw 10Mb mask src-ip6 /128 src-ip 0xffffffff
                                          sched 2 config pipe 2 type fq_codel
                                          
                                          

                                          EDIT:
                                          Tested, it will not work. You need to configure child queues and use them in ruleset, exactly as described by TS. Default automatically created pipe queue always uses FIFO sheduler and I am not sure it is possible to change this.

                                          So after changes made in GUI also, you must edit and create your own rules.limiter that should look like this.

                                          
                                          pipe 1 config bw 100Mb 
                                          sched 1 config pipe 1 type fq_codel
                                          queue 1 config pipe 1 mask dst-ip6 /128 dst-ip 0xffffffff
                                          
                                          pipe 2 config bw 10Mb mask 
                                          sched 2 config pipe 2 type fq_codel
                                          queue 2 config pipe 2 mask src-ip6 /128 src-ip 0xffffffff
                                          
                                          

                                          So the right answer is no you can not shape with fq_codel using only root limiters.

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

                                            Thats really too bad.  We use PFsense primarily to "specify bandwidth limits per host." for a small ISP.

                                            I really wish I could find a way to limit a subnet to say 100Mbs and then limit each ip host address in the subnet to 5 Mbs.  And then have each IP address dynamically shaped if the overall link was approaching the 100Mbs total.

                                            Is it possible to combine and use ALTQ and Dummynet at the same time?  Has anyone tried that or have a config example?

                                            I guess I could use limiters on 2 PFsense boxes.  First one limiting each host to 5 Mbps using limiters with a destination/source mask.  And the second limiting the entire subnet to 100Mbs using limiters without a mask and changing the type from WF2Q+ to FQ_Codel by issuing the command "ipfw pipe 1 config bw 100Mb type fq_codel"

                                            I hope thats not too confusing.  Anyone have a more eloquent way of trying this?

                                            As always, thank you for any reply.

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