From: Willem de Bruijn <[EMAIL PROTECTED]>
Date: Tue, 17 Jan 2006 11:55:44 +0100

> About your remark: I have studied linux networking so far as it has
> crossed my path. IPSEC, the only place for which XFRM is being used
> it seems, was scheduled for later. You don't expect to see a
> different framework in a subset of the stack.

I'm talking about stackable routes, which is in the destination
cache and is at the core of how all routing works in the Linux
kernel.

It's generic and has absolutely nothing to do with IPSEC.

You don't have to learn XFRM, or IPSEC, to learn how stackable
destination cache entries work.  They're very simple, and you can hook
them up however you like to transform your data as it traverses the
input and output paths of the stack.  You have to learn one data
structure (struct dst_entry) and two inline functions (dst_input() and
dst_output()).  It's been referred to now twice in this thread.

> Also, I don't see how this invalidates my use of another streams-like 
> framework any more than the existence of STREAMS in solaris does. XFRM is 
> pretty much tailored to its use-case.

Stackable destination cache infrastructure, which is what I was
actually talking about, is not.  It's generic.

> My network subsystem knowledge comes mostly from previously
> published work at academic venues -- as I wrote before. This is
> accepted procedure in scientific circles (even applied science like
> systems research). The underlying idea is that if implementations
> (Linux, Windows, Plan9) are innovative in any way, those features
> would have been published about independently in the same venues (or
> at least the Linux Symposium, BSDCon, ..). It appears the
> communities don't mix enough. Publish what you have, if it's new.

I'm sorry but that is totally backwards.

When I want to see what the "start of the art" is, I go look at other
implementations not research papers.  Research papers are the last
resort.  In fact, existing implementations are the ultimate shit
filter for all the research out there.

> Why? because if you don't you can make a snide remark to one guy
> that he didn't study linux, but how many systems should a person
> study before you start coding? Is it ok to know just linux? or
> should I also know all internals of NetBSD? What about WindowsNT,
> Plan9, VMS, IOS? You can reprimande me, but there are countless
> others who will make the same 'mistake'.

If you are doing systems work and are unfamiliar with what systems
actually implement, you're by definition a charlatan.

When Van Jacobson did his TCP congestion control work, he learned the
BSD TCP stack backwards and forwards before he started making his
changes.  He made sure to take advantage of what was already there,
and add only what was needed.

When he did his pbuf networking stack work, he made himself aware of
exactly how the networking stacks he could get his hands on operated,
and why their buffer management was poor.

He made better things because he knew in detail what was out there
already.  He looked at implementations, not papers.

Van Jacobson is a real researcher and not a charlatan.
-
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