[openbeos] Re: Networking : R5 or BONE

  • From: "John Gabriele" <jandl@xxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Sun, 27 Jan 2002 01:35:48 EST

Thanks Francois. This helps. I'm guessing it will be useful
to other greenhorns (like me) on this list.


>> 2. I don't understand what a "network stack" is.
>
>It's the software layer that manages the network cards (including ppp over 
>modem), deals with networking protocols like IP, TCP, UDP... (IPX ? :P), 
>and delivers the data either through the posix socket interface, or the NetKit
>OO interface.

Ok. So, at some low level, the NIC knows how to accept a hardware frame
and write it into its buffer. Between that and, say, recv() is where this 
network
stack is doing all its work?

Does the network stack call functions in the NIC driver (kernel add-on)
to get its lowest-level dirty-work done?


>> I further don't understand exactly what having a kernel-space network
>> stack entails.
>
>It means all the thing runs as kernel level drivers and threads, that is 
>in the kernel space (except the Net Kit, which anyway is a userland C++ 
>library). That brings lots of good things, as well as some downsides as 
>someone 
>else already described here (+: no context switch, less data copy 
>-: stability ? ...)

Ahh... I see. The only part that will actually be running in user-mode is
the NetKit C++ code (which I believe is quite similar to the Nettle lib:
http://www.bebits.com/app/1044
 -- a network object library implemented it terms of sockets calls (I think)).


>> Does it mean that there's gonna be the regular posix sockets calls in
>> the kernel kit (and that, when called, they will execute in
>> kernel-mode)?
>Yes.

Wow. So, when Travis is done there, NewOS will have the sockets api
all ready to go. (?) Isn't that a huge piece of work? I mean,... HUGE?
I think I'm mistaken here...

---j

Other related posts: