[comp.protocols.appletalk] New version of KIP available.

rapatel@pilot.njin.net ( Rakesh Patel) (12/06/89)

Thanks to Charles Hedrick, and to Robert Elz (University of Melbourne -
for making their atalkad available), we've now got a version of KIP 
that splits the routing information accross multiple packets. It uses
the scheme used by the Webster Multigate and is compatible with the 
atalkad Robert Elz made available. We would like to urge Kinetics 
(or Novell) and Caymen along with any other vendors supporting KIP 
compatability to use this mechanism as well.

We've also built the code using gcc and cc on 68xxx based Sun's. The
resulting code is 3.5k and 3k smaller respectively. This allowed us to
increase the table sizes in KIP even further than we had done previously.

The source code is available via anonymous ftp from rutgers.edu 
(128.6.4.7 ; 128.6.21.9). Retreive ~ftp/src/ru-kip.tar.Z.

Here is the file, "README.RUTGERS" included in the distribution:


This code contains modifications to support compiling with either
Sun's cc or GNU's gcc on a 68xxx architecture. 

The atalkad in etc/ is based on the multigate version 1.20 from munnari.oz.au.
This version supports packet splitting for the routing table with the 
multigate and now this modified version of KIP0688. Modifications 
were made to allow it to build properly under this KIP source distribution.

crt0.s and gwasm.s were modified to compile under the Sun assembler, so
the crt0.s.ORIG and gwasm.s.ORIG files are the ones to use for compilation
by SUMACC. If you wish to use SUMACC to build the code, then you
will need to copy crt0.s.ORIG and gwasm.s.ORIG to crt0.s and gwasm.s 
respectively.

There are a few extra files added to allow compilation by cc and gcc.
This includes:

	str*.c, dl68.c, and gcclib.c.

The dl68.c in the top level is the one actually used for compiling on a Sun
using cc or gcc. It may need to be modified for other machines.
The dl68.c in etc/ is the original kip0688 distribution. It is not used.

The changes made are:
		
		1) Handling the mechanism that the Multigate uses to
		   split the routing table accross multiple packets
		   if necessary.

		2) The modifications necessary to compile gw.srec using
		   Sun's cc or GNU's gcc.

		3) Expand the table sizes to take advantage of the
		   extra 3.5K provided by compiling using gcc or 3K
		   extra when using Sun's cc.

The table sizes are as follows:


		2048 characters available for the zone name list
			including a null after each zone name.

		100 zones total.

		256 routes total.


The zone and routing tables include all dynamically acquired routes
as well as the statically configured routes from atalkatab, so if
you have say 90 zones in atalkatab and 30 dynamically acquired zones
from say Hayes Interbridges or any other appletalk bridge, you would
have run out of space.

The current configuration leaves 20 buffers free. This is marginal for
performance. If you don't need 256 routes or 100 zones, you may want
to changes the table sizes. A sample configuration like:

		1024 characters for the zone list table

		64 zones total

		128 routes total


would leave about 26 free buffers when compiling with gcc. The performance
was a bit better with even only 6 extra buffers. Of course the main reason
for doing this for us, was to increase the table sizes, but for smaller 
sites, it may be better to use gcc to free up extra buffers for improved 
performance instead.



Rakesh Patel.