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

    Trafic shaping for Streaming to twitch as well as streaming Netflix/YouTube

    Scheduled Pinned Locked Moved Traffic Shaping
    38 Posts 8 Posters 8.3k 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.
    • C
      Chrismallia
      last edited by

      @belt9:

      fq_codel is not the same as codel. You can only implement it on dummynet and only via CLI. You just turn it on for everything and it will almost certainly solve your problem.

      Dude we for sure know what FQ_CODEL is  and that it is not codel, but the OP has to install 2.4 RC first and install it  from the command line, so it is not the supported way to advice yet till it is officially in pfsense

      1 Reply Last reply Reply Quote 0
      • C
        chrcoluk
        last edited by

        fq_codel I agree has a good chance of solving this, but if you not comfortable in doing all this in the cli, then try this.

        HSFC for downstream and make sure to give the queue handling netflix realtime bandwidth allocation enough for it to stream optimally.

        FairQ for upstream.

        Enable codel on all queues.

        By default the queue size is 50, in certain scenarios this may need to be increased for proper performance, if you increase do it in small chunks. so dont e.g. jump from 50 to 500. A larger queue makes it less likely for packet drops in that queue, and less likely to have packet ordering issues.  However it also increases the possibility of buffer bloat.

        There is also RED (random early detection), what this does is drop packets in a queue before the queue fills up, in anticipation of the queue filling up, the aim of this is to slow down throughput in that queue before it gets full.

        The issue I think is very likely in the upstream, since streaming is uploading, its likely affecting the ack's from the netflix downstream traffic, so downstream shaping may not have much of an impact.  Fairq+codel combo seems best for me on upstream on altq.  Make sure acks for downstream traffic are properly been allocated to the 'ack' queue on the upstream.

        pfSense CE 2.7.2

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

          @Chrismallia:

          @belt9:

          fq_codel is not the same as codel. You can only implement it on dummynet and only via CLI. You just turn it on for everything and it will almost certainly solve your problem.

          Dude we for sure know what FQ_CODEL is  and that it is not codel, but the OP has to install 2.4 RC first and install it  from the command line, so it is not the supported way to advice yet till it is officially in pfsense

          It is officially in pfSense…. You don't install it from the CLI, you just select it.

          1 Reply Last reply Reply Quote 0
          • T
            tman222
            last edited by

            @belt9:

            @Chrismallia:

            @belt9:

            fq_codel is not the same as codel. You can only implement it on dummynet and only via CLI. You just turn it on for everything and it will almost certainly solve your problem.

            Dude we for sure know what FQ_CODEL is  and that it is not codel, but the OP has to install 2.4 RC first and install it  from the command line, so it is not the supported way to advice yet till it is officially in pfsense

            It is officially in pfSense…. You don't install it from the CLI, you just select it.

            Just to clarify, did you mean fq_codel is officially in pfSense or just Codel - the latter yes I would agree, but if the former, where do you select it?

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

              You select it with ipfw

              ipfw sched 1 config pipe 1 type fq_codel
              

              So if you have dummynet setup with two pipes (up & down) and want to make fq_codel persistent, then in shellcmd ->

              ipfw sched 1 config pipe 1 type fq_codel && ipfw sched 2 config pipe 2 type fq_codel
              

              If you plug in a monitor on boot you'll see it load up fq_codel, no need to install anything at all, just select it on CLI, and if you want it to persist across reboots, use shellcmd.

              1 Reply Last reply Reply Quote 0
              • T
                tman222
                last edited by

                @belt9:

                You select it with ipfw

                ipfw sched 1 config pipe 1 type fq_codel
                

                So if you have dummynet setup with two pipes (up & down) and want to make fq_codel persistent, then in shellcmd ->

                ipfw sched 1 config pipe 1 type fq_codel && ipfw sched 2 config pipe 2 type fq_codel
                

                If you plug in a monitor on boot you'll see it load up fq_codel, no need to install anything at all, just select it on CLI, and if you want it to persist across reboots, use shellcmd.

                That makes sense - my apologies, I misunderstood your original post and thought you meant selecting fq_codel in the UI vs the CLI.

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

                  Oh gotya, no worries. Stilla CLI selection, I was just saying it's all preinstalled and ready to go, no additional repositories or sideloading stuff into pfSense.

                  1 Reply Last reply Reply Quote 0
                  • C
                    Chrismallia
                    last edited by

                    "It is officially in pfSense…. You don't install it from the CLI, you just select it."

                    You are spreading  miss information. FQ_codel is officially in BSD  not officially implanted in  pfsense, it wil be officially implanted in pfsense when the pf team enable it and you can select it from the gui not playing around in cli.

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

                      Right, well it officially works. But sure, if nothing's official to you unless there's a box to check in a gui then by all means it isn't official.  ::)

                      1 Reply Last reply Reply Quote 0
                      • C
                        Chrismallia
                        last edited by

                        "if nothing's official to you unless there's a box to check in a gui then by all means it isn't official.  ::)"

                        Exactly. if it was fully official pfsense devs would have put in the checkbox. hekk 2.4 is not even  official release yet.    Oh and keep hitting the smite as much as you like two can play that game lol if you cant have a simple conversation you should get a real smite  lol

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

                          You keep on ignoring features unless someone builds a GUI box for you.

                          fq_codel is still the solution to this problem, and it is part of pfSense 2.4 - and it works, and it's easier to setup than ALTQ for this problem, and it's more effective.

                          1 Reply Last reply Reply Quote 0
                          • C
                            Chrismallia
                            last edited by

                            @belt9:

                            You keep on ignoring features unless someone builds a GUI box for you.

                            fq_codel is still the solution to this problem, and it is part of pfSense 2.4 - and it works, and it's easier to setup than ALTQ for this problem, and it's more effective.

                            Thats not what I was saying, infect I used the cli also, all i said is that we know what fq_codel is and we know what  it can do and it solves most of the problems and yes  if the OP uses fq_codel his problems might be over, all I said is thet till 2.4 is fully released and fq_ is implemented I do not think it is a good Idea to suggest playing around in the cli to maybe newer people to pfsense or traffic shaping. Oh and looks like we are going to start having some fun with the smite game if you want it will do it :)

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

                              it's just copy paste into shellcmd - that has a GUI! not "playing around with cli".

                              I would argue that it's a much better idea to simply pass along very simple instructions on how to solve a maybe newer users problem with the appropriate tool, rather than suggesting they do a complicated workaround with ALTQ / HFSC which few people really understand to begin with - just because it has a GUI.

                              Anyways, if OP would like any help either method just ask.

                              1 Reply Last reply Reply Quote 0
                              • C
                                Chrismallia
                                last edited by

                                "I would argue that it's a much better idea to simply pass along very simple instructions on how to solve a maybe newer users problem with the appropriate tool, rather than suggesting they do a complicated workaround with ALTQ / HFSC which few people really understand to begin with - just because it has a GUI. "

                                Well everyone has his/her  opinion , but next time do not forget to tell them that  they have to install 2.4 RC  as you failed doing that

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

                                  You're right, that was my bad. I'll modify that post.

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

                                    I can pin a string in C# and modify the structure such that it thinks the size of the string is anything I want and can change the value of the string. I can "officially" change the value and length of strings.

                                    Just because you can't doesn't mean you should. fq_Codel technically working is an undefined implementation detail.

                                    1 Reply Last reply Reply Quote 0
                                    • bingo600B
                                      bingo600
                                      last edited by

                                      @Harvy66:

                                      Just because you can't doesn't mean you should. fq_Codel technically working is an undefined implementation detail.

                                      Would you care to elaborate on that please  ;)
                                      Are you saying that native FreeBSD queuing are undefined ?
                                      Or just not tested with pfSense ?

                                      I have installed the sudo package from the "BSD repos", because i saw a need for it.
                                      And still think it's ok to use the "right tool" for the job.

                                      But "fiddling under the hood" will of course VOID the warranty like everywhere else.

                                      /Bingo

                                      If you find my answer useful - Please give the post a 👍 - "thumbs up"

                                      pfSense+ 23.05.1 (ZFS)

                                      QOTOM-Q355G4 Quad Lan.
                                      CPU  : Core i5 5250U, Ram : 8GB Kingston DDR3LV 1600
                                      LAN  : 4 x Intel 211, Disk  : 240G SAMSUNG MZ7L3240HCHQ SSD

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

                                        I'm just saying, if my car lets me drive off a bridge, it doesn't mean that's an officially supported use of the vehicle. You take full responsibility for undocumented "features".

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

                                          Ok. I stated before that I am a noob.
                                          I also think that some are misunderstanding what I am meaning by streaming. Yes Netflix is a streaming service, but I am talking about streaming content from my computer to a website upstream ( to twitch.tv) as well as allowing streaming downstream (from netflix.com) at the same time. I am lost with the what you guys are calling dummynet and I do not fully understand what some of the names and acronyms stand for such as these:
                                          qInternet
                                          qACK
                                          qDefault
                                                            I understand what the words default and internet mean, i just do not know what their purposes are if that makes sense.

                                          If I understand this correctly, "q" stands for queue followed by what is in the queue for being shaped? What is qACK?
                                          I also have found that the higher the number in the priority list = the higher priority i.e. 7= highest priority, correct?

                                          I have the bandwidth percentages set kind of odd to me in the sense that it doesn't add up. If I have the bandwidth percentages adding up to 100% across all queues NOTHING works. So currently, most queues sit at about 5%-15% qGames is the highest at 30%.

                                          I really would like to figure this out and I am sorry that i cannot figure it out on my own. You guys have been very helpful so far. I just am having difficulty making sense of the language.
                                          Thank you in advance.

                                          pfsenseShaping3.png
                                          pfsenseShaping3.png_thumb

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

                                            @Harvy66:

                                            If it still doesn't work, use FairQ as your shaper, set your interface to 90% of your actual speed, have one queue on your interface, make sure it's the default and enable Codel on it.

                                            Where would I find FairQ in the wizard? I only get three options; HSFC CBQ and PRIQ

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