Subject: [dtn-users] Use of metadata with DTNSEND and DTNRECV

From: Luca Tartarini <[email-masked]>
Date: Thu, 6 Dec 2012 19:31:39 +0100

Dear DTN2 users, I am a student of the University of Bologna and I
am carrying out a thesis on the possible use of metadata for DTN routing. I
have a problem in the use of metadata with the applications DTNSEND
and DTNRECV, DTN2 2.9.0 on Debian.
If I try to send a bundle with metadata from vm1.dtn to vm2.dtn launching
this command on vm1.dtn:
vm1: dtnsend -v -s dtn://vm1.dtn/me -d dtn://vm2.dtn -t m -p "testing3"
-M 1 -S "meta"
while on vm2.dtn dtnrecv is running (vm2: dtnrecv -v dtn://vm2.dtn)
I do not receive anything on vm2.dtn, while in the dtn.log of vm1.dtn I can
see the following two errors:

[1354724317.364108 /dtn/bundle/protocol error]
BundleProtocol::prepare_blocks: 8-prepare returned BP_FAIL on bundle 10
[1354724317.364128 /dtn/bundle/actions error]
BundleActions::queue_bundle:
prepare_blocks returned NULL on bundle 10

Note that:
1) without the -M option the bundle is received correctly (of
course without metadata).
2) if the source and the destination are the same, i.e. if I launch:
vm1: dtnsend -v -s dtn://vm1.dtn/me -d dtn://vm1.dtn -t m -p "testing3"
-M 1 -S "meta"
both the bundle and metadata are received correctly.

Any help will be greatly appreciated.

Thanks, Luca Tartarini.

---

From: TSELIKIS.Christos <[email-masked]>
Date: Tue, 11 Dec 2012 07:23:50 +0000

