Why all this complexity? Conceptually, this can be expressed as: # tc2 -s 1.2.3.4 -o eth1 5mbit/s # tc2 -s 1.2.3.5 -o eth1 1mbit/s Sadly it turns out that more parameters are needed, but let's see if we can do a better job.