$DEV = "dev eth1"

tc qdisc add $DEV root handle 10: cbq bandwidth 100Mbit avpkt 1000
tc class add $DEV parent 10:0 classid 10:1 cbq bandwidth 280Kbit rate 
   280Kbit allot 1514 weight 20Kbit prio 8 maxburst 20 avpkt 1000
tc class add $DEV parent 10:1 classid 10:100 cbq bandwidth 1Kbit rate 
   1Kbit allot 1514 weight 1Kbit prio 3 maxburst 20 avpkt 1000 bounded
tc class add $DEV parent 10:1 classid 10:200 cbq bandwidth 4Kbit rate 
   4Kbit allot 1514 weight 4Kbit prio 3 maxburst 20 avpkt 1000 bounded
tc qdisc add $DEV parent 10:100 sfq quantum 1514b perturb 15
tc qdisc add $DEV parent 10:200 sfq quantum 1514b perturb 15
tc filter add $DEV protocol ip parent 10:0 prio 20 handle 1 fw classid 10:100
tc filter add $DEV protocol ip parent 10:0 prio 20 handle 2 fw classid 10:200

markierung der packete:
any -> www mark 1: id 10:100 (outgoing)
www -> any mark 2: id 10:200 (incoming)

mit
tc -s class show $DEV
ueberpruefen

dieses cbq setup versteht unter bandwith 1Kbit in etwa 5000Bytes/sec.


UPDATE: Ich empfehle dringend die Verwendung von cbq.init (das hier ist die debian variante). Alles was man wissen muss steht da drin. Paar kernelmodule sollten halt geladen sein ;o)