1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

QOS - Strict Rule Ordering

Discussion in 'Tomato Firmware' started by adlerfra, Jul 24, 2007.

  1. adlerfra

    adlerfra LI Guru Member

    Please let me know if my thinking is correct.

    If Strict Rule Ordering is enabled, then QOS priorities are determined only by the ordering top (highest priority) to bottom (lowest priority) of the rules listed in the Classification table. Assigning Highest, High, Medium, Low etc. to a rule will then specify only the bandwidth min/max rather than a priority. So, for example, if a rule is listed at the top and assigned as Lowest, it will be assigned a higher priority (but a lower bandwidth) than a rule below it that is assigned Highest.

    Conversely, if Strict Rule ordering is not enabled, then the order of the rules in the Classification Table does not matter. In this case both bandwidth and QOS priorities are determined by the assigned classification (Highest, High, Medium , etc.) assigned to the rule. So, for example, if a rule is listed at the top and assigned as Lowest it will be assigned a lower priority (with lower bandwidth) than a rule below it that is assigned Highest.
  2. ifican

    ifican Network Guru Member

    My interpretations of how that reads is enabled, strict rule ordering works just like an access list and reads the rules 1 at a time from top to bottom no matter what the classification is. If you have a low rule set to 1 and all high rules after that, it will read the low rule first then the high rules not stopping until it finds a match. Conversely, if strict rule ordering is disable, then i believe it filters first on high, then medium, then low, no matter what the rule number is.
  3. adlerfra

    adlerfra LI Guru Member

    It seems we both agree on how it works.
  4. ifican

    ifican Network Guru Member

    I just reread yours again, yes i have to agree that we agree, though i like your explanation better :)
  5. mraneri

    mraneri LI Guru Member

    The WIKI says....
    So, when Strict Rule Ordering is CHECKED, it acts exactly as you describe. When it's NOT checked, it does NOT use Bandwidth class, it uses "intelligent" rules rather than port/MAC rules FIRST.
  6. adlerfra

    adlerfra LI Guru Member

    It is confusing (to me) the way the Wiki describes QOS behavior when Strict Rule Ordering is unchecked. It makes no mention of the various classifications (Highest, High, Low, Lowest) and their role in prioritizing the rules. Are these classifications only bandwidth settings and have no role in prioritizing rules regardless of the Strict Rule Ordering setting?
  7. rcordorica

    rcordorica Network Guru Member

    Yes, I think you hit the nail on the head.

    Essentially unchecking Strict Rule Ordering means that IPP2P, L7, and KB-based rules are matched first, then port- and MAC-based matches are matched in a second pass. This provides much less control. I can't really think of a reason to not use Strict Rule Ordering.

    It's basically a question about latency management. What packets do you want to see get identified and acted on first?

    For me that's DNS, port 53. If I disable Strict Rule Ordering, then DNS takes a back seat to all my other more complicated, and slower, i.e. more latency, QoS filters.

    However, I still really can't think of a way to quantify and benchmark what effect QoS, L7 and IPP2P filters have on latency.
  8. GeeTek

    GeeTek Guest


    I remember reading something Jon wrote that explained exactly the difference between strict rule ordering and no rule ordering. With no strict rule ordering, the priorities were based on protocol type. Maybe it was in the readme file that comes with the firmware. I'll see if I can find it again.
  9. adlerfra

    adlerfra LI Guru Member

    I too would be interested to know of a reason why one would enable QOS with Strict Rule Ordering unchecked.
  10. ndoggac

    ndoggac Network Guru Member

    Did strict rule ordering disappear in the V1.19 Tomato? I can't find it anywhere?

Share This Page