/* Copyright 1984 by the Massachusetts Institute of Technology */

/* Per site static data. This includes hand initialized network
 * interface tables. By default, this also allocates the whole table.
 * Also, node name and various other stuff.
 */

/*
 *------------------------------------------------------------------
 *
 * $Source: /afs/net.mit.edu/project/cgw/conf/e19gw/RCS/e19gw.c,v $
 * $Revision: 1.7 $
 * $Date: 91/02/11 18:29:36 $
 * $State: Exp $
 * $Author: jon $
 * $Locker:  $
 *
 * $Log:	e19gw.c,v $
 * Revision 1.7  91/02/11  18:29:36  jon
 * address change stuff
 * 
 * Revision 1.6  90/09/29  20:42:31  jon
 * cisco testing
 * 
 * Revision 1.5  89/03/17  16:56:12  jon
 * add slip interfaces, name change
 * 
 * Revision 1.4  88/08/24  13:47:02  jon
 * Add DEFINED_ROUTING_RESTRICTIONS
 * 
 * Revision 1.3  88/05/31  21:30:59  jon
 * Use include file to get default flag values.
 * 
 * Revision 1.2  88/05/10  17:01:48  jon
 *------------------------------------------------------------------
 */

#ifndef lint
static char *rcsid_e19gw_c = "$Header: /afs/net.mit.edu/project/cgw/conf/e19gw/RCS/e19gw.c,v 1.7 91/02/11 18:29:36 jon Exp $";
#endif	lint

#include	<types.h>
#include	<sys.h>
#include	<gw/src/const.h>
#include	<gw/src/param.h>
#include	<gw/src/defs.h>
#include	<gw/src/net.h>

#include	"netcnf.h"

#include	<gw/nets/vii.h>
#include	<gw/nets/ether.h>
#include        <gw/nets/slip.h>

#include        <gw/in/rvd.h>

/* Node name and type */

char	name[]	= "e19gw";
int	mach_type = M_uVAX2;

#define DEFINED_REDIRECT_FLAG

#ifndef FALSE
#define FALSE 0
#endif
int ip_send_redirects = FALSE;

#define DEFINED_NIP_GATEWAY
int use_static_nip_gateway = TRUE;
byte static_nip_gateway_address[4] = {18, 88, 0, 1};

#include "default_flag_values.h"

/* Actual network configuration table */

ext	vii_prinit(), vii_in();
ext word	vii_out();
ext	e10_prinit(), e10_in();
ext word	e10_out();
ext	slip_prinit(), slip_in();
ext word slip_out();

ext dct viidct[], qnadct[], dhidct[], dhodct[];

net	nets[NNETS] =	/* Make it explicit to prevent errors */
{ { NULL, vii_prinit, vii_out, NULL, vii_in, NULL, NULL, /* VII Ring Net */
    4, 4, 3, 0, VIIMAX, sizeof(struct viipkt), 0,
    viidct, &viidct[0], &viidct[1], T_VII, C_BRD },

  { NULL, e10_prinit, e10_out, NULL, e10_in, NULL, NULL, /* 10Mbit Ethernet */
    10, 4, 0, 0, EMAX, sizeof(e10pkt) + 4, 0,
    qnadct, &qnadct[0], &qnadct[1], T_E10, C_BRD },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[0], &dhodct[0], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[1], &dhodct[1], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[2], &dhodct[2], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[3], &dhodct[3], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[4], &dhodct[4], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[5], &dhodct[5], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[6], &dhodct[6], T_SLIP, 0 },

  { NULL, slip_prinit, slip_out, NULL, slip_in, NULL, NULL, /* SLIP */
    3, 6, 0, 0, SLIP_MTU, 0, 0,
    dhidct, &dhidct[7], &dhodct[7], T_SLIP, 0 },
};


/* Various per site externals that can be set at compile time.
 * Do not touch anything here!
 */

unsw	nnets = NNETS;			/* Number of networks */
net	*lstnet	= &nets[NNETS];		/* Pointer after last net */
