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