
	Center for Theory and Simulation in Science and Engineering
			    Cornell University


      Portions of this software may fall under the following
      copyrights: 

	Copyright (c) 1983 Regents of the University of California.
	All rights reserved.  The Berkeley software License Agreement
	specifies the terms and conditions for redistribution.

	The copyright (c) of the EGPUP User Process, Paul Kirton and
	ISI, August 23, 1984


    GATED - based on Kirton's EGP, UC Berkeley's routing daemon (routed),
	    and DCN's HELLO routing Protocol.
 

The following acknowledgments and thanks apply:

	Mike Petry (petry@trantor.umd.edu), University of Maryland, for
	development of the HELLO routines used in this program.

	Craig Partridge (craig@loki.bbn.com), BBN Laboratories, for
	thorough linting, profiling, and performance enhancements to
	this program.

	Charles Hedrick (hedrick@topaz.rutgers.edu),
	Chris Maio (chris@columbia.edu), Sergio Heker (heker@jvnca.csc.org),
	and any other BETA testers who have helped in finding bugs.

	Mark Fedor (now fedor@nisc.nyser.net) for the development and
	maintenance up to release 1.3.1.  Also for his continuing
	advice and SGMP/SNMP interface.

	Thomas Narten <narten@purdue.edu> for his analysis and
	modifications to the EGP and other helpful improvements.

	C Phil Wood for his help in porting gated to SunOS 4.0 and the
	Sun 4 architecture.

	Matt Thomas for his mods for support of Ultrix 3.0.

	Ross Veach for his enhancements to deal with interfacing to the
	new NSFnet.


INSTALLATION OF GATED:

	1. cd src, edit Makefile to suit your system.

	2. If your C compiler can generate dependencies, do a "make
	   depend".  You may have to modify the Makefile if your C
	   compiler uses a switch other than -M to generate
	   dependencies. 

	   If your C compiler can not generate dependencies, you may
	   have to delete some dependency lines from the Makefile for
	   include files that you do not have.

	3. Compile gated "make".

	4. Become root and install gated, "make install".

	5. cd man, edit Makefile and install the man page "make install".

	6. make up a configuration file.  This is not too hard.  Sample
	   config files are in the conf directory and the man page
	   explains all config options.  install the config file in
	   /etc/gated.conf

	7. Take cover and .... FIRE IT UP!

	8. Take a look at the aux/ directory for some handy scripts.


Running Gated on SunOS 4.0 systems:

	If gated gets sendto() network unreachable problems when running
	on SunOS 4.0 systems, add `hostname` to the ifconfigs for
	ie0/le0/ec0 in /etc/rc.local.  Otherwise SunOS has a
	misconception of the route to the attached network.

Running HELLO and/or EGP on 4.2 based systems:

	If you would like to run HELLO or EGP on a 4.2 based system such as
	Ultrix 1.2, 2.0, 2.1 and SunOS 3.x you will need to add the
	following code to the following modules and rebuild your kernel. 

	/sys/netinet/in.h:

#define IPPROTO_EGP		8		/* exterior gateway protocol */

#define IPPROTO_HELLO		63		/* Fuzzball HELLO protocol */

	/sys/netinet/in_proto.c for SunOS 3.x:


 { SOCK_RAW,	PF_INET,	IPPROTO_HELLO,	PR_ATOMIC|PR_ADDR,
   rip_input,	rip_output,	0,	0,
   raw_usrreq,
   0,		0,		0,		0,
 },
 { SOCK_RAW,	PF_INET,	IPPROTO_EGP,	PR_ATOMIC|PR_ADDR,
   rip_input,	rip_output,	0,	0,
   raw_usrreq,
   0,		0,		0,		0,
 },


	/sys/netinet/in_proto.c for Ultrix 1.2, 2.0 and 2.2

{ SOCK_RAW,     &inetdomain,    IPPROTO_HELLO,    PR_ATOMIC|PR_ADDR,
  rip_input,    rip_output,     0,              0,
  raw_usrreq,
  0,            0,              0,              0,
  0,            0,              0,
},
{ SOCK_RAW,     &inetdomain,    IPPROTO_EGP,    PR_ATOMIC|PR_ADDR,
  rip_input,    rip_output,     0,              0,
  raw_usrreq,
  0,            0,              0,              0,
  0,            0,              0,
},

Gated and NYSERnet's SNMP code:

  You will need to apply the following patch to NYSERnet's snmpd code
release 3.1 and maybe prior:

*** /tmp/,RCSt1a05299	Tue Feb 14 15:15:02 1989
--- agent.c	Tue Feb 14 15:13:09 1989
***************
*** 1,6 ****
  
  /*
!  *  $Header: agent.c,v 1.6 88/09/22 14:53:33 fedor Exp $
   *
   *  June 28, 1988 - Mark S. Fedor
   *  Copyright (c) NYSERNet Incorporated, 1988, All Rights Reserved
--- 1,6 ----
  
  /*
!  *  $Header: agent.c,v 1.7 89/02/14 15:14:14 fedor Exp $
   *
   *  June 28, 1988 - Mark S. Fedor
   *  Copyright (c) NYSERNet Incorporated, 1988, All Rights Reserved
***************
*** 301,306 ****
--- 301,310 ----
  				case INT:
  					bcopy(p, (char *)&repl->val.value.intgr, rspsize);
  					repl->val.type = INT;
+ 					break;
+ 				case CNTR:
+ 					bcopy(p, (char *)&repl->val.value.cntr, rspsize);
+ 					repl->val.type = CNTR;
  					break;
  				default:
  					syslog(LOG_ERR, "get_agent_var: invalid variable type: %d", agntvartype);



Please report any BUGS, comments, Fixes to me:

	Jeffrey C Honig
	Cornell Theory Center
	265 Olin Hall
	Cornell University
	Ithaca, NY  14853-5201

	607/255-8686

	jch@tcgould.tn.cornell.edu
	{ucbvax,uunet,decvax,cornell}!tcgould.tn.cornell.edu!jch
	pyramid!batcomputer!jch

If you need assistance or have any questions, Please contact me.  Don't
bang your head against the wall.  I will try to help. 

In order that I know who to send bug fixes and updates to, I have
created a mailing list for people running gated.  If you are running
gated, please get on this list.  Send your request to:

By INTERNET:
	gated-people-request@devvax.tn.cornell.edu

By UUCP:
	{ucbvax,uunet,decvax}!devvax.tn.cornell.edu!gated-people-request
	{rochester,decvax,uw-beaver}!cornell!devvax!gated-people-request
	{warrior,gould,pyramid}!batcomputer!devvax!gated-people-request

One of these has got to work.  If you find one that bounces let me know. 

The only thing I ask of this list is that all bug fixes and enhancements
be sent to me for testing and then I will officially send out the
fix/enhancement.  It will make life easier on all of us.  I will post a
greeting to the list when I get enough responses. 

Thanks.

Jeff

