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.
    • R
      Ricardox @mikekoke
      last edited by

      @mikekoke Sorry my English, I play without problems with these settings, stable ping + or - 2ms of variation.

      Imagem -1.png Imagem -2.jpg

      1 Reply Last reply Reply Quote 0
      • R
        Ricardox @mikekoke
        last edited by

        @mikekoke My result

        Imagem -3.jpg

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

          Hi, thanks for the reply, but i have already tried to enable those two settings and the result does not change.
          By doing the test on dslreports with the configuration shown in the screenshots i get three A + but if i download a game and at the same time i ping 8.8.8.8 the latency increases from 10 to 50 ms.

          R 1 Reply Last reply Reply Quote 1
          • R
            Ricardox @mikekoke
            last edited by

            @mikekoke I did the download test and I didn't have this problem.

            imagem.jpg

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

              When I did my tests I ran multiple downloads simultaneously to saturate the band.

              R F 2 Replies Last reply Reply Quote 0
              • R
                Ricardox @mikekoke
                last edited by Ricardox

                @mikekoke Mystery.

                1 Reply Last reply Reply Quote 0
                • D
                  dtaht
                  last edited by

                  when you say "downloading a game" do you mean, steam? Steam really abuses the network, opening 10 or more full rate flows, and even with cake, it's hard to beat them down.

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

                    Yes, Steam.
                    I'll try doing normal downloads.
                    Would the best settings be Tail Drop, FQ_Codel, Queue length at 10000 and ECN both on download and on upload or only on download? I read that the ECN annoys the upload.
                    The Queues of both on Tail Drop but without ECN and Queue length?
                    Sorry for the questions but I have read the discussion and there are many opinions on the matter.

                    1 Reply Last reply Reply Quote 0
                    • P
                      Pentangle
                      last edited by

                      Does it still give the same issue when you reduce the headline bandwidth you have set in the limiters?

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

                        Yes, even if the bandwidth is reduced, the ping increases the same.

                        R 2 Replies Last reply Reply Quote 0
                        • R
                          Ricardox @mikekoke
                          last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • R
                            Ricardox @mikekoke
                            last edited by Ricardox

                            @mikekoke Follow this tutorial that works great!Imagem-2.jpg Imagem-1.jpg

                            1 Reply Last reply Reply Quote 0
                            • F
                              fiddlybytes @mikekoke
                              last edited by fiddlybytes

                              @mikekoke

                              Have you tried changing the quantum to < 536 or 300?, I have had better success at these packet size quantums.
                              Albeit TCP suffers a bit with a 300 quantum.

                              Also had more success with fq_pie with 300 quantum.

                              @ dev - fq_pie needs an area in the gui to change the quantum ,pls .

                              I also run fq_pie lan parents for voip and gaming with greater weights given to the udp in addition to the wan
                              pipes.

                              I still cant figure out why pfsense wont perform as well with udp packets as a linux router does with QOS/cake on
                              without quantum changes ?.

                              Edit ;
                              In testing I have found layer 3 tunnel,gre or openvpn works much better and avoids the tcp overhead,you wont notice as much fluctuation,even with the wan pipes setup as standard for voip and udp games.During full saturation of the pipe the voip and game jitter hardly varies from a no tcp load scenario. This shoudlnt have to be done but works better than cake,pie or fq_codel.

                              Note ;If you try the openvpn method you will need to change the nat and firewall rules for udp to point through the vpn gateway.

                              1 Reply Last reply Reply Quote 0
                              • timtraceT
                                timtrace @uptownVagrant
                                last edited by timtrace

                                Assume that I've correctly implemented everything in @uptownVagrant's post #815. It works (splendidly). Thanks for the good instructions, man.

                                Then, because I have a second physical WAN interface and public IP for my captive portal (working perfectly for several months), let's say I do everything again in parallel - unique limiters, unique queues, and unique rules #3 & 4, setting rule #4's gateway to the captive portal WAN interface.

                                The LAN still works, but when tested, the captive portal won't do more than 1/4 of the available upload bandwidth.

                                Anyone feel like helping a brother out with a W.A.G. as to why this might be happening?

                                1 Reply Last reply Reply Quote 0
                                • O
                                  OffstageRoller
                                  last edited by OffstageRoller

                                  Thank you so much to everyone in this thread who has helped in testing, and especially to @uptownVagrant for putting in as much time as they have to help the all of us. This has been working well on my network and I'm very much appreciate this massive thread.

                                  I would like to take this one step further and tie this into bandwidth limits for certain VLAN's of mine. Specifically, I'd like to limit bandwidth in both my IoT network and my guest network.

                                  In an ideal scenario, this FQ CoDel rule would cover the entire WAN interface including the Guest and IoT VLAN (which it already does), but then I can set a second child limiter that only limits the bandwidth for specific interfaces. This way there's a single up queue and a single down queue for the entire WAN, but certain VLAN's have an additional restriction on their bandwidth.

                                  What would be the best way to have a single queue as discussed here, but also have bandwidth limits on specific interfaces/VLAN's?

                                  1 Reply Last reply Reply Quote 0
                                  • Q
                                    q54e3w
                                    last edited by q54e3w

                                    Ive noticed my internally hosted services (matrix synapse, seafile etc) that sit behind Traffic reverse proxy have stopped working since implementing traffic shaping as per the recommendations in this thread.
                                    I narrowed the cause down to the application of queues to my inbound WAN port forwards
                                    Clients connecting inbound via Cloudflare report a '522' error (unable to reach the origin web server and the request times out).
                                    I've checked the in/out limiters are applied to the relevant in/out pipe and they appear correct, as in a mirror of the regular outbound rules on internal subnets
                                    The only noticeable difference is my firewall rule is applied on the WAN interface, not the floating rules as per @uptownVagrant
                                    Would be happy to receive guidance on how to debug this issue.

                                    EDIT: With no limiters applied I see traffic hitting my Traefik proxy

                                    176.126.xxx.xxx - - [28/May/2020:14:07:06 +0000] "PUT /_matrix/federation/v1/send/159066 HTTP/1.1" 200 12 "-" "-" 33895 "matrix@file" "http://192.168.90.20:80" 19ms
                                    

                                    with limiters applied, these accesses aren't visible so it appears that pfSense isn't actually forwarding the request.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      daemonix
                                      last edited by daemonix

                                      Following the steps below I have a question!

                                      1. Whats the difference between Queue Management Algorithm = Tail Drop vs CoDel?
                                      2. Even though on the limiter with "Tail Drop" its allowed to have active ECN. On the queue with Tail Drop its not allowed to use ECN. Is generally Tail Drop better? With or without ENC? I could not find anything in the pfsense book.

                                      Thanks!

                                      1.) Create "Out" limiter
                                      
                                      Tick "Enable"
                                      Name: FQ_CODEL_OUT
                                      Bandwidth: 96907 Kbit/s
                                      Mask: None
                                      Queue Management Algorithm: Tail Drop
                                      Scheduler: FQ_CODEL
                                      target: 5
                                      interval: 100
                                      quantum: 300
                                      limit: 10240
                                      flows: 20480 
                                      Click Save/Apply Changes
                                      2.) Add "Out" queue
                                      
                                      Tick "Enable"
                                      Name: fq_codel_out_q
                                      Mask: None
                                      Queue Management Algorithm: Tail Drop
                                      Click Save/Apply Changes
                                      3.) Create "In" limiter
                                      
                                      Tick "Enable"
                                      Name: FQ_CODEL_IN
                                      Bandwidth: 83886 Kbit/s
                                      Mask: None
                                      Queue Management Algorithm: Tail Drop
                                      Scheduler: FQ_CODEL
                                      target: 5
                                      interval: 100
                                      quantum: 300
                                      limit: 10240
                                      flows: 20480 
                                      Click Save/Apply Changes
                                      4.) Add "In" queue
                                      
                                      Tick "Enable"
                                      Name: fq_codel_in_q
                                      Mask: None
                                      Queue Management Algorithm: Tail Drop
                                      Click Save/Apply Changes
                                      
                                      provelsP 1 Reply Last reply Reply Quote 0
                                      • provelsP
                                        provels @daemonix
                                        last edited by

                                        @daemonix I don't really know but I tried both and neither helped me any so I gave up. So just try and test and try again.

                                        Peder

                                        MAIN - pfSense+ 24.11-RELEASE - Adlink MXE-5401, i7, 16 GB RAM, 64 GB SSD. 500 GB HDD for SyslogNG
                                        BACKUP - pfSense+ 23.01-RELEASE - Hyper-V Virtual Machine, Gen 1, 2 v-CPUs, 3 GB RAM, 8GB VHDX (Dynamic)

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          daemonix @provels
                                          last edited by daemonix

                                          @provels for me tail drop seems to give me stable low RRT.... CoDel is a bit erratic... this is weird as reading this paper makes me think different. Evaluation of the Impact of Packet Drops due to AQM over Capacity Limited Paths

                                          Any ideas from the experts?

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            bobbenheim @daemonix
                                            last edited by

                                            @daemonix that paper has no relation to queue management with fq-codel in Pfsense, it compares different algorithms.
                                            I have no clue what codel does if chosen as queue management under fq-codel, but i would just use drop tail as that is how fq-codel should react when latency increases, i.e. it should drop packets in large queues to keep latency low.

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