From owner-freebsd-net Wed Dec 26 11:23:32 2001 Delivered-To: freebsd-net@freebsd.org Received: from rwcrmhc51.attbi.com (rwcrmhc51.attbi.com [204.127.198.38]) by hub.freebsd.org (Postfix) with ESMTP id 224E737B405 for ; Wed, 26 Dec 2001 11:23:26 -0800 (PST) Received: from grinch ([12.234.217.52]) by rwcrmhc51.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20011226192325.GCYA6185.rwcrmhc51.attbi.com@grinch> for ; Wed, 26 Dec 2001 19:23:25 +0000 Date: Wed, 26 Dec 2001 11:23:25 -0800 Subject: Re: FreeBSD TCP/IP relation to Mac OS/X? Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v475) From: Justin C.Walker To: freebsd-net@FreeBSD.ORG Content-Transfer-Encoding: 7bit In-Reply-To: <200112261907.LAA1105100@meer.meer.net> Message-Id: <08571164-FA36-11D5-B98A-00306544D642@mac.com> X-Mailer: Apple Mail (2.475) Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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 majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message