[openbeosnetteam] Interfaces

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: "Haiku Net-Team" <openbeosnetteam@xxxxxxxxxxxxx>
  • Date: Tue, 11 Jul 2006 02:56:47 +0200 CEST

Hi there,

I've got a little naming problem. The current naming scheme is a bit 
confusing, and it would be nice to improve it early on.

Right now, there is a:
* net_interface - this is a structure that holds information about the 
interface as registered by the interface module, ie. the interface type 
(IFT_ETHER). In BONE and BSD, this structure is called ifnet
* net_module_interface - (private) this is a structure that wraps 
net_interface plus a module pointer and a reference counter.
* net_logical_interface - this structure is a logical interface that is 
bound to the net_interface and has an address in a specific domain (ie. 
192.168.0.1 in the AF_INET domain). The BONE/BSD equivalent is called 
lognet.
* and if that wouldn't be enough, there is a 
net_logical_interface_private structure that inherits from 
net_logical_interface, and adds some private fields that are not 
thought for public consumption. In BONE/BSD, there is no 
differentiation between public and private in this regard.

The term "networking interface" is mostly bound to the logical 
interface. "ifconf" is actually configuring them, for example (but also 
creates the interface behind it).
Do you have any idea for a better naming scheme that is less long but 
also less confusing?

Examples of the net_interface modules are ethernet, loopback, ppp, ... 
(which all will implement the net_interface_module_info structure).
It's not necessarily a device, but we could rename that lower interface 
to net_device. Transport would be another idea. But anyway, I'm open 
for input :-)

Besides that naming issue, I'm confident that the basic architecture 
will be complete after this week, so that it will allow actual testing 
of network specific protocol implementations. The biggest areas I 
haven't touched yet are routes and the dispatching of incoming packets. 
Refining the locking scheme (ie. fast reader/writer locks etc. for 
domains) will come later, though.

Bye,
   Axel.


Other related posts: