
This README file outlines what each file in this collection is.
Last updated: 11/24/89

Traceroute is a utility written by Van Jacobson that traces the exact
network route that packets take while being routed from your machine
to any specified remote host.  This is an extremely useful debugging
tool for network managers.

This collection of files is my attempt to put together in one easy
place all the files and info needed to enable traceroute on a Sun 3,
3x, or 4 machine running SunOS 4.0.x.  This collection includes the
following:

-- Source code for three kernel files (raw_ip.c, ip_icmp.c, and
   ip_icmp.h) on which the necessary kernel modifications have been
   performed.  These files came from Bill Nowicki of Sun
   <nowicki@sun.com>, who made the actual modifications.  They are the
   definitive version of these files for Sun 3, 3x, and 4 machines,
   and I can vouch that they work.  (I don't have any 386i machines,
   so I can't vouch for whether these files will work on a 386i or
   not.) 

-- A traceroute.c file that has been patched with Matt Mathis'
   <mathis@fornax.ece.cmu.edu> modifications for supporting IP LSRR
   (Loose Source Record Route).  This allows you to find out how
    somebody else (at a site other than your own machine, that is)
    would reach a particular target.

-- A man page for traceroute that includes a description of the IP
   LSRR feature.  From Paul Pomes <paul@uxc.cso.uiuc.edu>.

-- A Makefile that will help automate the installation of the necessary
   binaries.  From Manavendra K. Thakur <thakur@zerkalo.harvard.edu>.

My thanks to Robert M. Enger <enger@sccgate.scc.com> and Edward
Vielmetti <emv@math.lsa.umich.edu> for forwarding to me the bulk of
the pieces that comprise this collection.


Here is a summary of all the files and subdirectories:

README			This file -- For more info on this collection
			of files, please contact Manavendra K. Thakur
			<thakur@zerkalo.harvard.edu>.  For more info on
			the traceroute code,itself, please contact the
			appropriate authors.

Makefile		Makefile to compile and install ip_icmp.o,
			raw_ip.o, and traceroute.  Note that you still
			have to recompile and reinstall your kernel
			after running the Makefile.

ip_icmp.c, ip_icmp.h	Source code for the kernel modules that need
raw_ip.c		recompiling in order to run traceroute.  From
			Bill Nowicki of Sun Microsystems <nowicki@sun.com>.

traceroute.c		Source code for the actual traceroute executable. 
			From Van Jacobson <van@helios.ee.lbl.gov> and
			Matt Mathis <mathis@fornvax.ece.cmu.edu>.

traceroute.8		Man page for traceroute.  Includes documentation
			of the IP LSRR feature.  From Paul Pomes
			<paul@uxc.cso.uiuc.edu>.

vj_traceroute 		Directory with original traceroute code from 
			Van Jacobson.  This directory comes from the
			traceroute.tar.Z file on ftp.ee.lbl.gov.  If you
			should want to create the source code and binaries
			from scratch for any reason, you should begin
			with these files.  If you want the Loose
			Source Record Route option, then apply the
			patches contained in LSRR.patches file in the
			vj_traceroute directory.  Consult the README and
			LSRR.patches files in the vj_traceroute directory
			for more information.

vj_traceroute/LSRR.patches
			Matt Mathis' patches to Van Jacobson's traceroute.
			These patches enable LSRR (source level routing).

bin			This directory contains pre-compiled versions of all
			the binaries that would be created by running the
			Makefile, for both Sun 3 and Sun 4 machines.  (The
			Sun 3 binaries will also work on a Sun 3x machine.)
			See the README file in the bin directory for more
			information.

