Mikrtik RouterOS isn't really a "one command" system. The design of it makes it (in my option) the most flexible and powerful routers available. That said...
The script is fairly simple - though it looks complicated.
First you have some basic definitions. You tell it the name of your WAN interface (mine are wan0 and wan1). Then you tell it what the upload bandwidth of that connection is. (mine is 4M or 4200k) From there it starts working - First thing is it creates the mangle rules. These rules look at each packet, find the DSCP value, and then mark that packet with a tag that RouterOS understands. Next it creates the queue tree. Here is where the "work" gets done. It creates the Interface queue, then 8 child queues for each of the 8 DSCP classifications. Then it creates 8 child queues for each of those 8 classification queues. Each of those are assigned a DSCP code from 0 to 64. Those queues will look for the packet marks and drop the packet into the correct queue.
I'm sure MikroTik could have made it a simple "turn on DSCP", but then you would have half of the users complaining that they took away functionality and the other half saying they did it wrong.
![Smile :)](./images/smilies/icon_smile.gif)
For me, I'm find with this way, because I have a lot more control over things.
In the other thread, you can see another option, which is to just use the "3 more significant bits" of DSCP. This simplifies the mangle rules and queue tree and more closely resembles how HP handles QoS on their 19xx switches. It gives you 8 queues instead of 64 - leaving you with just the DSCP classification. it works, and is probably better on low end hardware, but you lose the fine-grained control. In other words, the router would not see a difference between dscp 0 and dscp 7. But, you have a lower CPU load.
Something to remember with MikroTik - when you use the FastTrack function in the firewall, connections that are "fast tracked" will NOT pass through the queues.