NRL IPv6 Software Distribution
Release "Alpha-2" 19 January 1996
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). 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-2" 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.
We have more features working now than the original release did. These
- Bug fixes
- Better multihomed support
- Improvements to IPsec, and a step toward separating the IPsec/v6
dependency in this implementation.
- Forwarding engine, and a crude router advertisement program.
- Router advertisement handling.
- Better route handlers, including default routes, network routes, and
cloning for easy Path MTU discovery.
- Path MTU discovery.
- Stateless address configuration, though with permanent lifetimes.
- Up-to-date neighbor discovery.
- Multicast option support (though no ICMP/IGMP messages yet)
- I may have even forgotten something, though I doubt it.
There have been personnel changes within the IPv6 group at NRL,
but development work does continue. NRL is willing to consider accepting
contributed changes as long as those changes are freely distributable.
If you have contributions to offer, please send email to the developers
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
do the best you can. The email@example.com alias is probably still
up, though we cannot guarantee any results.
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
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
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.