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

    Floating rule for QoS and qACK?

    Scheduled Pinned Locked Moved Traffic Shaping
    20 Posts 4 Posters 11.0k 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.
    • D
      danswartz
      last edited by

      As I've posted before (to deafening silence), although the shaper wizard causes qACK to be created, it seems no traffic ever goes to said queue.  Looking at the rules, it's clear this is because nothing causes that to happen.  So, looking at the Advanced section for firewall rules, I see you can specify a queue or ackqueue/queue, default being nothing special.  So, I assume that if I set qACK/qDEFAULT on the LAN allow any rule I have, ACKs coming back from the internet will go to qACK, but that isn't really what I am interested in.  The question I have is: how do you get outbound ACKs to go to qACK?  It can't be by editing an existing rule, since the inbound packets I want to queue ACKs for are being allowed due to be replies to existing traffic flows :(  Sorry if this is known to everyone, but this all seems to have changed from 1.2.3 when it seemed to just work (as far as memory serves me.)  I have googled and looked on the pfsense doc site, but nothing seems to explain this.  The only idea I can think of is a floating rule that would say qACK/qDEFAULT or somesuch.  Any thoughts would be appreciated…

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

        Totally confused now.  While waiting for a reply vis-a-vis the floating rule, I did add qACK to the outbound LAN rule and started a big download, and with 9mb/sec inbound, I am seeing 200kb/sec outbound on qACK for the WAN.  WTH?

        1 Reply Last reply Reply Quote 0
        • F
          focalguy
          last edited by

          I'm sorry I don't really have an answer for you but I was just about to post my own question about the qACK. I'm seeing a lot of drops on mine and I"m not sure why. That would suggest that traffic is trying to get into that queue and I just followed the singleWAN-multiLAN wizard.

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

            Well, if you search this particular forum, you'll see more than one post where I've been asking if there is/are bug(s) with the shaper wizard, and have been met with deafening silence, so good luck :(

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

              So there is a qAck for the LAN and the WAN (at least thats what the wizard provided for me).  I agree with you that I never see traffic in the LAN qAck queue.  I dont have any rules setup that would put anything on that queue.

              However, I do have traffic in my WAN qAck queue.  I send my VoIP traffic to qAck and I send DNS traffic to qAck as an example.  If you look at the floating rule(s) made by the wizard, and scroll down to the bottom, expand the queue section.  The first pull down menu will allow you to select the WAN qAck queue.  The second drop down box will allow you to select the LAN queue you want to use.

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

                Ah, okay.  Well, none of this (AFAIK) is documented anywhere, and the default setup the wizard generates is broken, since it doesn't set that stuff up.

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

                  Agreed.

                  1 Reply Last reply Reply Quote 0
                  • F
                    focalguy
                    last edited by

                    @danswartz:

                    Ah, okay.  Well, none of this (AFAIK) is documented anywhere, and the default setup the wizard generates is broken, since it doesn't set that stuff up.

                    Which "stuff" does it not set up? Are you saying you needed to edit the rules for DNS and VoIP to get them using the qACK? I'm just trying to learn what I might need to do to get mine working better.

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

                      No, what I'm saying is that a vanilla wizard run create qACK, but never creates any rules that use it - as far as I can tell, anyway…

                      1 Reply Last reply Reply Quote 0
                      • F
                        focalguy
                        last edited by

                        My wizard run with single-WAN/Multi-LAN created a rule or two that use qACK. At least it looks that way to me…. Am I missing something?

                        DNSrule-ACK2.PNG
                        DNSrule-ACK2.PNG_thumb
                        DNSrule-ACK.PNG
                        DNSrule-ACK.PNG_thumb

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

                          Are you saying that dns rule was created automatically, including setting the queue/ackqueue fields?

                          1 Reply Last reply Reply Quote 0
                          • F
                            focalguy
                            last edited by

                            Yes. I did not create the rule. In the wizard, I did choose for DNS to have a "higher priority".

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

                              Okay, so you did have to do something though.  My complaint was this: prioritizing ACKs is a fairly typical thing for shapers to do, although not required, but if you are not setting anything at all, why does it bother creating the ACK queue at all?

                              1 Reply Last reply Reply Quote 0
                              • L
                                Liath.WW
                                last edited by

                                The wizard does assign traffic to the ACK queue.  The only thing that changed from 1.2.3 to 2.x is that now you manually assign it instead of it being automagically grabbing every single ACK.
                                I actually prefer 2.0's method, as I don't like p2p ACKs to end up in the ACK queue, cause I don't care about p2p and definitely don't want it to flood the queue and prevent more important traffic.

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

                                  Maybe we are having a disconnect here.  My point was that it does not assign said traffic by default.  There is no comment or documentation or anything else that says this, so some poor stupe who does a vanilla walk-thru of the wizard will get an ACK queue that never has traffic go to it.  There is also nothing I've been able to find that tells you how to make 'the right thing' happen.  So, it looks broken to the average guy who is used to it working out of the box in 1.2.3.  I guess we have a philosophical disagreement here - if you don't like the default behavior because you do P2P stuff, that's your call, and you can tweak the queues as you wish (IMO of course…)

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

                                    So tell me, how DO you 'manually assign traffic to the ACK queue'?  Keep in mind the ACKs most people care about are outbound ACKs which are in response to inbound TCP packets.  Most of the time those will be inbound TCP flows which are not handled by the normal inbound port forwarding and etc, but rather, response packets to outbound http get commands or whatever.  So, there is no inbound rule I can toggle the qACK on for, so… How does this work?  Again, I've looked at the doc.pfsense.org site and the traffic shaping guide for 2.0 is completely devoid of any useful information in this regard, which is what my complaint was in the first place.  I'm not a dummy, and it isn't obvious to me how this works...

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      Liath.WW
                                      last edited by

                                      It actually should have put in rules that had things such as "qACK / qHighPri" when you say, make HTTPS or something like that a higher priority.

                                      Least it did when I used the wizards last.

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        Liath.WW
                                        last edited by

                                        might be more an "ermal" question cause I'm still not 100% sure about how the shaper works yet, and yes, the wiki and other docs I've seen are either abysmally devoid of anything, or they're so over my head that I can't quite get what they're writing about.  Then again ermal is awesome, but tends to be over people's heads :P

                                        I'm not sure why you'd need a rule to shape inbound traffic, unless you're shaping traffic goign to a webserver LAN-side.  In which case, I'd think that the default HTTP/S rule would work, as I believe seeing it say soemthing like:
                                        Direction: Any
                                        Source: Any
                                        Destination: Any
                                        Port: HTTP(s)

                                        so that would work for both in and outbound traffic.

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

                                          You're missing my point.  By definition you don't need a rule for return traffic, and it's the ACKs for that return traffic I care about.  I guess it's fortunate this isn't a show stopper for me.  If I could get some kind of bridging VM appliance that sat between pfsense and the LAN, that was actually supported, I'd do so in a flash, but I don't, so I guess I deal with the lack of documentation or support.

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            Liath.WW
                                            last edited by

                                            Ahhhh
                                            I think I found out the issue that you're describing.  If you do not assign HTTP (or whatever) to a higher or lower priority queue, it is left to the default, which doesn't automagically assign ACKs, due to no rule being there.

                                            If you want that behavior though, the easiest way I've found is to create a rule on the floating tab, with something along these lines:
                                            Action:queue
                                            protocol: any
                                            source: any
                                            destination: any
                                            queue: qACK/qDefault

                                            Then, move this rule to the very top of the floating tab before all other rules.  All traffic will then have access to the ACK queue by default, and it will allow other assignments to change the traffic to another queue is needed.

                                            The bad news is that there will be an extra rule to process for each state.  Under light use, this won't be a problem, but when you get to heavy business rates, it could choke the CPU.

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