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.