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 (or make deb ; dpkg -i dtnd..deb) 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-bugs@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+ one or more of: BerkeleyDB 4.2+ (enabled by default) mysql (enabled with configure options) postgressql (enabled with configure options) Optional External Packages -------------------------- tclreadline tclx tcllib