> Linux TCP/IP doesn't work like this.

I never said it did, I said that *functional frameworks* worked like this. For 
the most part I believe Linux TCP/IP does work like this, though. I'll skip 
routing when making this point. 

Although Linux has indirect function calls to choose between a TCP and a RAW 
protocol handler at a certain moment (or for dev_hard_start_xmit, ...), this 
selection step itself is statically coded. You cannot decide to add a step in 
between. Which is exactly what STREAMS gives. Whether that's necessary is a 
different question.

> Linux netfilter is basically like STREAMS, so you're just showing
> that one STREAM like thing can be faster than another. Undoubtedly
> a full hardcoded filter system could be faster.

netfilter is far from the entire networking path in Linux. Anything related to 
getting data up to userspace, or to/from device drivers is developed outside 
of the netfilter framework. For example, NAPI or mmap patches. This is the 
area that I am developing for, coming from a packet filtering background.

> So you want to replace something that you're not familiar with?
> That sounds like a upside down approach. How about studying prior art first
> to avoid making their mistakes and reusing their strengths?

I should have looked at netfilter if that was what I wanted to replace. Which 
it wasn't (and isn't). However, you are right in the fact that there's 
unfortunately overlap between the two systems. 

Anyway, the same holds for SILK. Neither that nor FFPF are development 
systems, but research. Mine is on pushing data up to applications in more 
flexible ways than through sockets (and faster). 

> > One advantage
> > is that a new netfilter function can be inserted in the stream if the
> > module is loaded. In a purely functional framework this would be
> > impossible, as all functions have to be known in advance.
>
> Your lack of knowledge about netfilter shows very clearly here.

Again, I never stated that netfilter is a purely functional framework. 
Although my lack of netfilter indeed is unfortunate, it is of no direct 
concern.

> Have you ever tried reading through the Linux routing code path?  It
> doesn't sound like it.

have I ever mentioned the routing code path? That I omitted it in my answer to 
John was, however, indeed a mistake. My apologies for that; you get a bit 
shortsighted after looking at the same small domain for months.

That said, I had to compare to STREAMS, which was created for 
kernel/application interaction. It was originally an alternative to sockets, 
not to {pf, netfilter, click}, if I recall correctly. Bashing me for not 
knowing routing is therefore a bit off-topic I believe.

Willem

 
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to