I can comment from the Mac OS X perspective...

On Wednesday, December 26, 2001, at 11:07 , George V. Neville-Neil wrote:

> Hi Folks,
>
>       Just checking out some developer info on OS/X and I came upon this
> interesting quote:
[snip]
>       Can anyone comment on the progeny of the TCP/IP stack in Mac OS/X?
> Did they do a rewrite or just tweaks?  Granted this may all be market 
> speak
> but if
> it's true it would indicate some significant changes.


The TCP/IP stack in Mac OS X/Darwin is essentially the stack from 
FreeBSD 3.2.  There have been almost no changes in this area to 
accomodate NKE operation.  The only one of note that I recall now is a 
change to the "ip_protox" mechanism.  In Mac OS X, it's an array of 
pointers to protosw's, rather than small integers.  This seemed to me to 
be a fairly simple way to allow the addition of new protocol handlers.

We did make some changes in the socket layer to support NKEs, but the 
major changes to networking are in the "data link interface" part of the 
system.

A major goal of the development of Mac OS X was to enable developers to 
add to the system without requiring kernel builds, or in particular, 
major effort on the part of customers to get things to work well.

The BSD data link area is mostly confined to "if_ethersubr.c" and 
friends, and this stuff has been completely revamped.  We factored out 
the notions of de-muxing, address resolution, and framing, to allow 
developers to introduce support for new device types without having to 
provide new kernels to customers.  In addition, we have provided hooks 
to permit "filter" modules to be inserted in the packet flow between 
protocol stacks and devices.

There's more info floating around on the darwin lists, and in the darwin 
repository.

Regards,

Justin

--
Justin C. Walker, Curmudgeon-At-Large  *
Institute for General Semantics        |   If you're not confused,
                                        |   You're not paying attention
*--------------------------------------*-------------------------------*


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to