No idea, not really an expert on Linux traffic classification (which is why I don't make any change to Asus's QoS implementation). Keep in mind that traffic will get classified in the lowest class only if there is no higher priority traffic requiring the bandwidth. The rest of the time it will still use the full bandwidth available. It works as a QoS, not as bandwidth throttler.
Hmm...that doesnt reflect the behavior I'm seeing. The upload limit on your FW seems like a hard bandwidth limit any time there's any other higher priority traffic.
I tried a few other things. On a 100/35 connection, to be more specific. Limited all ingoing and outgoing bandwidth in every class to 10%, and set the PC to highest. There should be no other higher priority traffic in or out, so the way you describe, it should take 100% of the bandwidth in both directions...in this case, download is throttled to 30mbps incoming, but upload is the full 35.
Same conditions, all classes limited to 10% in/out, but setting the PC to low or lowest....same behavior as when it's set to highest, 30/35.
I tried changing the amount of bandwidth I claimed to have to 5mbps/5mbps, with no QoS rules at all. So it shouldn't be doing any prioritization, and even if it did, it should conform to the 10% in/out class limits anyway....and it measures at 1/35!
Then I tried changing my bandwidth to 100mbps both directions, set all bandwidth limits to 1%, no qos rules at all....and now I'm pulling 30/35.
It doesn't seem to make any sense at all! As far as I can tell, the upstream works exactly as you describe - full bandwidth with no other traffic, regardless of priority. The downstream OTOH, seems to be a hard B/W limit, but one thats completely broken. 10% of 100mbps should give me 10mbps, but I get 30mbps. 10% of 5mbps should give me 500kbps....but I get 1mbps.
I tested on both your F/W and the stock ASUS, and the results are exactly the same. So it looks like a ASUS bug...where would I go to report it?
Either way, I really don't need full blown qos with my BW, just a limiter to prevent total saturation. Is there a simpler way to achieve that on your FW?