@FreshJR, is there something that can be done for downloads that recognized under "HTTP Protocol over TLS SSL" which is categorized as "Web" traffic. If I download anything through a browser, it gets recognized as such. Even downloading some files in MegaSync (megaupload download manager) is considered web traffic.
Having download traffic within Web Surfing (or anything mis-categorized) shouldn't the end of the world. The guaranteed rates per category should keep everything functioning.
All categories UNDERNEATH web surfing
will always get their guaranteed rate.
(The only issue with HTTPS downloads in "WebSurfing" would be that "WebSurfing" will be using all the excess bandwidth available, and non of that excess will be offered to the categories underneath it).
In your position, I would simply tweak the guaranteed bandwidths or lower the priority of websurfing if something not working to your liking and call it a day.
--
As for your original question.
Iptables is able to track bytes transferred per individual connections & you can re-assign a traffic mark based on this information into whatever you desire.
The iptable rule would be
Code:
#HTTPS
#This rule moves a connection marked as 0x8010 - 8017 into ${Downloads} when it transfers over 1mb.
-m mark --mark 0x80100000/0xc0380000 -m connbytes --connbytes 1024000 --connbytes-dir both --connbytes-mode bytes -j MARK --set-mark ${Downloads_mark_down}
Additionally you may be interested in this rule to move HTTP traffic away from WebSurfing. (some http CDN transfers are counted as Web Surfing)
Code:
#HTTP
#This rule moves a connection marked as 0x800d into ${Downloads} when it transfers over 1mb.
-m mark --mark 0x800d0000/0xc03f0000 -m connbytes --connbytes 1024000 --connbytes-dir both --connbytes-mode bytes -j MARK --set-mark ${Downloads_mark_down}
NOTE:
With HW acceleration on, only the first packet of every connection is parsed.
This means the connection would never be re-evaluated at a later point in time when it transfers more than 1MB so the iptable rule (sending it to downloads) would NEVER hit
With HW acceleration off, every individual packet passing through is parsed
Since the connection is continually evaluated, the connection will change categories after it transfers more than 1MB.