Subject: [dtn-users] DTN2 custody signal handling

From: Vangelis Anifantis <[email-masked]>
Date: Fri, 17 Oct 2014 17:16:25 +0300

hello,

I have been recently playing around with DTN2 (dtn2.9.0 version) 
reference implementation to better understand the custody transfer 
capability (e.g., sending a bundle via dtnsend with activated the option 
-c).

What i am seeing is that, as expected, each dtn node in the 
communication chain accepts the custody request, becomes the custodian 
and sends back a custody signal administrative record to indicate 
"custody_succeeded set to 1" (with indications regarding custody timer 
parameters as configured in the current custodian). However, I observe 
that the custody signal is not handled (neither received) by the 
administrative element, thus, remaining on the "all_bundles list" and 
"pending list"; and consequently, the bundle protocol agent does not 
follow the custody transfer success procedure by deleting the initial 
bundle (i.e., there is still a reference on the "all_bundles list" 
regarding the initial bundle with indication (NOT PENDING)). Do i miss 
any configuration setup regarding the administrative element which is 
deemed necessary?

Furthermore, even though I have set manually (custody_timer_min, 
custody_timer_lifetime_pct,  custody_timer_max) at all dtn nodes to 
differ from the default values, the forwarding log of the initial 
generated bundle keeps displaying the default values, e.g.,
e.g.,
  forwarding log:
         TRANSMITTED -> link_name [dtn:none] FORWARD at 1412929830.51299 
[custody min 1800 pct 25 max 0]
Why is this happening?

Thanks in advance for any help.

Regards,
Vangelis Anifantis

---

From: "Zoller, David A. (MSFC-EO50)[HOSC SERVICES CONTRACT]" <[email-masked]>
Date: Tue, 21 Oct 2014 21:04:42 +0000

Hi Vangelis,
Since the bundles are displaying as (NOT PENDING) the custody signal was actually processed by the administrative element (AdminRegistration.cc). 
The initial bundles remain in the all_bundles list because the Custody Timer still has a reference to the bundle - when the timer expires the bundle will be deleted. The Custody Signal remains in the all_bundles and pending list because AdminRegistration does not update the fwdlog to indicate that the bundle was delivered.

I have not noticed a functional issue after changing the custody timer default values using the param command but may not have paid close enough attention. It could just be a logging issue but I can't say for sure. 

While on the subject of the Custody Timer, I will say that I do not like the implementation which sets the timeout to the min plus the percentage and then overrides that with the max if appropriate. We changed ours so that it starts with the percentage and then overrides with the min and max if needed.

Hope this helps a bit,
DZ

-----Original Message-----
From: dtn-users [mailto:[email-masked]] On Behalf Of Vangelis Anifantis
Sent: Friday, October 17, 2014 9:16 AM
To: [email-masked]
Subject: [dtn-users] DTN2 custody signal handling

hello,

I have been recently playing around with DTN2 (dtn2.9.0 version) reference implementation to better understand the custody transfer capability (e.g., sending a bundle via dtnsend with activated the option -c).

What i am seeing is that, as expected, each dtn node in the communication chain accepts the custody request, becomes the custodian and sends back a custody signal administrative record to indicate "custody_succeeded set to 1" (with indications regarding custody timer parameters as configured in the current custodian). However, I observe that the custody signal is not handled (neither received) by the administrative element, thus, remaining on the "all_bundles list" and "pending list"; and consequently, the bundle protocol agent does not follow the custody transfer success procedure by deleting the initial bundle (i.e., there is still a reference on the "all_bundles list" 
regarding the initial bundle with indication (NOT PENDING)). Do i miss any configuration setup regarding the administrative element which is deemed necessary?

Furthermore, even though I have set manually (custody_timer_min, custody_timer_lifetime_pct,  custody_timer_max) at all dtn nodes to differ from the default values, the forwarding log of the initial generated bundle keeps displaying the default values, e.g., e.g.,
  forwarding log:
         TRANSMITTED -> link_name [dtn:none] FORWARD at 1412929830.51299 [custody min 1800 pct 25 max 0] Why is this happening?

Regards,
Vangelis Anifantis

_______________________________________________
dtn-users mailing list
[email-masked]
https://www.irtf.org/mailman/listinfo/dtn-users