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

    HFSC syntax & units

    Scheduled Pinned Locked Moved Traffic Shaping
    6 Posts 3 Posters 2.8k 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
      rjaco31
      last edited by

      Hi there,
      I read all the documentation I could find about configuring HFSC, and something is still bothering me.
      When considering the 3 parameters (m1,d,m2), I have a hard time grasping what unit I should use and on what it will actually act.

      From what I could understand, sometimes it says to put a percent and seems to act on the total bandwidth of the parent queue, sometimes it says to put a size and it will act for each packet, and sometimes it says to write a speed rate and I guessed it should act on a flow or connection. (at least those are my guesses considering what i read)

      But am I right about that? Is there any detailed documentation about this? I just don't understand if those (m1,m2) parameters act for packet, connection, or globally, and I really could not find an explicit answer to that. And that's the real point bothering me when I want to specify the delay. I'm just trying to enforce a <100ms delay on certain queues, but should I then just put my average packet size for m1?

      Thanks!

      1 Reply Last reply Reply Quote 0
      • A
        awesomo
        last edited by

        I know what you are saying, it took me a while to grasp the hfsc concepts. It just isn't that well documented and every guide i'd look it had conflicting information. I resorted to setting up multiple scenarios and seeing how it acted myself.

        Percentages are percentages of the bandwidth of the parent queue.

        "m1" is the rate given during "d" duration, when the duration has passed "m2" will be given until the flow ends. I too came across a post by Ermal stating m1 was packet size but everything else I have read and tested prove otherwise. I can see the connection burst to that m1 value then dial back.

        In your situation, your best bet is to use "realtime" ignore m1 and d and just specify the amount of bandwidth you need available to whatever traffic and set the priority to 7. It will send data out of that queue as fast as it can, always.

        1 Reply Last reply Reply Quote 0
        • R
          rjaco31
          last edited by

          The thing is, my situation could really use the whole "decouple delay and bandwidth" thing. And I'm in a live environment without that much space for testing.

          1 Reply Last reply Reply Quote 0
          • R
            rjaco31
            last edited by

            Ok nvm, I think i got it thanks to this post :
            http://forum.pfsense.org/index.php/topic,22885.msg117781.html#msg117781
            Putting a size or a rate should be exactly the same. The parameter d can be both for connection or packet depending of whether you went above that rate during that time.

            1 Reply Last reply Reply Quote 0
            • A
              awesomo
              last edited by

              Thanks for posting a followup. It's good to know it will work both ways.

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

                @awesomo:

                In your situation, your best bet is to use "realtime" ignore m1 and d and just specify the amount of bandwidth you need available to whatever traffic and set the priority to 7. It will send data out of that queue as fast as it can, always.

                I just wanted to point out that HSFC has no sense of Priority, the fact that there is a spot to specify priority is just a mistake in the GUI.

                HSFC just tries to share bandwidth fairly between all the queues.  Other than the realtime queue which gets it's bandwidth first, which you mentioned.

                It is my mission to make sure everyone knows that HSFC doesn't use priority. :)

                http://forum.pfsense.org/index.php/topic,42798.msg222507.html#msg222507

                Josh

                Hardware used: Alix 2D13 X 10, APU2D4 X 10, SG-2200 X 10, SG-2440 X 4

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