Hi all, The script below works partially. Please help me figure out why. What happen is this: 1. Split eth0 into 2 classes; Sales and Engine. --> depth 1 2. Split further Sales into 2 classes; SalesMan and SalesManager. --> depth2 3. Run the script. 4. TC to depth 1 Engine works. Limited bandwidth. 5. TC to depth 2 Sales DOESN'T work. Gets all the bandwidth. Apparently, after further test, it shows that once I split more than once, traffic control breaks down. I hope you can help me figure out if my script is missing something... or that is it a bug in the code itself?? Regards, Rick Goh. ************************************************ #!/bin/sh # # Startup script for Linux Traffic Control # device="eth0" total="1Mbit" sales="500Kbit" engine="500Kbit" sales_man="100Kbit" sales_manager="400Kbit" ip_salesman="192.168.1.10" ip_salesmanager="192.168.1.20" ip_engine="192.168.1.30" #Del qdisc to eth0 tc qdisc del dev $device root handle 1: #Attach qdisc to eth0 and 2 different class; sales & engine --> depth 1 tc qdisc add dev $device root handle 1: cbq bandwidth $total avpkt 1000 tc class add dev $device parent 1:0 classid 1:1 cbq bandwidth $total \ rate $total allot 1514 weight 100Kbit prio 8 maxburst 20 avpkt 1000 tc class add dev $device parent 1:1 classid 1:10 cbq bandwidth $total \ rate $sales allot 1514 weight 50Kbit prio 3 maxburst 20 avpkt 1000 bounded tc class add dev $device parent 1:1 classid 1:20 cbq bandwidth $total \ rate $engine allot 1514 weight 50Kbit prio 7 maxburst 20 avpkt 1000 bounded ###New qdisc for Sales --> depth 2 tc qdisc add dev $device parent 1:10 handle 10: cbq bandwidth $sales avpkt 1000 ###2 classes for Sales tc class add dev $device parent 10:0 classid 10:1 cbq bandwidth $sales \ rate $sales allot 1514 weight 50Kbit prio 6 maxburst 20 avpkt 1000 tc class add dev $device parent 10:1 classid 10:2 cbq bandwidth $sales \ rate $sales_man allot 1514 weight 10Kbit prio 2 maxburst 20 avpkt 1000 tc class add dev $device parent 10:1 classid 10:3 cbq bandwidth $sales \ rate $sales_manager allot 1514 weight 40Kbit prio 1 maxburst 20 avpkt 1000 #############FILTER############ # Depth 1 tc filter add dev $device parent 1:0 protocol ip prio 25 u32 match \ ip dst $ip_engine flowid 1:20 # Depth 2 tc filter add dev $device parent 10:0 protocol ip prio 25 u32 match \ ip dst $ip_salesman flowid 10:2 tc filter add dev $device parent 10:0 protocol ip prio 100 u32 match \ ip dst $ip_salesmanager flowid 10:3