Weighted Fair Queueing Pipes implement static bandwidth, but sometimes we want dynamic bandwidth sharing The answer is Weighted Fair Queueing: Decouple queue and pipe Each queue is assigned a weight Each queue gets a fraction of the bandwidth proportional to its weight Only queues with backlogged traffic compete for bandwidth ipfw pipe 10 config bw 2Mbit/s ipfw queue 1 config pipe 10 weight 50 ipfw queue 2 config pipe 10 weight 20 ipfw queue 3 config pipe 10 weight 1 ipfw add queue 1 tcp from me to any ssh ipfw add queue 1 udp from me to any 53 ipfw add queue 2 tcp from me to any 25 ipfw add queue 3 ip from me to any