[LARTC] Strange behavior deleting filters

Andre Correa andre.correa@pobox.com
Thu, 08 Jan 2004 14:17:35 -0200


Hi list, I'm playing with tc and found a strange behavior when I try to 
delete filters. For example, this simple scenario:

tc qdisc add dev eth1 root handle 1: htb default 100
tc class add dev eth1 parent 1: classid 1:1 htb rate 128Kbit
tc class add dev eth1 parent 1: classid 1:2 htb rate 258Kbit
tc class add dev eth1 parent 1: classid 1:100 htb rate 32Kbit
tc filter add dev eth1 parent 1: protocol ip prio 1 u32 match ip src 
10.10.10.20 match ip dst 63.63.63.63 flowid 1:1
tc filter add dev eth1 parent 1: protocol ip prio 1 u32 match ip src 
10.10.10.20 flowid 1:2

works just fine, but when I try to delete oen of the filters with 
something like this:

tc filter del dev eth1 parent 1: protocol ip prio 1 u32 match ip src 
10.10.10.20 flowid 1:2

both filters are deleted.

I've found a post from Dimitry V. Ketov in the kernel list on may/2003 
with a situation like this one, but there are no answers.

I'm using 2.4.23 and iptables 1.2.7a. Any clues what can be the cause? 
I'm suposed to be able to delete filters separately right? May it be a bug?

Deleting the whole qdisc is not an opition in my setup and trying to 
delete the parent class gives me a "device or resource busy" error 
because of the filters. tc class del doesn't seen to delete its "child" 
filter.

tks for any information...

Andre