Before compiling "srouted", you may wish to tweak a few parameters.

* in "table.h":

	TB_IFACE_SIZE gives the number of entries in the network
	interface table (default value 16).  If you have more than 16
	network interfaces, you are using the wrong software.

	TB_ROUTE_SIZE gives the number of entries in "srouted"'s
	internal routing table.  Since the table size is constant, you
	must make this number as large as the maximum number of active
	routing entries you would ever expect to encounter.  Since
	"srouted" requires a few additional entries to store direct
	routes to interfaces and subnet information, you should be
	sure to allocate an additional 10 or 20 entries.

* in "defs.h":

        The initial values for "g_tracelevel" and "g_tracenlevel" give
	the default main trace level and the notification sublevel.

	In a nutshell, setting the trace level to 0, 1, 2, or 3
	produces output for errors, errors + warnings, errors +
	warnings + `weak' warnings, and all of the above + notices
	respectively.

	If the trace level is 3, then the notification sublevel (from
	0 to 4) provides incrementally more and more detailed notices.
	"2" is the maximum notification sublevel that can be safely
	run on a `quiet' network without producing reams and reams of
	output.

	Whatever the values of "g_tracelevel" and "g_tracenlevel", the
	trace value can be changed either on the command line or by
	sending a SIGUSR1 to the running "srouted" process, so don't
	worry too much about these values.  See the file "USAGE" for
	more information.

* in "timer.h"

        You might want to change the standard 3 minute timeout or 2
	minute garbage collection time for route entries.  These are
	given by "TM_TIMEOUT" and "TM_GARBCOLL" respectively, both of
	which are given in seconds.

	If your machine is so bogged down that processes are routinely
	starved of CPU time for several seconds, you might want to
	increase the "TM_NOW_FUZZ".  This is the number of seconds
	"srouted"'s timer code will look ahead for timers that are
	`about to' expire to avoid needless "select" calls.  Values
	between 1 and 10 are sensible.  Values above 30 are ridiculous.

* in the "Makefile"

        You might want to pick an appropriate set of CFLAGS.

	If you don't want to put "protocols/routed.h" in your
        "/usr/include" hierarchy, you may wish to add "-I." to
        the CFLAGS.

Offhand, I can't think of anything else you'd want to change.

Before compiling, you will either need to add "-I." to the CFLAGS in
the "Makefile" as discussed above, or you will need to copy
"protocols/routed.h" to "/usr/include/protocols/routed.h".

Once that's done, just use "make" to create the executable.

"make clean" will get rid of the object files, and "make veryclean"
will get rid of object files, emacs backups, and the executable.

See "USAGE" for information on running "srouted".
