Multipath/Reordering Reordering is caused by the existence of multiple paths between source and destination. So we implement multiple paths, and route packets to either one basing on some criteria (currently: random decision) ipfw pipe 1 config bw 2Mbit/s delay 80ms ipfw pipe 2 config bw 3Mbit/s delay 30ms ipfw pipe 3 config bw 1Mbit/s delay 100ms ipfw add 100 prob 0.33 pipe 1 tcp from me to any ipfw add 100 prob 0.5 pipe 2 tcp from me to any ipfw add 100 prob 1 pipe 3 tcp from me to any Each ipfw rule above matches with a given probability. If not match, go to the next rule. Very simple to implement, very simple to use, very close to reality.