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