Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!decvax!ucbvax!BRILLIG.UMD.EDU!steve From: steve@BRILLIG.UMD.EDU.UUCP Newsgroups: mod.protocols.tcp-ip Subject: Re: Protcol Development on SUN 2 and 3 computers. Message-ID: <8612161330.AA05308@brillig.umd.edu> Date: Tue, 16-Dec-86 08:30:23 EST Article-I.D.: brillig.8612161330.AA05308 Posted: Tue Dec 16 08:30:23 1986 Date-Received: Wed, 17-Dec-86 18:40:17 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 39 Approved: tcp-ip@sri-nic.arpa The Sun networking implementation is very close to being identical to the standard 4.2BSD implementation. Unfortunately, that makes development of other protocols (unless they live on top of IP, in which case it's not bad to do) more troublesome than you might expect as, if memory serves, the networking implementation manual (also lifted from a 4.2BSD manual) is incorrect (or, perhaps, misleading) in terms of talking about its protocol independence. There are all sorts of nasty AF_INET dependencies lurking about in there, everywhere from the device drivers to the network interface and routing code to NFS. It is possible to track all these dependencies down -- Chris Torek and James O'Toole did it here when they did their Xerox NS implementation for 4.2BSD -- but it probably won't be a whole lot of fun to do. Back under Sun Unix 2.0 I hacked some XNS support into the kernel. The way I did it was to remark, "gee, the interface between the network code and the rest of the kernel isn't so bad" and stuff the whole of the 4.3BSD beta networking code into the kernel, throwing the Sun/4.2BSD code out. Depending on what you're doing, that may be a win. I believe that it was for me, as I didn't have to write a NS implementation if I worked it that way. Furthermore, changing the INET-dependent code is probably not particulary hard, but you'll have to muck with the innards of almost every kernel module in /sys/net*, and that could be both tedious and frustrating. Finally, the 4.3BSD networking implementation is very much improved over the 4.2BSD one in the area of TCP/IP, so you get a better TCP/IP in the bargain. Oh yes, and of course it looks easier to stuff an entirely new (non-INET, non-NS) protocol into 4.3BSD than it does into 4.2BSD. There can't be too many dependencies still lurking about, 'cause the NS support works. Hope this is of use to you. -Steve Spoken: Steve Miller ARPA: steve@mimsy.umd.edu Phone: +1-301-454-4251 CSNet: steve@mimsy.umd.edu UUCP: {seismo,allegra}!mimsy!steve USPS: Computer Science Dept., University of Maryland, College Park, MD 20742