Thank you Dave! I am playing around with this setup: server -- delay -- isp -- mbox -- client delay: tc qdisc replace dev ${host}.l root netem delay 50ms limit 100000 tc qdisc replace dev ${host}.r root netem delay 50ms limit 100000 isp: tc qdisc replace dev ${host}.l root handle 1:0 netem rate 900mbit limit 100000 tc qdisc replace dev ${host}.r root handle 1:0 netem rate 900mbit limit 100000 tc qdisc replace dev ${host}.r parent 1:1 handle 10:1 bfifo limit 1024k I played with mbox's qdiscs (3 variations). mbox: tc qdisc replace dev ${host}.l root cake bandwidth 890mbit tc qdisc replace dev ${host}.r root cake bandwidth 890mbit mbox: tc qdisc replace dev ${host}.l root codel tc qdisc replace dev ${host}.r root codel mbox: tc qdisc replace dev ${host}.l root fq maxrate 890mbit tc qdisc replace dev ${host}.r root fq maxrate 890mbit rrul_be_nflows, 32 upstream, 32 downstream. In every case cake wins. George