[LARTC] Strange behavior deleting filters

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


Patrick, tks for the info but I'm sure I got your idea.

A filter handle is something like: "804::800" right?

I've tried this (supose classes 1:1 and 1:2 exist):

tc filter add dev eth1 parent 1: protocol ip prio 1 handle ::10 u32 
match ip src 10.10.10.10 flowid 1:1
tc filter add dev eth1 parent 1: protocol ip prio 1 handle ::11 u32 
match ip src 10.10.10.11 flowid 1:2

and then:

tc filter del dev eth1 parent 1: protocol ip prio 1 handle ::11

but both filter are deleted...

Am I missing something?

tks a lot...

Andre



Patrick McHardy wrote:
> Andre Correa wrote:
> 
>>
>> 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.
> 
> 
> The kernel only regards priorities when deleting a filter without
> giving a handle. Use the handle if you want to delete a specific filter.
> 
> Regards,
> Patricky
> 
> 
>