DTN Reference Implementation
============================

This is the Delay Tolerant Networking reference implementation. See
the file STATUS for an overview of the state of the code, particularly
in reference to the various internet drafts and (someday) RFCs that
describe the bundling protocol. Also, the file RELEASE-NOTES describes
major changes in each release. 

Compilation / Installation Instructions
---------------------------------------

./configure -C
make
make install

Note that by default, the configure script will also run configure
inside the oasys/ subdirectory. The -C argument enables the autoconf
variable cache, which speeds up configuration. 

Note that if you need to make changes to the configure.ac script or
one of the helper scripts in aclocal/*.ac, run build-configure.sh to
recreate configure and then check in both your changes as well as the
newly generated configure script.

Getting Started
---------------

A good place to start for playing around with DTN is to look at the
manual and tutorials (see doc/manual/index.html). This set of
documentation explains some of the configuration and applications. If
you find omissions or errors, please feel free to post updates and
corrections to dtn-users@mailman.dtnrg.org.

Reporting Bugs / Other Help
---------------------------
As of this release, there is no bug tracking system in place. Please
direct questions and/or bug reports to dtn-bugs@mailman.dtnrg.org.

DTN2 Directory Structure
------------------------

applib/			application interface library and ipc layer
apps/			example dtn applications
doc/			documentation
daemon/			dtn router daemon sources
ideas/			temporary code idea repository
servlib/		dtn router internals
servlib/bundling/	bundle management and forwarding logic
servlib/contacts/	next hop structures and link types
servlib/cmd/		tcl based command interface
servlib/conv_layers/	convergence layers
servlib/naming/		endpoint identifier schemes
servlib/reg/		local registrations
servlib/routing/	bundle routing logic
servlib/storage/	persistent storage management
sim/			simulation framework
test/			unit tests and other test files
test-utils/		test scripts and utilities

oasys/compat/		portability and compatibility logic
oasys/debug/		debugging and logging support code
oasys/io/		I/O and networking support code
oasys/memory/		memory management and debugging support
oasys/serialize/	object serialization support
oasys/smtp/		SMTP (mail) protocol handlers
oasys/storage/		persistant storage interface 
oasys/tclcmd/		tcl command infrastructure and support
oasys/test/		unit tests and other test files
oasys/thread/		thread / lock support implementation
oasys/util/		miscellaneous utility classes

External Requirements
---------------------

gcc/g++
pthreads
tcl8.3+

Optional External Packages
--------------------------
tclreadline
tclx
tcllib
BerkeleyDB
