Thread (7 messages) flat view 7 messages, 4 authors, 2015-08-25

Re: iproute2: Behavioural Bug?

From: Florian Westphal <fw@strlen.de>
Date: 2015-08-24 23:22:31

Akshat Kakkar [off-list ref] wrote:

[ CC Cong ]
When I am trying to delete a single tc filter (i.e. specifying its
handle), it is deleting all the
filters with the same priority/preference. i.e. it is ignoring the
handle specified.

But, When I am doing similar activity in hashtable 800: it is deleting only the
specified filter, i.e. it is behaving as expected.

I am unable to comprehend the reason for this difference in behaviour.

Infact, in kernel 2.6.32 all is working as expected. However, in
kernel 3.1 and 4.1 it is having the behaviour as mentioned above.

For example, following set of commands  create a hashtable 15: and add
2 filters to it.

tc filter add dev eth0 parent 1:0 prio 5 handle 15: protocol ip u32 divisor 256
tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:2 u32
ht 15:2: match ip src 10.0.0.2 flowid 1:10
tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:3 u32
ht 15:2: match ip src 10.0.0.3 flowid 1:10

Now following command DELETES ALL THE FILTERS, though it should only
delete FILTER 15:2:3 !
tc filter del dev eth0 protocol ip parent 1: prio 5 handle 15:2:3 u32

O/p of tc filter show eth0 is this case is blank. As all filters are deleted.
Happens since

1e052be69d045c8d0f82ff1116fd3e5a79661745
("net_sched: destroy proto tp when all filters are gone").
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help