Hi Luca,
may be is trivial, ok with dtn2.8 (without vm):
root@dtnrouter:~/dtn/usr/bin# ./dtnrecv -v dtn://192.168.1.51.dtn/a
dtnrecv (pid 8945) starting up
opening connection to dtn router...
opened connection to dtn router...
calling parse_eid_string
find registration succeeded, regid 0
register succeeded, regid 11
looping forever to receive bundles
dtn_recv [dtn://192.168.1.51.dtn/a]...
bundle spec at 0xBFFA3C04

0 extension blocks from [dtn://192.168.1.100.dtn/me]: transit time=0 ms

1 metadata blocks from [dtn://192.168.1.100.dtn/me]: transit time=0 ms
Metadata Extension Block 0:
                type = 1
                flags = 0
0000000 6d65 7461                               |  meta

14 payload bytes from [dtn://192.168.1.100.dtn/me]: transit time=0 ms
0000000 7465 7374 696e 6733 2d63 6169 6e69      |  testing3

Freeing metadata block [0].data at 0x08060070
dtn_recv [dtn://192.168.1.51.dtn/a]...

With very br,
ctselikis

Tselikis Christos
Hellenic Aerospace Industry S.A.
Electronics Engineering Department
e-mail: [email-masked]<mailto:[email-masked]>
PO Box 23, GR-32009 Schimatari, Greece
Tel. : +30 22620 52561
Fax: +30 22620 52910
[untitled]

From: [email-masked] [mailto:[email-masked]] On Behalf Of Luca Tartarini
Sent: Thursday, December 06, 2012 8:32 PM
To: [email-masked]
Subject: [dtn-users] Use of metadata with DTNSEND and DTNRECV

Dear DTN2 users, I am a student of the University of Bologna and I am carrying out a thesis on the possible use of metadata for DTN routing. I have a problem in the use of metadata with the applications DTNSEND and DTNRECV, DTN2 2.9.0 on Debian.
If I try to send a bundle with metadata from vm1.dtn to vm2.dtn launching this command on vm1.dtn:
vm1: dtnsend -v -s dtn://vm1.dtn/me -d dtn://vm2.dtn -t m -p "testing3" -M 1 -S "meta"
while on vm2.dtn dtnrecv is running (vm2: dtnrecv -v dtn://vm2.dtn)
I do not receive anything on vm2.dtn, while in the dtn.log of vm1.dtn I can see the following two errors:
[1354724317.364108 /dtn/bundle/protocol error]
BundleProtocol::prepare_blocks: 8-prepare returned BP_FAIL on bundle 10
[1354724317.364128 /dtn/bundle/actions error]
BundleActions::queue_bundle:
prepare_blocks returned NULL on bundle 10

Note that:
1) without the -M option the bundle is received correctly (of course without metadata).
2) if the source and the destination are the same, i.e. if I launch:
vm1: dtnsend -v -s dtn://vm1.dtn/me -d dtn://vm1.dtn -t m -p "testing3" -M 1 -S "meta"
both the bundle and metadata are received correctly.

Thanks, Luca Tartarini.

---

From: Caini Carlo <[email-masked]>
Date: Mon, 17 Dec 2012 20:03:05 +0100

Dear Christos and others,
  I have personally repeated the tests carried out by Luca Tartarini, 
a thesis student of mine, on DTN2 2.9 and on 2.8+ (not the 2.8 stable 
version, but one obtained from Mercurial), obtaining the same results 
of Tartarini.
I can therefore confirm the bug, which is on the sending side, i.e. 
on dtnsend.

The bundle with metadata (-M1), if addressed to a node different from 
the source is not actually transmitted, but is added to the list of 
pending bundles. Viceversa, the same bundle is transmitted and 
received correctly if  the source and destination are the same. 
Moreover, without the -M 1 option bundle are sent correctly in both cases.

The fact that this bug is not present in stable 2.8 is an important 
information, but we would like to use the new one, of course.
Yours,
    Carlo Caini

At 08.23 11/12/2012, TSELIKIS.Christos wrote:
>Content-Language: en-US
>Content-Type: multipart/related;
> 
>boundary="_004_A1E9924741E2C74A9ABA10C2DDBAA117013BE7HAIMAIL2010SRV1ha_";
>         type="multipart/alternative"
>
>Hi Luca,
>e-mail: <mailto:[email-masked]>[email-masked]
>untitled
>am carrying out a thesis on the possible use of metadata for DTN 
>routing. I have a problem in the use of metadata with the 
>applications DTNSEND and DTNRECV, DTN2 2.9.0 on Debian.
>I do not receive anything on vm2.dtn, while in the dtn.log of 
>vm1.dtn I can see the following two errors:
>_______________________________________________
>dtn-users mailing list
>[email-masked]
>https://www.irtf.org/mailman/listinfo/dtn-users

---

From: ccaini <[email-masked]>
Date: Tue, 18 Dec 2012 16:51:57 +0100

Dear Christos,
     my mail was just to inform all dtn-user, and DTN2 mantainers, about
the fact that the metadata problem with Dtnsend that has been discovered in
DTN 2.9 by Luca Tartarini, and that you did not found in 2.8 (stable?), was
already present in a 2.8+ version built with Mercurial (i.e. not from
stable code). Now I can add that this 2.8+ version was actually built in
December 2011. 
I would conclude that the problem originated between 31 August 2011 (2.8
stable released) and December 2011. I hope that this notes can be of some
help to mantainers in order to have the bug fixed.
As far as DTN experiments on smartphones, I suppose we had better open a
different discussion topic. Therefore I will reply opening a new topic.
Yours,
   Carlo

On Tue, 18 Dec 2012 07:58:38 +0000, TSELIKIS.Christos
<[email-masked]> wrote:
> Dear Professor, dear all, we have no doubt about the correctness of your
> results, also I have to try to send metadata with v2.9 asap.
> We stay online for cooperation on relevant issues, actually now working
on
> the scenario with dynamic IPs, are you using a specific discovery
protocol
> when configuring an  OPPORTUNISTIC link from DTN gateway to smartphone? 
> Thank you very much in advance,
> With very best regards,
> 
> Tselikis Christos 
> e-mail: [email-masked] 
> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On
> Behalf Of Caini Carlo
> Sent: Monday, December 17, 2012 9:03 PM
> To: [email-masked]
> Subject: Re: [dtn-users] Use of metadata with DTNSEND and DTNRECV
> 
>   I have personally repeated the tests carried out by Luca Tartarini, a
>   thesis student of mine, on DTN2 2.9 and on 2.8+ (not the 2.8 stable
of
>   Tartarini.
the
> source is not actually transmitted, but is added to the list of pending
> bundles. Viceversa, the same bundle is transmitted and received
correctly
> if  the source and destination are the same. 
>>e-mail:
>><mailto:[email-masked]>[email-masked]