Queue Tree for Traffic based Bandwidth management

Hi,

I am planning on setting up a queue that will allow Bittorrent (utorrent) to use up all free bandwidth without preventing browsing and streaming from running full blast when they are used

I have read the wiki and the v2.9 documentation (http://www.mikrotik.com/testdocs/ros/2.9/root/queue.php, http://www.mikrotik.com/testdocs/ros/2.9/ip/mangle.php) since the wiki is extremely thin.

From what I understand I have to set up an HTB queue tree made up of PCQ’s for each traffic type (maybe PiPo for the lower queues, i’ll fiddle later):

Please correct me if this is wrong.

However a LOT of things are not made clear:

  • When using mangle to mark a packet: can a packet have more than 1 mark? Does the mark get overwritten immediately or will it first trigger all rules that need that mark and then get overwritten?
  • How do u define an ‘inner class’ as specified in the documentation as only ‘leaf classes’ may contain packets?
  • What happens to the original queue hierarchy when you overwrite it? (Since, i’m assuming, the interface queues are children of global-in and global-out) ???
  • Where is a list of the standardized Layer7 definitions? The best I could find is http://wiki.mikrotik.com/wiki/Basic_traffic_shaping_based_on_layer-7_protocols which has a link stating it got the definitions from http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/L7 which it clearly didn’t.