Hi all, I''m working on a script that measures the incoming bandwidth and devides the traffic into different classes. First I mark all the incoming traffic with a firewall rule (fwmark = 1), then I use an ingress qdisc with some policers/filters to devide the traffic by setting the tc_index. I use the following script: tc qdisc add dev eth1 handle ffff: ingress tc filter add dev eth1 parent ffff: handle 1 protocol ip prio 1 estimator 1 2 fw police rate 0 burst 0 avrate 500bps continue flowid :28 tc filter add dev eth1 parent ffff: handle 1 protocol ip prio 2 estimator 1 2 fw police rate 0 burst 0 avrate 300bps continue flowid :30 tc filter add dev eth1 parent ffff: handle 1 protocol ip prio 3 estimator 1 2 fw police rate 0 burst 0 avrate 1bps drop flowid :50 This is the way I think it "should" work ;-) If the incoming traffic is below 500bps the tc_index gets the value 28. If the traffic is between 500bps and 800bps the tc_index gets the value of 30. Between 800bps and 801bps the tc_index is 50, above 801bps, all packets are dropped. The policing works just fine, all packets are sent to the correct filters. The only thing that does not work is the tc_index stuff. The tc_index is allways 0 instead of 28, 30 or (in some cases) 50. What''s going wrong here? thx, Jan