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