I'm sorry, I forget that you use masquerade so it makes src 10.0.5.2 will not appear in the outgoing packet. So this is the correct your outgoing script: ipchains -A forward -s 10.0.5.0/24 -j MASQ -m 0x1 tc qdisc add dev eth0 root handle 2:0 cbq bandwidth 256Kbit avpkt 1000 \ cell 8 tc class add dev eth0 parent 2:0 classid 2:1 cbq bandwidth 256Kbit rate \ 256Kbit weight 20Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 tc class add dev eth0 parent 2:1 classid 2:10 cbq bandwidth 256Kbit rate \ 64Kbit weight 6Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded tc qdisc add dev eth0 parent 2:10 tbf rate 64Kbit buffer 10Kb/8 limit \ 15Kb mtu 1500 tc filter add dev eth0 parent 2:0 protocol ip prio 100 handle 1 fw classid 2:10 > But when I try to limit the incoming traffic I still have the same problem > that it does not limit. And I still doesn't know why. I used your and my > script and everything happens like there is no shaper... > The outgoing traffic script is: > > tc qdisc add dev eth0 root handle 2:0 cbq bandwidth 256Kbit avpkt 1000 \ > cell 8 > > tc class add dev eth0 parent 2:0 classid 2:1 cbq bandwidth 256Kbit rate \ > 256Kbit weight 20Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 > > tc class add dev eth0 parent 2:1 classid 2:10 cbq bandwidth 256Kbit rate \ > 64Kbit weight 6Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 > bounded > > tc qdisc add dev eth0 parent 2:10 tbf rate 64Kbit buffer 10Kb/8 limit \ > 15Kb mtu 1500 > > tc filter add dev eth0 parent 2:0 protocol ip prio 100 u32 match ip src \ > 10.0.5.2 flowid 2:10 > > But, thanx a lot... > > Bruno