m0n0wall (a liveCD FreeBSD based distribution for firewalling and routing purposes) is at today the simplies and cheapest way to have one or more routers in a virtual infrastructure: just download the ISO, prepare a virtual blank (and formatted) floppy for configuration storing, configure it with the neat PHP webGUI, and go on.
One of the most powerful and wanted features m0n0wall provides is traffic shaping: with the new pb24 release you can handle multiple traffic shaping rules (top-down architecture), pipes and queues.
To better undestand queues rules power take a look at relative FAQ.
I tried many linux distro but nothing is comparable with m0n0wall (I just wait for RIP/OSPF support somedays…). Thanks Manuel!