[openbeosnetteam] A possible redesign

  • From: "Nathan Whitehorn" <nathan.whitehorn@xxxxxxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Sat, 12 Apr 2003 14:46:18 -0400

Since we seem to be debating again the design of the network stack, I 
felt I would present again the idea that I wrote to the GlassE list a 
year ago.

The basic idea is that you have only one kind of add-on (Axel will know 
where this idea came from), the network layer, and these add-ons self-
organize into a series of interlocking chains (looks more like a web, I 
suppose, but...). Sockets could be an add-on too... after all, they 
consume packets just like any protocol. Here's how this works. Each add
-on/module has a type which is defined by something vaguely resembling 
an MIME type, like this: "ethernet/abcd-foo", where abcd-foo is the 
type of card. Each module is then given a list of other modules as they 
are loaded, building a chain. The PPPoE module (or Ethernet IP) module 
would say, "Hey! That's an ethernet card! and register some packet type 
with it, or ask to be given all packets, or something along those 
lines. As a packet moves through the stack, it will acquire attributes, 
and its data pointer will be modified so that the contents of the 
packet are simply its payload. The attributes would include information 
like destination and source addresses, packet types, etc.

This would allow IP or AppleTalk stacks to be oblivious to the link 
type, as sub-modules (with appropriate types, like "ip/ethernet" (the 
second part of the type could even define on top of which layers it was 
placed)) would translate network-protocol specific header information 
into a standard set of attributes.

And those are my ramblings. Thoughts?
-Nathan

--
Fortune Cookie Says:

Law of Probable Dispersal:
        Whatever it is that hits the fan will not be evenly
distributed.

Other related posts: