I made some basic classes, 768, 512, 256, 128, etc. The default group is left at medium, then the other ones, are a High class. Then the classifiers are lowest setting towards the top.
In my case I wanted 1meg (default class) for up to 5megs transferred, then knocked down to 768 after 5megs, then down to 512 after 10, then 256 after 15, and 128 after 20. On the classifier, classifier 1 would be the 128k limit, set to all defaults when it comes up, but changed the L7 filter to “HTTP – Hypertext Transfer Protocol – RFC 2616”, then the “more or less” option is set to “more”, and set to “more than 20MB” as well, then the “Target Class” is set to 128. Then click confirm at the top. This will set anything using the HTTP L7 filter, that is transferred to more than 20MB gets knocked down to 128kbits/sec.
Next, I made another classifier, 2, that is sequence 2, L7 set to HTTP again, more than 15MB, target class of 256. Now anything over 15MB goes down to 256k, and if continues and goes to 20MB or more, then goes down to 128k.
Next I made another classifier, sequence 3, L7 set to HTTP again, more than 10MB transferred using HTTP, goes into the 512kbits/sec class. So, anything up to 10MB gets the default group of 1Meg, then knocked down to 512 after 10megs transferred, then down to 256 after 15megs, then down to 128 after 20megs.
And continue as needed. You can also set to things to say, after all those and the ip gets down to 128k after 20megs, make another classifier, 4 this time, that states anything using HTTP, that is more than 50megs transferred, goes to the 768k class. This way the connection actually goes back up to max 768, after 50megs. A neat way of going back to speed, so the download doesn’t take FOREVER. Then you could make another that goes to 128k again after 80megs transferred, at sequence 5.
The parallel connection option is pretty nice too. For people on the lan that have p2p running, and you don’t want to block all together (in the firewall section drop/reject all L7 equivilant sigs, and/or use the ipp2p section, I used both, L7=23 total sigs, ipp2p uses 1, for all 5 ipp2p sigs, total of 24 firewall rules) you can limit the total number concurrent/parallel connections to say 5, in the firewall section though, not the QoS section. This way, whatever L7 you want to match it will get no more than 5 concurrent connections, if after, you can drop/reject, or go to another chain, etc.
Pretty awesome/powerful stuff, thanks Fulvio, and again for MRTG!