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

    Priority is missing

    Scheduled Pinned Locked Moved Traffic Shaping
    8 Posts 5 Posters 1.7k 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.
    • S
      slavikss
      last edited by

      Pfsense 2.1.2
      Traffic shaper was configured by wizard single lan/multiple wan.
      Why there is no priority?

      pfTop: Up Queue 1-22/22, View: queue, Cache: 10000
      
      QUEUE                             BW SCH  PRIO     PKTS    BYTES   DROP_P   DROP_B QLEN BORROW SUSPEN     P/S     B/S
      root_vtnet0                      23M hfsc    0        0        0        0        0    0                     0       0
       qACK                          4370K hfsc             0        0        0        0    0                     0       0
       qDefault                      2070K hfsc        155212  6518904        0        0    0                   1.0      41
       qP2P                           920K hfsc             0        0        0        0    0                     0       0
       qGames                        4370K hfsc             0        0        0        0    0                     0       0
       qOthersHigh                   2070K hfsc             0        0        0        0    0                     0       0
       qOthersLow                     460K hfsc             0        0        0        0    0                     0       0
      root_vtnet1                      70M hfsc    0        0        0        0        0    0                     0       0
       qACK                            13M hfsc             0        0        0        0    0                     0       0
       qDefault                      6300K hfsc        155215  6519030        0        0    0                   1.0      41
       qP2P                          2800K hfsc             0        0        0        0    0                     0       0
       qGames                          13M hfsc             0        0        0        0    0                     0       0
       qOthersHigh                   6300K hfsc             0        0        0        0    0                     0       0
       qOthersLow                    1400K hfsc             0        0        0        0    0                     0       0
      root_em0                       1000M hfsc    0        0        0        0        0    0                     0       0
       qLink                          200M hfsc          2504   948556        0        0    0                   0.6     497
       qInternet                      118M hfsc             0        0        0        0    0                     0       0
        qACK                           22M hfsc             0        0        0        0    0                     0       0
        qP2P                         4739K hfsc             0        0        0        0    0                     0       0
        qGames                         22M hfsc             0        0        0        0    0                     0       0
        qOthersHigh                    10M hfsc             0        0        0        0    0                     0       0
        qOthersLow                   2369K hfsc             0        0        0        0    0                     0       0
      
      

      pfctl -sq

      queue root_vtnet0 on vtnet0 bandwidth 23Mb priority 0 {qACK, qDefault, qP2P, qGames, qOthersHigh, qOthersLow}
      queue  qACK on vtnet0 bandwidth 4.37Mb hfsc( red ecn )
      queue  qDefault on vtnet0 bandwidth 2.07Mb hfsc( red ecn default )
      queue  qP2P on vtnet0 bandwidth 920Kb hfsc( red ecn upperlimit 920Kb )
      queue  qGames on vtnet0 bandwidth 4.37Mb hfsc( red ecn )
      queue  qOthersHigh on vtnet0 bandwidth 2.07Mb hfsc( red ecn )
      queue  qOthersLow on vtnet0 bandwidth 460Kb hfsc( red ecn )
      queue root_vtnet1 on vtnet1 bandwidth 70Mb priority 0 {qACK, qDefault, qP2P, qGames, qOthersHigh, qOthersLow}
      queue  qACK on vtnet1 bandwidth 13.30Mb hfsc( red ecn )
      queue  qDefault on vtnet1 bandwidth 6.30Mb hfsc( red ecn default )
      queue  qP2P on vtnet1 bandwidth 2.80Mb hfsc( red ecn upperlimit 2.80Mb )
      queue  qGames on vtnet1 bandwidth 13.30Mb hfsc( red ecn )
      queue  qOthersHigh on vtnet1 bandwidth 6.30Mb hfsc( red ecn )
      queue  qOthersLow on vtnet1 bandwidth 1.40Mb hfsc( red ecn )
      queue root_em0 on em0 bandwidth 1Gb priority 0 {qLink, qInternet}
      queue  qLink on em0 bandwidth 200Mb qlimit 500 hfsc( red ecn default )
      queue  qInternet on em0 bandwidth 118.49Mb hfsc( red ecn upperlimit 118.49Mb ) {qACK, qP2P, qGames, qOthersHigh, qOthersLow}
      queue   qACK on em0 bandwidth 22.51Mb hfsc( red ecn )
      queue   qP2P on em0 bandwidth 4.74Mb hfsc( red ecn upperlimit 4.74Mb )
      queue   qGames on em0 bandwidth 22.51Mb hfsc( red ecn )
      queue   qOthersHigh on em0 bandwidth 10.66Mb hfsc( red ecn )
      queue   qOthersLow on em0 bandwidth 2.37Mb hfsc( red ecn )
      
      
      1 Reply Last reply Reply Quote 0
      • S
        steve72
        last edited by

        Scheduler hfsc doesn't use priorities.

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

          Hi,

          If HFSC doesn't use priority, how then does it prioritize traffic if no real-time option is specified in the child queues?

          And if it doesn't really use the priority parameter, why does it exist in the UI? I did see a 2011 post saying the priority UI parameter in HFSC configuration screens is a bug and it should be removed.

          But this is really a very important confusing element.

          Thanks!
          pubmsu

          1 Reply Last reply Reply Quote 0
          • KOMK
            KOM
            last edited by

            From what I remember, the original HFSC spec didn't include priorities nor UL, just RT and LS.  Different implementations of the spec led to some using priorities and the introduction of UL.  If you child queues don't have any RT, then the service is defined by their LinkShare values, no?

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

              We definitely need a definitive answer for our community here.

              I found two good resources meanwhile:

              http://serverfault.com/questions/105014/does-anyone-really-understand-how-hfsc-scheduling-in-linux-bsd-works/462563#462563

              http://manpages.ubuntu.com/manpages/precise/man7/tc-hfsc.7.html

              1 Reply Last reply Reply Quote 0
              • jimpJ
                jimp Rebel Alliance Developer Netgate
                last edited by

                HFSC doesn't have priorities (PRIQ does, naturally, as does CBQ)

                It prioritizes based on the link share values/percentages and such. That's a bit of an oversimplification, but it's basically how it's done.

                If you want prioritization, PRIQ is by far the easiest type to use.

                The priority fields exist in the GUI because the GUI has to accommodate all types (HFSC, PRIQ, CBQ, etc) and the GUI could be a bit smarter about hiding irrelevant fields.

                Similarly, the PRIQ shaper type does not support bandwidth specifications, and yet the wizard and GUI still require them to be entered.

                Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                Need help fast? Netgate Global Support!

                Do not Chat/PM for help!

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

                  Thanks, jimp!

                  It'll certainly help all users to remove those unneeded fields from respective screens.

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

                    For the Priority field then, at least, there should be any other lable other than the following:

                    "For hfsc, the range is 0 to 7. The default is 1. Hfsc queues with a higher priority are preferred in the case of overload."

                    It could be just this label: "Priority does not apply for HFSC. Please keep it blank for HFSC"

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