Subject: Re: [dtn-users] endpoint addressing
From: Jeff Wilson <[email-masked]>
To: [email-masked]
Date: Wed, 28 Sep 2005 21:21:12 -0500
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>

I changed "internet://" to "dtn://" and appended ".dtn" to the
hostnames in my dtn.conf.  I verified that [info hostname] was the
same as the hostname for the command line argument passed in to
dtnping.  And I appended ".dtn" to the command line hostname argument.

It works!  Thank you for clarifying!

Here's the updated config file for hostA ...
     1  log /dtnd info "dtnd parsing configuration..."
     2  storage set type berkeleydb
     3  storage set payloaddir /home/jwilson/dtn/bundles
     4  storage set dbname     DTN
     5  storage set dbdir      /home/jwilson/dtn/db
     6  storage set dberrlog   DTN.errlog
     7  route set type static
     8  route local_eid "dtn://[info hostname].dtn"
     9  interface add tcp0 tcp
    10  interface add udp0 udp
    11  link add tcp0 hostB:5000 ONDEMAND tcp
    12  route add dtn://hostB.dtn/* tcp0
    13  log /dtnd info "dtnd configuration parsing complete"

With a similar config on hostB, I get ping responses from the
following (no trailing slash needed)

dtnping dtn://hostB.dtn

Thanks again!

         jw

Date: Wed, 28 Sep 2005 18:22:06 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] endpoint addressing
Sender: [email-masked]
Reply-To: [email-masked]

Your conf looks mostly right.  There's a few problems:

1) You shouldn't really be using "internet://", but rather all your
   URIs should be dtn://

2) I'm not sure what your actual hostnames are, but make sure that in
   line 8, where you say route local_eid dtn://[info hostname].dtn
   that the tcl call to [info hostname] returns the same literal
   strings that you're using in your routes (i.e. the string hostA or
   hostB)

3) Line 12 should therefore be route add dtn://hostB.dtn/* tcp0.

4) You should then be able to run 'dtnping dtn://hostB.dtn' and it
   should work.

If it still doesn't, try adding a trailing slash to the URI you pass
to dtnping, there may be a bug in which the route pattern I mentioned
in 3) doesn't match the literal without the trailing slash.

If this still fails, please post the debug log output from both hosts
and I can try to help more.

-mike

> Today's CVS checkout (2005 Sep 28) -- I tried to dtnping and
> dtn[send|recv] and neither works for me.  (I already took Bowei's
> advice and created a clean CVS tree.)  I'm pretty sure it's an error
> on my part, since so much in the addressing has changed from the
> release of DTN 2.1.1 to the current CVS version.
> 
> Using the following conf on host A (minus the line numbers) ...
> 
> <conf>
>      1  log /dtnd info "dtnd parsing configuration..."
>      2  storage set type berkeleydb
>      3  storage set payloaddir /home/jwilson/dtn/bundles
>      4  storage set dbname     DTN
>      5  storage set dbdir      /home/jwilson/dtn/db
>      6  storage set dberrlog   DTN.errlog
>      7  route set type static
>      8  route local_eid "dtn://[info hostname].dtn"
>      9  interface add tcp0 tcp
>     10  interface add udp0 udp
>     11  link add tcp0 hostB:5000 ONDEMAND tcp
>     12  route add internet://hostB/* tcp0
>     13  log /dtnd info "dtnd configuration parsing complete"
> </conf>
> 
> ... and a similar conf on host B, how would I get dtnping to route
> across the link from A to B?  I tried `dtnping internet://hostB` with
> no luck, and `dtnping internet://hostB.dtn` with no luck.  Where's my
> typo?  (line 12?)  Or do I have some fundamental misunderstanding?
> 
> Thank you for all the hard work you put into this implementation, and
> thank you for taking the time to answer my questions!
> 
>          Regards,
>            jw
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users

Date: Wed, 28 Sep 2005 15:29:44 -0500
From: Jeff Wilson <[email-masked]>
To: [email-masked]
Subject: [dtn-users] endpoint addressing
Sender: [email-masked]
Reply-To: [email-masked]

Today's CVS checkout (2005 Sep 28) -- I tried to dtnping and
dtn[send|recv] and neither works for me.  (I already took Bowei's
advice and created a clean CVS tree.)  I'm pretty sure it's an error
on my part, since so much in the addressing has changed from the
release of DTN 2.1.1 to the current CVS version.

Using the following conf on host A (minus the line numbers) ...

