On Tue, Feb 19, 2002 at 02:40:36PM -0800, ravi c wrote:
> Hello Harald,
> 
Hi again!

> Actually I didn't realize that I posted it to
> netfilter-user mailing list. I posted this performance
> problem on Linux Kernel mailing list on Oct 18th 2001
> ( Sorry! I didn't know that there is netfilter mailing
> list) to which Alexey replied, this patch is made and
> tested after his responses and I posted the patch to
> Linux Kernel and Netfilter user mailing list. Somehow
> it got lost on Linux Kernel mailing list.

No problem at all..

The issue is just, that the developers don't tend to read the
netfilter users list that often... and on linux-kernel, everything
is lost in the noise.  I have now set up content-
based filtering for linux-kernel, so nothing containing iptables 
or netfilter in the subject-header will get lost again.

> A zerocopy skb (non-linear) is converted to linear skb
> and further degrades the performance of zerocopy path.
> This patch fixes the performance issue by setting a
> flag in netfilter hook and by passing non-linear skbs
> to netfilter hooks. Please review it and pass your 
> comments. Please accept the fix.

Well, the question is: do we see this as a 'fix'?  If you
look at the history, the current situation is quite 
understandable:

non-linear skb's have been introduced after netfilter was
developed.  So everything Rusty did (under the pressure of
time) was to put the skb_linearize() in fron of netfilter to
protect the whole netfilter subsystem.

This is not the preferred solution, and definitely not meant to last
forever.  For example, in 2.5.x this needs to change and all netfilter
modules are required to deal with nonlinear skb's.

Regarding to your patch:  The main disadvantage is: It breaks the current
netfilter hook API.  We always have to remember that we (i.e. the netfilter
project with conntrack, nat, packet filtering, ...) are not the only user
of this API and thus should not change an API during a stable kernel release.

Why do you need this patch ?  Which netfilter-using module doesn't need
linear skb's?  Are there any free software projects using netfilter hooks
who can deal with nonlinear skbs?  (and if, they could patch this part of
the code as well.

And: from my understanding, nonlinear skb's can only happen for packets
sent by the local host (because zerocopy TCP send was used).  Most people
using netfilter are interested in forwarded packets, however.

Summary: Yes, current code is not a good solution.  But I'd rather fix
all of the netfilter/iptables code.
 
I'm happy to receive your comments on this.

-- 
Live long and prosper
- Harald Welte / [EMAIL PROTECTED]               http://www.gnumonks.org/
============================================================================
GCS/E/IT d- s-: a-- C+++ UL++++$ P+++ L++++$ E--- W- N++ o? K- w--- O- M+ 
V-- PS++ PE-- Y++ PGP++ t+ 5-- !X !R tv-- b+++ !DI !D G+ e* h--- r++ y+(*)

Reply via email to