netdev
[Top] [All Lists]

Bugfix u32 filters: Patch instead of whole file

To: linux-diffserv@xxxxxxxxxxxxxx
Subject: Bugfix u32 filters: Patch instead of whole file
From: Joerg Diederich <dieder@xxxxxxxxxxxxxxx>
Date: Tue, 15 Aug 2000 14:07:07 +0200
Cc: netdev@xxxxxxxxxxx, kuznet@xxxxxxxxxxxxx, ak@xxxxxx
In-reply-to: <20000815131723.A1117@xxxxxxxxxxx> (message from Andi Kleen on Tue, 15 Aug 2000 13:17:23 +0200)
References: <200008150749.JAA20285@xxxxxxxxxxxxxxxxxxxxx> <20000815131723.A1117@xxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
Hi!

To better recognize the changes I have made to cls_u32.c, I have
attached a patch against DS pre9 below.

Regards,

/J"org

--------------------------------------
Hi,

I have looked a little into the problems with deleting u32 Filters.

I'm using DS8 with the pre9 patches posted on the 9th of July by
Werner on a 2.2.14 System (however, 2.2.16 should have the same
problems since no file has changed in linux/net/sched since then).

I found two additional problems with deleting filters apart from the
one fixed by ds pre9.

1. Refcnt of child-Filters (non root_ht) was not set correctly on
   creation.  
2. When performing a 'tc qdisc del dev eth0 root' these
   child Filters were not deleted correctly (memory leak).

With both fixes I can delete child filters with something like:

'tc filter del dev eth1 protocol ip prio 244 parent 1:0 handle 800::801
u32'

Furthermore, I added a fix so that 'tc filter ls' did not show filter
twice or even more often.  This happened when adding several u32
filters to a queue with different priorities.

A 'tc filter ls' showed a list of filters for all used priorities, but
the child-Filter (non-root ht) were shown in each filter-priority-list
regardlessly of the priority of the child filter.

I did not have time to test these patches that much, so please be
careful :-) 

Of course, I am interested in feedback.

The cls_u32.c file including the ds9pre patch and my patches is
attached below.

Regards,

/J"org Diederich

Attachment: cls_u32.patch
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>
  • Bugfix u32 filters: Patch instead of whole file, Joerg Diederich <=