<conf>
     1  log /dtnd info "dtnd parsing configuration..."
     2  storage set type berkeleydb
     3  storage set payloaddir /home/jwilson/dtn/bundles
     4  storage set dbname     DTN
     5  storage set dbdir      /home/jwilson/dtn/db
     6  storage set dberrlog   DTN.errlog
     7  route set type static
     8  route local_eid "dtn://[info hostname].dtn"
     9  interface add tcp0 tcp
    10  interface add udp0 udp
    11  link add tcp0 hostB:5000 ONDEMAND tcp
    12  route add internet://hostB/* tcp0
    13  log /dtnd info "dtnd configuration parsing complete"
</conf>

... and a similar conf on host B, how would I get dtnping to route
across the link from A to B?  I tried `dtnping internet://hostB` with
no luck, and `dtnping internet://hostB.dtn` with no luck.  Where's my
typo?  (line 12?)  Or do I have some fundamental misunderstanding?

Thank you for all the hard work you put into this implementation, and
thank you for taking the time to answer my questions!

         Regards,
           jw

Date: Tue, 27 Sep 2005 15:06:51 -0700
From: Bowei Du <[email-masked]>
To: [email-masked]
Subject: [dtn-users] Directories have been moved in the repository
Sender: [email-masked]
Reply-To: [email-masked]

Hi all -

We've moved several directories in the DTN2 reference implementation
cvs repository. If there are any errors when you update, please save
your local changes and check out a fresh version of the repository.

Bowei Du

Date: Tue, 20 Sep 2005 08:50:32 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] question with dtn_recv()
Sender: [email-masked]
Reply-To: [email-masked]

> I am testing the reference and I would like to know if it is
> possible that, if for example when I send two bundles, and the end
> to end receipt of the first one arrives later than the one from the
> second one, dtn_recv knows whose receipt is each one, and gives me
> the correct times for both of them.( I have done a fork in dtn_recv
> so I dont block the program waiting for the receipts)

The API for getting status reports is currently under some
development, so I'm hoping this will change in the future. For now,
you need to look into the payload part of the bundle, where it
contains the original source endpoint id and timestamp of the bundle
that is being acknowledged to tell which one is which. 

I'm hoping to have a better story for this in the future, however...

-m

Date: Tue, 20 Sep 2005 11:35:19 +0200
From: Isidro Nistal Garrido <[email-masked]>
To: [email-masked]
Subject: [dtn-users] question with dtn_recv()
Sender: [email-masked]
Reply-To: [email-masked]

Hi everybody

I am testing the reference and I would like to know if it is possible that, if
for example when I send two bundles, and the end to end receipt of the first one
arrives later than the one from the second one, dtn_recv knows whose receipt is
each one, and gives me the correct times for both of them.( I  have done a fork
in dtn_recv so I dont block the program waiting for the receipts)

Thanks in advance. 

Isidro Nistal Garrido
Spanish Exchange Student in Luleå
Tfn: +46 730 583 165

Date: Wed, 14 Sep 2005 08:12:00 -0700
From: Michael Demmer <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] trouble with dtn_recv()
Sender: [email-masked]
Reply-To: [email-masked]

> Hi, i downloaded the latest cvs reference implementation and tried to use the
> dtnping and dtnrecv on my pc (fedora 3).
> 
> Each time that i try to receive a bundle, i get:
> 
>     "error getting recv reply: -1 (operation timed out)"
> 
> and the program quits.
> 
> It seems there's something wrong with the dtn_recv instruction (the dtn daemon
> receives the incoming bundle correctly).

The code is in a bit of flux at the moment (though I think it's
getting much better...) 

I'm planning on putting out a new release for general testing some
time around the end of the month. Until then, please either contribute
patches that fix problems like the above or just try to be patient :-)

-mike

Date: Wed, 14 Sep 2005 10:02:13 +0200
From: "[email-masked]" <[email-masked]>
To: [email-masked]
Subject: [dtn-users] trouble with dtn_recv()
Sender: [email-masked]
Reply-To: [email-masked]

Hi, i downloaded the latest cvs reference implementation and tried to use the
dtnping and dtnrecv on my pc (fedora 3).

Each time that i try to receive a bundle, i get:

    "error getting recv reply: -1 (operation timed out)"

and the program quits.

It seems there's something wrong with the dtn_recv instruction (the dtn daemon
receives the incoming bundle correctly).

Any help about this?
Thanks, Piero