

NRL IPv6 Software Distribution, Release "Alpha"		30 September 1995
===============================================

INTRODUCTION:
	The NRL IPv6 Software Distribution is a reference
implementation of IPv6 inside the 4.4-Lite BSD Networking software.
It is freely distributable and usable for commercial and
non-commercial purposes as long as the NRL and UC Berkeley license
terms are adhered to.  The developers would like to see this software
be widely distributed and used.

	We have tested this software on SPARC systems using the UC
Berkeley 4.4 BSD UNIX operating system (with 4.4-Lite enhancements
added in).  We have also tested this software on i486/i586 systems
using BSDI for the non-networking software and the 4.4-Lite
distribution for the networking software.  We believe it is easily
portable to similar operating systems (e.g. NetBSD, FreeBSD, SunOS
4.1.x).  If you port it to such a system and are willing to share your
port, please send us context diffs (diff -c) and please use standard
#ifdef symbols to delineate the portions of the software that vary
from platform to platform.  This implementation includes kernel
networking software, a small IPv6 support library, and several
applications (e.g. telnet, telnetd, ping, tftp, tftpd, socktest,
netstat, ifconfig, ping, route, tcpdump) modified to support IPv6.
This distribution also includes software for IPv4 and IPv6 security
using the mechanisms defined in RFC-1825 through RFC-1829.  Finally,
we have a very neat and useful kernel addition in the form of PF_KEY,
a kernel subsystem to store and manage cryptographic keys.  There are
manual pages for the modified and new software, but they might not yet
be as detailed as one might like.
 
	This "alpha" quality release of the IPv6 software is intended
for use by kernel hackers and implementers who want to get early
access and experience with IPv6.  If you aren't an experienced kernel
hacker or builder, then you probably only want to look at but not
actually use our software. Use at your own risk.  It is complete
enough to use for experimenting but it is not entirely complete.  In
some areas this is because the IPv6 specifications are not yet stable.
In other areas (most notably multi-homed system support) this is
because we haven't gotten there yet.  Contributions of freely
distributable software are welcome (contact us at the ipv6-bugs email
address below).

FUTURE PLANS:
	We plan to continue developing this software and get more
applications ported across.  We would really like to have others
contribute software, particularly applications and bug fixes, to the
net by making it available as part of our distribution.

BUGS:
  	There are a modest number of known bugs (described in the BUGS
file, which read).  Because only limited testing has occurred, there
are probably more as yet undiscovered bugs.  If you find bugs, please
email a detailed bug report to: ipv6-bugs@itd.nrl.navy.mil 
If you find and fix bugs and are willing to share your fix, please send 
a detailed bug report along with a context diff (diff -c) to the same email
address.  We don't guarantee a response to emailed bug reports, but we
will try to respond as our time and resources permit. 

CREDITS:
	The NRL IPv6 software development team included, (in
alphabetical order :-), Randall Atkinson, Ken Chin, Dan McDonald,
Craig Metz, & Bao Phan.  Most of the code has had more than one person
working on it over the past year or so.  

	This work was initially sponsored by the Information Security
Program Office (PD 71E), US Space & Naval Warfare Systems Command
(SPAWAR).  More recently, our work has been and continues to be
sponsored by the Computing Systems Technology Office, Advanced
Research Projects Agency (ARPA/CSTO).  We really appreciate their
sponsorship of our efforts to bring the world IPv6 software (including
cryptographic security).

TRADEMARKS:
	UNIX is a trademark of Novell.
	NRL is a trademark of the US Naval Research Laboratory
	All other trademarks are property of their respective owners.

COPYRIGHTS & PATENTS:
	This software distribution (including its documentation) is
copyrighted.  See the COPYRIGHT file in this directory and also the
various copyright notices in the software itself for more information
on this and on the applicable license terms.  The key engine has a
patent pending but has been licensed on similar no-cost terms because
ARPA has written that into our Statement of Work, see the
netinet6/key.c file for more information on that license.

ROADMAP TO THE DISTRIBUTION:

README is this file.

BUGS is our list of known bugs and warnings about known soft spots.

COPYRIGHT is our copyright notice for the overall distribution.

	The usual BSD directories contain their usual contents.
./sys.common contains the sys/netinet (IPv4) and 
	                  sys/netinet6 (IPv6) software.

./sys.sparc contains the other BSD kernel code for the SPARC.
  NOTE that it only contains files that needed to be modified for IPv6
  and IPsec.

./sys.intel contains context diffs for an Intel machine
  NOTE that it only contains files that needed to be modified for IPv6
  and IPsec.

./usr.bin, ./usr.sbin, ./libexec, and ./sbin contain BSD applications.

./share contains BSD man pages for higher-level concepts (like inet6(4)).

./scripts contains various shell scripts relating to IPv6.  You might
also find some of these handy.

./support contains the IPv6 support library.  Our Makefiles assume you
have built this support library and put the library in /usr/inet6/lib,
and the header files in /usr/include.  We customarily put IPv6
scripts applications in /usr/inet6/bin/

./test contains test software.
