[openbeosnetteam] BeOS network informations and "What Next" thing ;-)

  • From: "Emmanuel Jacobs" <emmanuel.jacobs@xxxxxxxxxxxx>
  • To: <openbeosnetteam@xxxxxxxxxxxxx>
  • Date: Fri, 14 Sep 2001 10:27:48 +0200

Hi every body,

Just a few words from me tonight (yes in Belgium it is 9:30 PM, soon in my
bed... Yessss :-p)

I was looking around for some in-depth information about the net_server and
associated components.

At first, I came accross the source code for the "nat" application whic can
be found here : http://www.rickb.com/software/be.html
The NAT application was an application which is doing a lot of stuff related
to networking.  In fact it can catch packet from ethernet drivers and
transmit them after modifications.  Moreover, there is also a little
configuration application.
I'm actually reading the code to understand a bit better what we can do with
the information contained in it but I can already tell you that it tells us
how we can interface with drivers.  That is an important thing because if we
can do that, we can start building our own network stack. For instance, the
dhcp_client thing I told you about in a previous mail could be (IMHO) very
quickly implemented.
I'd like to start with a first layer software which could connect to all
network drivers, keeping a list of available device and type of device
(ethernet, broadcast type, and PPP, non-broadcast layer 2 thing).

While searching to understand the code, I saw in the code some objects I
couldn't found in the BeBook (it was BNetPacket).
Searching Google for this word brought me to transcript of a Be Developer
Conference "Writing Network Drivers" wich could be found here :
http://www-classic.be.com/developers/may_dev_conf/transcripts/networkdrivers
/
This document explains how to 1) write an ethernet driver, 2) write an
non-ethernet IP driver 3) add our own other-than-IP protocol.
It is a very interesting document IMHO (maybe you already know this document
?).  Another interesting thing is that there are some slides related to the
transmission and the reception of packets involving the net_server and
showing how are the interactions done internally.

Another transcript relevant to networking is titled "Approaching Natworking"
which is more network applications oriented but still carry a lot of
valuable information.  This transcript can be found here :
http://www-classic.be.com/developers/may_dev_conf/transcripts/approachingnet
working/

Other transcripts can be found here :
http://www-classic.be.com/developers/may_dev_conf/transcripts/

Another interresting source code/application I found was an attempt to code
a USB Alcatel ADSL modem driver.  This driver have functions related to ATM,
adressing (vpi/vci), ATM's Segmentation And Reassembly (SAR) and AAL5
functions, PPP over ATM, CRC16 and CRC32 stuff as well as USB stuff.
The driver is located at this page:
http://philippe.houdoin.free.fr/phil/beos/stusb/

More information about a PPPoE and PPtP driver can be found here :
http://perso.wanadoo.fr/gilbert.fernandes/adsl_beos.html (sorry, just in
french but try babelfish/altavista for translation ;-) )

Now I'd like to hear from you all about BONE.
I know some of you have BONE and already developed on it (ZS ?).  Could any
body explain me what exactly BONE is and in which way it may change the way
we we will design/implement networkin stuff for OpenBeOS ?

Ok, from now on, what do we do ?
I think we have to continue our design but in parallel, we could try to
implement some pieces to proof our replacement concept.
Why not create first a software module which could connect the drivers and
deviated all the incoming traffic to him, while allowing to send packets to
each of the drivers. As a second step we could try to implement an ARP
utility or a DHCP_Client replacement.
At the same time we begin to implement network stuff bottom->top I think a
part of the team should go on with the net_server itself.  What we need to
be able to start a parallel work is to define the interface between the
net_server and the "stack".  That should be the primary goal of our design I
think.

Ok folks, please comment this and tell me all what you think so we can start
coding ;-p

   Regards,

      Emmanuel



Other related posts:

  • » [openbeosnetteam] BeOS network informations and "What Next" thing ;-)