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.