[openbeosnetteam] Time to put up or shut up!

  • From: "David Reid" <dreid@xxxxxxxxxxxx>
  • To: "OpenBeOS Network Team" <openbeosnetteam@xxxxxxxxxxxxx>
  • Date: Thu, 31 Jan 2002 10:11:13 -0000

Folks,

Well, I think the time is nigh that we started getting of our butts and
getting on with some code!

I'm cc'ing this to Travis so he can comment if he feels like it :)

To bring folks up to date, I've written a tulip net driver, BGA was working
on an Ne2K driver and the rtl8139 driver works OK.

Newos now has a rudimentary network stack that does

- arp
- ipv4
- icmp
- udp

Basically, I think we should move to Milestone #2 and start working on an
ARP cache.  However, I don't really want it to be limited to being an arp
cache, but rather a net cache.  I've been doing some work on IPv6 and
actually have some working code, but it has shown some of the things that
are needed. Essentially we need a general purpose net cache that we can use
in  a few different places.  For instance...

- provide ipv4 <-> ethernet MAC address translation
- provide a quick means of looking up routing information
- ipv6 <-> ethernet MAC
- ipv6 router details
- list of ipv4/ipv6 addresses for an interface

The list is quite long and varied.  The existing code in newos can be found
in

http://www.newos.org/cgi-bin/perfbrowse.perl?@filelog+//depot/newos/kernel/n
et/arp.c
http://www.newos.org/cgi-bin/perfbrowse.perl?@filelog+//depot/newos/kernel/n
et/ipv4.c

Now, using a hash is a good idea as it should provide good performance, but
the hashing methd will need to be flexible as an ipv4 address is 32 bits, v6
is 128 bits! Also in v6 there is a need to do lookup's using parts of the
address, i.e. using only the first 10 bits for checking we only have a
single link-local address registered with an interface.

The net stack (as currently implemented) is nice and straightforward, so
hopefully the cost od getting involved is still low enough that folks can
jump into this quite quickly.

Can this all be accomplished?  I think so and we have some good code to
start from and no shortage of places to look for inspiration!

So, shall we start coding?  Shall we also add a channel to
irc.openprojects.net for us to use? openbeosnetworking or some such?

david



Other related posts: