Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nasa/DTNME
Last synced: 29 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/nasa/DTNME
- Owner: nasa
- License: other
- Created: 2020-04-07T18:14:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-29T16:43:36.000Z (7 months ago)
- Last Synced: 2024-08-03T21:02:03.694Z (4 months ago)
- Language: C++
- Size: 4.76 MB
- Stars: 18
- Watchers: 8
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Contributing: CONTRIBUTING
- License: LICENSE
Awesome Lists containing this project
- awesome-dtn - DTNME - DTN Marshal Enterprise Implementation (Bundle Protocol Version 6 - RFC 5050)
README
DTN Marshal Enterprise Implementation
============================This is the Delay Tolerant Networking reference implementation managed
by Marshal Space Flight Center. Please bear with us as we get this repo
up and running. We have worked hard to clean up the code to remove
unused or half finsihed classes from the original DTN2 implementation
in an attempt to stabilize the code. It is expected that with v0.1
there will be some things that we missed, but should be caught by the
time we reach v1.0. 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. This implementation
is based on DTN2, but also includes all the changes that Marshal Space
Flight Center has made over the years. This is the beta release of version
DTNME v1.2.0. As such it has only been through internal development testing
and has not received any independent verification testing. This version
includes updated support appplications, support for BPv6 and BPv7(including
BIBE, mTCPCL, and TCPCLv4), and fixes to improve the stability of the BPv6
code. Any unfinished or unused code from DTN2 has been fully removed at
this point. This code includes the Bundle Architectural Restaging Daemon (BARD)
which is designed to offload bundles to an external storage mechanism
to reduce the processing overhead caused by storing a large number of bundles
on the main node. Due to the nature of this function it also provides a
convenient method to inject and remove bundles from the DTN Network
effectively allowing BARD to act as an air gap covergence layer.Compilation / Installation Instructions
---------------------------------------Dependencies
libdb-dev g++ automake autotools-dev tk tk-dev tcl tcl-dev libboost-all-devBuilding
./step_1_make_gcc_dtnme.sh or step_1_make_clang_dtnme.sh - By default use gcc
This script will use gcc or clang to compile dtnme according to the default configuration
./step_2_install_dtnme.sh
This script copies all of the binaries and places them in a defined directory structure
./step_3_clean_dtnme.shThis script removes all build files and links so the source can be copied over to a different machine
Note that by default, the configure script will also run configure
inside the oasys/ subdirectory.Note that if you need to make changes to the configure.ac script or
one of the helper scripts in aclocal/*.ac, run make_dtnme.sh to
recreate configure and then check if both your changes as well as the
newly generated configure script are ready.Reporting Bugs / Other Help
---------------------------
A bug tracking system is in place. Please direct bug reports to
https://github.com/nasa/DTNME.DTNME Directory Structure
------------------------applib/ application interface library and ipc layer
apps/ dtn support applications
daemon/ dtn router daemon sources
ehsrouter/ specialized external router used MSFC
servlib/ dtn router internals
|-- bundling bundle management and forwarding logic
|-- cmd tcl based command interface
|-- contacts
|-- conv_layers convergence layers
|-- naming endpoint identifier schemes
|-- reg local registrations
|-- routing bundle routing logic
|-- storage persistent storage management
third_party/ holds all dependent librariesExternal Requirements
---------------------
gcc/g++Optional External Packages
--------------------------
WolfSSL