[openbeosnetteam] Re: Status

  • From: Philippe Houdoin <philippe.houdoin@xxxxxxx>
  • To: openbeosnetteam@xxxxxxxxxxxxx
  • Date: Tue, 13 Jun 2006 12:15:41 +0200

Quoting Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>:

> "Andrew Galante" <haiku.galante@xxxxxxxxx> wrote:
> > As far as sysctl vs ioctl goes, I'm not fond of the /dev/net/stack
> > "device
> > that is not a device." If it makes the stack easier to work with,
> > I'll go
> > with it.
>
> A device is one way to export kernel functionality. And since we need
> file descriptors here for an external (the networking stack will always
> be an optional module) service, there simply is no other clean way to
> achieve this.

I guess we could see it as meta-device that allow, thru the interface defined in
headers/private/network/net_stack_driver.h, to use and control all network
physical interfaces. Like a network bus controller.

Also, it allow us to run the stack within BeOS R5, BONE (Dan0 & Zeta) *and*
Haiku kernels without much issue. When the team started years ago, we didn't
even have a kernel yet, and we didn't want the code to be useless for the R5
and BONE kernels, the only available at these times.

Last but not least, the BeOS drivers API is a well-known KISS interface that we
knew from start that will be kept for binary compatibility, so why bother to
design another one?! That way, it's easy too to completly swith from one stack
to another one by just changing the path to the "network meta-device", as we do
for the userland test version: the userland libraries don't even know it, that's
totally transparent for them. As for the kernel.

- Philippe.


Other related posts: