Subject: [dtn-users] DTN2.9 - ACS and some performance improvement patches uploaded

From: "Zoller, David A. (MSFC-EO50)[HOSC SERVICES CONTRACT]" <[email-masked]>
Date: Thu, 7 Mar 2013 19:50:40 -0600

Hello all,
I have uploaded two patches to the DTN2 Sourceforge Tracker/Patches section:
http://sourceforge.net/tracker/?group_id=101657&atid=630169

The DTN2.9 Aggregate Custody Signals and Performance Improvements set of patches include the 2.8 ACS and improvements uploaded last year plus additional modifications dealing with the delivery of bundles to registrations to allow more then 64K bundles to be delivered upon connection (oasys::notifier) and to make the initial deliveries in the background to prevent stalling the main BundleDaemon processing  thread. The DTN2 patch is against changeset 3564 and is not compatible with the two dtntunnel changesets that were applied this morning - it can be hard to keep up sometimes  :).
Here is a direct link to download this set of patches:
http://sourceforge.net/tracker/download.php?group_id=101657&atid=630169&file_id=461297&aid=3607104
The list of modified files can be seen here:
http://sourceforge.net/tracker/?func=detail&aid=3607104&group_id=101657&atid=630169

The DTN2 - 3 Node Test patch provides scripts, configuration files and a Java utility to generate UDP packets for the test introduced below. This patch can be applied to any DTN2 changeset as it is all new directories and files. You'll need a Java JDK installed to build the Java utility (udprepeater.jar) or you can download a copy below.
Here is a direct link to download the 3 node test patch:
http://sourceforge.net/tracker/download.php?group_id=101657&atid=630169&file_id=461292&aid=3607106

A tutorial for patching and building the software, running the 3 Node Test and compiling the results can be downloaded here:

https://docs.google.com/file/d/0B8ZX0kVfBMtqS2hoVnRFRVlGNUU/edit?usp=sharing

A patched set of source code (includes the Java utility) ready to configure and build can be download here:

https://docs.google.com/file/d/0B8ZX0kVfBMtqeWNlZEF5eHBqMkk/edit?usp=sharing
md5sum  dtn2.9_patched_src.tar.gz  =  f7da2083b8fe4da3cb124594b4123e76

The Java utility pre-built using jdk1.6.0_41 can be downloaded here:

https://docs.google.com/file/d/0B8ZX0kVfBMtqakd1bGdKa3ZWbWM/edit?usp=sharing
md5sum udprepeater.jar  =  c49d26f825a8d80f29aeca8745034048
To run it:   java -jar udprepeater.jar

if only certain elements of the patches are desired then let me know and I can pull them out and repackage them into smaller more specialized patches.

New DTN2 configure options:

*         --with-acs              to enable inclusion of the draft Aggregate Custody Signals and Custody Transfer Enhancement Block

*         --with-ecos           to enable a partial implementation of the Extended Class of Service Block

*         --with-bid64bit    to enable 64 bit Bundle IDs

*         --with-bdstats     to enable generating spreadsheet compatible once per second BundleDaemon event statistics

The 3 Node Test
>From the tutorial (reprinted with permission):

Results running on three of our virtual systems:

Please let me know if you run into any issues.
Best regards,
DZ

David Zoller
COLSA Corporation
Marshall Space Flight Center

---

From: David Zoller <[email-masked]>
Date: Thu, 7 Mar 2013 22:09:11 -0600

So... I made it home and found that several DTN2 patches have been applied
and others uploaded. It looks like the two dtntunnel implementations have
diverged a bit and the patches by that DZ character are slightly out of
date. With my home-hobbyist hat on, maybe I can remedy that...

This patch can be applied to the *DTN2.9 Aggregate Custody Signals and
Performance Improvements* set of patches as applied to DTN2 changeset 3564
to update it with the last 4 patches. It also updates some of the new files
with the fix that Lana Black pointed out in changeset 3568.
*apply_last_4_patches_to_dtn2.9.0x.patch* can be downloaded here:
https://docs.google.com/file/d/0B8ZX0kVfBMtqQXQ0X0FsZ01uaUE/edit?usp=sharing
Set default to the dtn2.9.0x directory and run:  patch -p1 -i
apply_last_4_patches_to_dtn2.9.0x.patch

Or you can download the fully patched source code here:
https://docs.google.com/file/d/0B8ZX0kVfBMtqZkdJcXlIWDA0OGc/edit?usp=sharing
md5sum dtn2.9_acs_patched_src_with_last_4_patches.tar.gz  =
 a42206d2c6615406133965dc3d07964d

This optional patch can be applied to the latest DTN2 Sourceforge version
to merge the two dtntunnel implementations into Sergey's transparent
tunnel. I see that it adds options to override the default UDP
socket buffer sizes, monitor the throughput rate and to monitor a sequence
counter used in the 3 Node Test. It updates the files in dtntunnel and also
adds librt to the LDLIBS in apps/Makefile for the monitor feature.
*update_transparent_tunnel.patch* can be downloaded here:
https://docs.google.com/file/d/0B8ZX0kVfBMtqc1ZWVWllYXY5S0k/edit?usp=sharing
Set default to your dtn2.9.0 directory and run:  patch -p1 -i
update_transparent_tunnel.patch

Best regards,
h-h DZ  ;-)