Hi everybody sorry for my poor english. My script doesn''t work very well I want to share bandwidth between 3 subnet (64k, 128k, 256k) if i put the flag bounded on the class root that''s doesn''t work bandwidth is not limited if i put the flag bounded on each class, all the subnet is limited by each rule: subnet 64 can''t use more than a total of 64k as it was 1 single user ... so i don''t know how to share 64k by user on subnet 64, 128k by user on subnet 128, 256k by user on subnet 254. What''s wrong with my script? thx a lot. Michael tc qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit avpkt 1000 cell 8 mpu 64 tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 100Mbit \ rate 100Mbit prio 1 allot 1514 weight 10Mbit cell 8 maxburst 20 avpkt 1000 tc class add dev eth0 parent 1:1 classid 1:2 cbq bandwidth 100Mbit \ rate 4Mbit prio 1 allot 1514 weight 400kbit cell 8 maxburst 20 avpkt 1000 bounded tc class add dev eth0 parent 1:2 classid 1:11 cbq bandwidth 100Mbit \ rate 64kbit prio 1 allot 1514 weight 6kbit cell 8 maxburst 20 \ avpkt 1000 tc class add dev eth0 parent 1:2 classid 1:12 cbq bandwidth 100Mbit \ rate 128kbit prio 1 allot 1514 weight 13kbit cell 8 maxburst 20 \ avpkt 1000 tc class add dev eth0 parent 1:2 classid 1:13 cbq bandwidth 100Mbit \ rate 256kbit prio 1 allot 1514 weight 26kbit cell 8 maxburst 20 \ avpkt 1000 tc filter add dev eth0 parent 1:0 prio 1 protocol ip u32 tc filter add dev eth0 parent 1:0 prio 1 handle 2: u32 divisor 256 j=0; while [ $j -le 255 ]; do hex=`echo "obase=16; $j" |bc` echo $hex; tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 ht 2:$hex: \ match ip src 172.16.64.$j flowid 1:11 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 ht 2:$hex: \ match ip src 172.16.128.$j flowid 1:12 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 ht 2:$hex: \ match ip src 172.16.254.$j flowid 1:13 j=$((j+1)) done tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 ht 800:: \ match ip src 172.16.0.0/16 \ hashkey mask 0x000000ff at 12 \ link 2: