Subject: Re: [dtn-users] Opportunistic links - opening/closing
From: "Scott, Keith L." <[email-masked]>
To: Elwyn Davies <[email-masked]>, Tomas Hall <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Date: Tue, 30 Mar 2010 12:55:21 -0400
List-Id: dtn-users mailing list <dtn-users.maillists.intel-research.net>

The NORM convergence layer that ships as part of DTN2 uses the Nack-Oriented Reliable Multicast (NORM) protocol over UDP.  It is quite configurable (including ways to shoot oneself in the foot) but can do remarkably well in some situations.  For example, NORM can use TFMRC (TCP-Friendly Multicast Rate Control) (and can be used for unicast convergence layer connections as well), so it will rate control outbound traffic.  NORM can also be configured to provide reliability.  If you're really interested we can discuss in more depth the tradeoffs between NORM and TCP as DTN CLs, but essentially NORM can support multicast and its reliability mechanisms are better suited to some channels (like when MAC is a really heavy-weight operation and you don't want to try to turn the channel around to support TCP's ACK stream).

                --keith

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Elwyn Davies
Sent: Tuesday, March 30, 2010 11:04 AM
To: Tomas Hall
Cc: [email-masked]
Subject: Re: [dtn-users] Opportunistic links - opening/closing

Hi  Tomas.

Nope.  The UDP behaviour is a feature, not a bug or misuse.

The UDP convergence layer is very dumb (and is generally not recommended
for real world applcations).
The LTP convergence layer runs over UDP though.  I haven't had chance to
review the new LTP convergence layer yet.

As currently implemented the UDP convergence layer (AFAICS) does not
turn on the rate control that it sort of offers, and partially
implements - I may not have fully understood what is going on but I
think I am right - so it contravenes the UDP applications guidelines
designed to avoid UDP clogging up the network.  Fortunately there aren't
many of them out there yet!

Anyway, as I said originally, the UDP sender will happily send as many
smallish bundles into a black hole forever once you have created a link
with discovery.  One solution to this would be to time out the links
that are generated by UDP discovery.  The IP advertisements contain a
field that is not actually used by the receiver which is filled with the
interval between adverts.  If you didn't see another advertisement from
the same source within 2 or 3 of these intervals you could shut down the
link.  [BTW This interval is in units of 100ms ...  The IP announcement
code converts the interval time as supplied in seconds into milliseconds
(*1000) internally and then back into units of 100 ms ) / 100) to fill
in the  8 bit field in the advert. The interval is thrown away at the
receiver.  My brain hurts.  And the biggest interval it can carry is 25
seconds.]

Regards,
Elwyn
Tomas Hall wrote:
> Yikes, you guys are a lot faster than I had anticipated. Thank you
> everyone, I have a whole bunch of alternatives now but I've probably
> reached the stage now where I need to figure out exactly what I want
> to do before I can proceed now that I have an idea what can be done.
> Using scripts (extensively) might not be the best option though, the
> plan was to interface the emulator with DTN to control everything from
> there automatically using the built-in mechanism in the emulator.
> Still, it's certainly an option if it turns out to be the far better
> than the alternatives.
>
> I might also note that I did a few tests using the emulator (on the
> gateway machine B) and DTN. Using TCP, it actually worked fairly well
> by simply cutting the bandwidth or introducing 100% packet loss, with
> no interaction with DTN needed at all. UDP was another story. Once the
> link was discovered, DTN sent everything and didn't care that nothing
> reached the destination no matter what I did to the physical link or
> the emulated properties (which I suppose makes sense, it's UDP. Duh).
> I have a vague memory of reading somewhere that DTN used some sort of
> semi-reliable UDP transfer though, but at this point I'm not sure if
> I'm doing something wrong, if something is not working right, or if
> everything actually is working as it should. Using the link close and
> link open commands seemed to work, so with a bit of work getting
> around the potentially unknown link name, that is certainly an option.
>
> Thanks again,
> Thomas Hall
>
>
> On Mon, Mar 29, 2010 at 9:18 PM, Scott, Keith L. <[email-masked]
> <mailto:[email-masked]>> wrote:
>
>     Alternately, use a script on B (hopefully B is Linux) that
>     instantiates traffic control and/or firewall rules to
>     allow/disallow packets from A to C.  This would then drive work to
>     ensure that DTN2's neighbor discovery mechanisms are working
>     correctly (and maybe augmenting them if they're not) to actually
>     respond to the environment.
>
>                    --keith
>
>     -----Original Message-----
>     From: [email-masked]
>     <mailto:[email-masked]>
>     [mailto:[email-masked]
>     <mailto:[email-masked]>] On Behalf
>     Of Elwyn Davies
>     Sent: Monday, March 29, 2010 2:20 PM
>     To: [email-masked]
>     <mailto:[email-masked]>
>     Subject: Re: [dtn-users] Opportunistic links - opening/closing
>
>     One trick you could try...
>
>     Write a very simple internal appkication (like the ping echoer) that
>     registers at <localeid>/close (or some such).  Send it a bundle
>     with the
>     remote eid you want closed as the payload.. do a search just as in the
>     Discovery handle_neighbor_discovery routine and then post a
>     LinkStateRequestEvent -> CLOSED event - hey presto.. a wonderful
>     denial
>     of service tool! O:-) :-D
>
>     Regards,
>     Elwyn
>
>     Tomas Hall wrote:
>     > Hi Elwyn,
>     >
>     > Yeah, the timeout was sort of a shot in the dark on my part,
>     hoping to
>     > escape as much work as possible. It's not really the physical link
>     > states that I'm interested in, but the DTN representation of them.
>     >
>     > Anyway, I should probably expand a bit on the background to
>     hopefully
>     > make it a bit more clear what I'm trying to do.
>     > I'll be doing experiments with DTN using an emulator (machine B
>     in my
>     > setup). As is generally the case in DTNs, links may come and go,
>     which
>     > is why I need to close/open links. I have a communication mechanism
>     > from the emulator already in place (it sends UDP messages over a
>     > separate control network), so what is needed is something on the DTN
>     > machines to receive, interpret and do what the control message tells
>     > them to. Essentially, I want to be able to fool the DTN nodes into
>     > thinking that the link is unavailable without having to actually
>     pull
>     > the ethernet cable. I'm also trying to make this as automatic as
>     > possible, i.e. no matter what DTN calls the links that are
>     > established, what IP and ports, protocols etc. they are on, this
>     could
>     > all be sent from the node to the emulator (a mechanism for receiving
>     > this type of information is also in place, so that's just a
>     couple of
>     > strategically placed lines of code in the DTN code). This is why I'm
>     > looking at the discovery/announce mechanism, as this is (from what I
>     > can tell) where DTN receives the information it needs to
>     establish an
>     > opportunistic link. Hence, I figured it also receives all the
>     > information I need to close it (find the LinkRef in the
>     ContactManager
>     > using the CL and EID, do a link state change request via the
>     > BundleDaemon with the appropriate state flags).
>     >
>     > I'm still somewhat unclear about whether I should be trying to tell
>     > DTN to change the link state between unavailable or available or
>     close
>     > it completely and then reestablishing it later. All I need really is
>     > to ensure that DTN doesn't send data on it, thinking the link is
>     alive
>     > and well because it hasn't been told otherwise. Since the
>     timeout was
>     > a dead end, I'm hoping I can get away with copying the received
>     > announcement information, then use this information to change the
>     > state of the link that is established state to unavailable when I
>     > receive a control message (exactly where I haven't worked out
>     yet, but
>     > somewhere in the Discovery hierarchy is where I'm at right now). It
>     > does rely on two things that I know of though; 1) the
>     > available/unavailable state can be used for opportunistic links, and
>     > 2) the announcement does not activate an already discovered but
>     > "unavailable" link (can be solved by deactivating the announcement
>     > mechanism, I suppose). I'm not sure how DTN would react to something
>     > like that. Like I said, I'm trying to reuse as much existing code as
>     > possible, hopefully leaving the Discovery and IPDiscovery classes
>     > (which seems to be those that are relevant for what I'm trying
>     to do)
>     > relatively intact.
>     >
>     > I'll take a look at the classes you suggested and see if I find
>     > something. Hopefully it'll at least give me enough to test the
>     ideas I
>     > already have and see if it's doable. Of course, I'd be happy to take
>     > any other ideas how it can be solved as well.
>     >
>     > Thanks,
>     > Thomas Hall
>     >
>     >
>     > On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies
>     <[email-masked] <mailto:[email-masked]>
>     > <mailto:[email-masked] <mailto:[email-masked]>>> wrote:
>     >
>     >     Hi, Tomas.
>     >
>     >     By default, opportunistic links remain open until explicitly
>     closed or
>     >     the daemon discovers it can't send on the link. In
>     particular there is
>     >     no idle timeout.
>     >
>     >     However, it appears you are using the UDP convergence layer,
>     so links
>     >     are something of a tenuous concept.  There is no state on
>     the remote
>     >     side for UDP links so you can just close the link on the local
>     >     (sending)
>     >     side.  On the remote (receiving side) the interface add command
>     >     creates
>     >     a socket that will accept bundles from anywhere that chooses
>     to send
>     >     them if you don't specify a remote address for the
>     interface. Incoming
>     >     bundles are not associated with a link.  This combined with
>     the 'fire
>     >     and forget' nature of UDP means that the sending side will
>     always be
>     >     able to send - whether anything ever receives those bundles is
>     >     unknowable - and ao a UDP link will remain 'open' until
>     explicitly
>     >     closed.
>     >
>     >     You can close the contact on a link with the console
>     interface link
>     >     close command (you can find the code for this in
>     >     servlib/cmd/LinkCommand.cc).  If you now the name, you can
>     delete the
>     >     link on the local side.  As I said there isn't anything to
>     do on the
>     >     remote side.  If you want to get rid of opportunistically
>     created
>     >     links
>     >     you could write an application that accepted link deletion
>     >     instructions
>     >     in a bundle and issued console commands through the remote
>     console
>     >     interface (if you run dtnd daemonized). See
>     tools/dtnd-control for an
>     >     example of what to do.  You would have to look up the link name
>     >     via its
>     >     remote EID - its an automatically generated string.
>     >
>     >     Hope this helps.
>     >
>     >     Regards,
>     >     Elwyn Davies
>     >
>     >
>     >
>     >
>     >     Tomas Hall wrote:
>     >     > Hello,
>     >     >
>     >     > I'm new to DTN and have been experimenting a bit with the
>     >     > discovery/announce mechanism and opportunistic links. My
>     network
>     >     > consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
>     >     > installed and running on A and C. A (10.0.1.1) and C
>     (10.0.2.1) are
>     >     > connected to each other via B (10.0.1.2 and 10.0.2.2), which
>     >     acts as a
>     >     > gateway. My config file on A contains the following (C's
>     config is
>     >     > identical except reversed IPs):
>     >     > interface add udp0 udp local_addr=10.0.1.1
>     >     > discovery add udp_disc ip port=1067 local_addr=10.0.1.1
>     >     addr=10.0.2.1
>     >     > unicast
>     >     > discovery announce udp_cl udp_disc udp interval=10
>     cl_addr=10.0.1.1
>     >     >
>     >     >
>     >     > This appears to be working; the nodes discover each other, the
>     >     > opportunistic link is set up as "link-0", and I am able to use
>     >     dtnsend
>     >     > and dtnping to send packets from A to C.
>     >     >
>     >     > My problem is that I'm not quite sure how these
>     opportunistic links
>     >     > are closed. I tried experimenting with deleting the
>     >     discovery/announce
>     >     > entries to see if and when the links timed out. As it
>     turns out, it
>     >     > didn't (alternatively it takes too long for any practical
>     use).
>     >     > dtnsend and dtnping happily continued to send packets
>     successfully.
>     >     > For TCP, it did die when I shut down the other node as the
>     >     remote port
>     >     > closed, but this is not very useful for me either.
>     >     > What I'm trying to achieve is to be able to send control
>     >     messages from
>     >     > B to A and C that forces DTN to open or close the links
>     when I tell
>     >     > them to. It'd be somewhat similar to a scheduled link I
>     suppose, but
>     >     > using a scheduled link would require careful synchronization
>     >     which I'd
>     >     > rather avoid. I'm sort of at a loss where to start,
>     however. My
>     >     > initial thought was to extend the announce/discovery
>     mechanism which
>     >     > may actually work for establishing the link (the first time at
>     >     least),
>     >     > but I'd also need to be able to remove the link using the same
>     >     > mechanism in that case. I'm kind of hoping I can reuse
>     most of the
>     >     > existing code, perhaps only implementing a subclass that
>     >     receives and
>     >     > interprets my control messages then uses the existing
>     functions to
>     >     > actually do anything.
>     >     >
>     >     > So, how would I go about manually disabling and/or removing an
>     >     > opportunistic link? If anyone has any ideas how to best
>     implement my
>     >     > desired functionality, that would also be much appreciated.
>     >     >
>     >     > Thanks,
>     >     > Thomas Hall
>     >     >
>     >
>     ------------------------------------------------------------------------
>     >     >
>     >     > _______________________________________________
>     >     > dtn-users mailing list
>     >     > [email-masked]
>     <mailto:[email-masked]>
>     >     <mailto:[email-masked]
>     <mailto:[email-masked]>>
>     >     > http://maillists.intel-research.net/mailman/listinfo/dtn-users
>     >     >
>     >
>     >
>     >
>
>
>     _______________________________________________
>     dtn-users mailing list
>     [email-masked]
>     <mailto:[email-masked]>
>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>     _______________________________________________
>     dtn-users mailing list
>     [email-masked]
>     <mailto:[email-masked]>
>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>

_______________________________________________
dtn-users mailing list
[email-masked]
http://maillists.intel-research.net/mailman/listinfo/dtn-users

Date: Tue, 30 Mar 2010 16:03:59 +0100
From: Elwyn Davies <[email-masked]>
To: Tomas Hall <[email-masked]>
Cc: [email-masked]
Subject: Re: [dtn-users] Opportunistic links - opening/closing

Hi  Tomas.

Nope.  The UDP behaviour is a feature, not a bug or misuse.

The UDP convergence layer is very dumb (and is generally not recommended 
for real world applcations).
The LTP convergence layer runs over UDP though.  I haven't had chance to 
review the new LTP convergence layer yet. 

As currently implemented the UDP convergence layer (AFAICS) does not 
turn on the rate control that it sort of offers, and partially 
implements - I may not have fully understood what is going on but I 
think I am right - so it contravenes the UDP applications guidelines 
designed to avoid UDP clogging up the network.  Fortunately there aren't 
many of them out there yet!

Anyway, as I said originally, the UDP sender will happily send as many 
smallish bundles into a black hole forever once you have created a link 
with discovery.  One solution to this would be to time out the links 
that are generated by UDP discovery.  The IP advertisements contain a 
field that is not actually used by the receiver which is filled with the 
interval between adverts.  If you didn't see another advertisement from 
the same source within 2 or 3 of these intervals you could shut down the 
link.  [BTW This interval is in units of 100ms ...  The IP announcement 
code converts the interval time as supplied in seconds into milliseconds 
(*1000) internally and then back into units of 100 ms ) / 100) to fill 
in the  8 bit field in the advert. The interval is thrown away at the 
receiver.  My brain hurts.  And the biggest interval it can carry is 25 
seconds.]

Regards,
Elwyn
Tomas Hall wrote:
> Yikes, you guys are a lot faster than I had anticipated. Thank you 
> everyone, I have a whole bunch of alternatives now but I've probably 
> reached the stage now where I need to figure out exactly what I want 
> to do before I can proceed now that I have an idea what can be done. 
> Using scripts (extensively) might not be the best option though, the 
> plan was to interface the emulator with DTN to control everything from 
> there automatically using the built-in mechanism in the emulator. 
> Still, it's certainly an option if it turns out to be the far better 
> than the alternatives.
>
> I might also note that I did a few tests using the emulator (on the 
> gateway machine B) and DTN. Using TCP, it actually worked fairly well 
> by simply cutting the bandwidth or introducing 100% packet loss, with 
> no interaction with DTN needed at all. UDP was another story. Once the 
> link was discovered, DTN sent everything and didn't care that nothing 
> reached the destination no matter what I did to the physical link or 
> the emulated properties (which I suppose makes sense, it's UDP. Duh). 
> I have a vague memory of reading somewhere that DTN used some sort of 
> semi-reliable UDP transfer though, but at this point I'm not sure if 
> I'm doing something wrong, if something is not working right, or if 
> everything actually is working as it should. Using the link close and 
> link open commands seemed to work, so with a bit of work getting 
> around the potentially unknown link name, that is certainly an option.
>
> Thanks again,
> Thomas Hall
>
>
> On Mon, Mar 29, 2010 at 9:18 PM, Scott, Keith L. <[email-masked] 
> <mailto:[email-masked]>> wrote:
>
>     Alternately, use a script on B (hopefully B is Linux) that
>     instantiates traffic control and/or firewall rules to
>     allow/disallow packets from A to C.  This would then drive work to
>     ensure that DTN2's neighbor discovery mechanisms are working
>     correctly (and maybe augmenting them if they're not) to actually
>     respond to the environment.
>
>                    --keith
>
>     -----Original Message-----
>     From: [email-masked]
>     <mailto:[email-masked]>
>     [mailto:[email-masked]
>     <mailto:[email-masked]>] On Behalf
>     Of Elwyn Davies
>     Sent: Monday, March 29, 2010 2:20 PM
>     To: [email-masked]
>     <mailto:[email-masked]>
>     Subject: Re: [dtn-users] Opportunistic links - opening/closing
>
>     One trick you could try...
>
>     Write a very simple internal appkication (like the ping echoer) that
>     registers at <localeid>/close (or some such).  Send it a bundle
>     with the
>     remote eid you want closed as the payload.. do a search just as in the
>     Discovery handle_neighbor_discovery routine and then post a
>     LinkStateRequestEvent -> CLOSED event - hey presto.. a wonderful
>     denial
>     of service tool! O:-) :-D
>
>     Regards,
>     Elwyn
>
>     Tomas Hall wrote:
>     > Hi Elwyn,
>     >
>     > Yeah, the timeout was sort of a shot in the dark on my part,
>     hoping to
>     > escape as much work as possible. It's not really the physical link
>     > states that I'm interested in, but the DTN representation of them.
>     >
>     > Anyway, I should probably expand a bit on the background to
>     hopefully
>     > make it a bit more clear what I'm trying to do.
>     > I'll be doing experiments with DTN using an emulator (machine B
>     in my
>     > setup). As is generally the case in DTNs, links may come and go,
>     which
>     > is why I need to close/open links. I have a communication mechanism
>     > from the emulator already in place (it sends UDP messages over a
>     > separate control network), so what is needed is something on the DTN
>     > machines to receive, interpret and do what the control message tells
>     > them to. Essentially, I want to be able to fool the DTN nodes into
>     > thinking that the link is unavailable without having to actually
>     pull
>     > the ethernet cable. I'm also trying to make this as automatic as
>     > possible, i.e. no matter what DTN calls the links that are
>     > established, what IP and ports, protocols etc. they are on, this
>     could
>     > all be sent from the node to the emulator (a mechanism for receiving
>     > this type of information is also in place, so that's just a
>     couple of
>     > strategically placed lines of code in the DTN code). This is why I'm
>     > looking at the discovery/announce mechanism, as this is (from what I
>     > can tell) where DTN receives the information it needs to
>     establish an
>     > opportunistic link. Hence, I figured it also receives all the
>     > information I need to close it (find the LinkRef in the
>     ContactManager
>     > using the CL and EID, do a link state change request via the
>     > BundleDaemon with the appropriate state flags).
>     >
>     > I'm still somewhat unclear about whether I should be trying to tell
>     > DTN to change the link state between unavailable or available or
>     close
>     > it completely and then reestablishing it later. All I need really is
>     > to ensure that DTN doesn't send data on it, thinking the link is
>     alive
>     > and well because it hasn't been told otherwise. Since the
>     timeout was
>     > a dead end, I'm hoping I can get away with copying the received
>     > announcement information, then use this information to change the
>     > state of the link that is established state to unavailable when I
>     > receive a control message (exactly where I haven't worked out
>     yet, but
>     > somewhere in the Discovery hierarchy is where I'm at right now). It
>     > does rely on two things that I know of though; 1) the
>     > available/unavailable state can be used for opportunistic links, and
>     > 2) the announcement does not activate an already discovered but
>     > "unavailable" link (can be solved by deactivating the announcement
>     > mechanism, I suppose). I'm not sure how DTN would react to something
>     > like that. Like I said, I'm trying to reuse as much existing code as
>     > possible, hopefully leaving the Discovery and IPDiscovery classes
>     > (which seems to be those that are relevant for what I'm trying
>     to do)
>     > relatively intact.
>     >
>     > I'll take a look at the classes you suggested and see if I find
>     > something. Hopefully it'll at least give me enough to test the
>     ideas I
>     > already have and see if it's doable. Of course, I'd be happy to take
>     > any other ideas how it can be solved as well.
>     >
>     > Thanks,
>     > Thomas Hall
>     >
>     >
>     > On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies
>     <[email-masked] <mailto:[email-masked]>
>     > <mailto:[email-masked] <mailto:[email-masked]>>> wrote:
>     >
>     >     Hi, Tomas.
>     >
>     >     By default, opportunistic links remain open until explicitly
>     closed or
>     >     the daemon discovers it can't send on the link. In
>     particular there is
>     >     no idle timeout.
>     >
>     >     However, it appears you are using the UDP convergence layer,
>     so links
>     >     are something of a tenuous concept.  There is no state on
>     the remote
>     >     side for UDP links so you can just close the link on the local
>     >     (sending)
>     >     side.  On the remote (receiving side) the interface add command
>     >     creates
>     >     a socket that will accept bundles from anywhere that chooses
>     to send
>     >     them if you don't specify a remote address for the
>     interface. Incoming
>     >     bundles are not associated with a link.  This combined with
>     the 'fire
>     >     and forget' nature of UDP means that the sending side will
>     always be
>     >     able to send - whether anything ever receives those bundles is
>     >     unknowable - and ao a UDP link will remain 'open' until
>     explicitly
>     >     closed.
>     >
>     >     You can close the contact on a link with the console
>     interface link
>     >     close command (you can find the code for this in
>     >     servlib/cmd/LinkCommand.cc).  If you now the name, you can
>     delete the
>     >     link on the local side.  As I said there isn't anything to
>     do on the
>     >     remote side.  If you want to get rid of opportunistically
>     created
>     >     links
>     >     you could write an application that accepted link deletion
>     >     instructions
>     >     in a bundle and issued console commands through the remote
>     console
>     >     interface (if you run dtnd daemonized). See
>     tools/dtnd-control for an
>     >     example of what to do.  You would have to look up the link name
>     >     via its
>     >     remote EID - its an automatically generated string.
>     >
>     >     Hope this helps.
>     >
>     >     Regards,
>     >     Elwyn Davies
>     >
>     >
>     >
>     >
>     >     Tomas Hall wrote:
>     >     > Hello,
>     >     >
>     >     > I'm new to DTN and have been experimenting a bit with the
>     >     > discovery/announce mechanism and opportunistic links. My
>     network
>     >     > consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
>     >     > installed and running on A and C. A (10.0.1.1) and C
>     (10.0.2.1) are
>     >     > connected to each other via B (10.0.1.2 and 10.0.2.2), which
>     >     acts as a
>     >     > gateway. My config file on A contains the following (C's
>     config is
>     >     > identical except reversed IPs):
>     >     > interface add udp0 udp local_addr=10.0.1.1
>     >     > discovery add udp_disc ip port=1067 local_addr=10.0.1.1
>     >     addr=10.0.2.1
>     >     > unicast
>     >     > discovery announce udp_cl udp_disc udp interval=10
>     cl_addr=10.0.1.1
>     >     >
>     >     >
>     >     > This appears to be working; the nodes discover each other, the
>     >     > opportunistic link is set up as "link-0", and I am able to use
>     >     dtnsend
>     >     > and dtnping to send packets from A to C.
>     >     >
>     >     > My problem is that I'm not quite sure how these
>     opportunistic links
>     >     > are closed. I tried experimenting with deleting the
>     >     discovery/announce
>     >     > entries to see if and when the links timed out. As it
>     turns out, it
>     >     > didn't (alternatively it takes too long for any practical
>     use).
>     >     > dtnsend and dtnping happily continued to send packets
>     successfully.
>     >     > For TCP, it did die when I shut down the other node as the
>     >     remote port
>     >     > closed, but this is not very useful for me either.
>     >     > What I'm trying to achieve is to be able to send control
>     >     messages from
>     >     > B to A and C that forces DTN to open or close the links
>     when I tell
>     >     > them to. It'd be somewhat similar to a scheduled link I
>     suppose, but
>     >     > using a scheduled link would require careful synchronization
>     >     which I'd
>     >     > rather avoid. I'm sort of at a loss where to start,
>     however. My
>     >     > initial thought was to extend the announce/discovery
>     mechanism which
>     >     > may actually work for establishing the link (the first time at
>     >     least),
>     >     > but I'd also need to be able to remove the link using the same
>     >     > mechanism in that case. I'm kind of hoping I can reuse
>     most of the
>     >     > existing code, perhaps only implementing a subclass that
>     >     receives and
>     >     > interprets my control messages then uses the existing
>     functions to
>     >     > actually do anything.
>     >     >
>     >     > So, how would I go about manually disabling and/or removing an
>     >     > opportunistic link? If anyone has any ideas how to best
>     implement my
>     >     > desired functionality, that would also be much appreciated.
>     >     >
>     >     > Thanks,
>     >     > Thomas Hall
>     >     >
>     >    
>     ------------------------------------------------------------------------
>     >     >
>     >     > _______________________________________________
>     >     > dtn-users mailing list
>     >     > [email-masked]
>     <mailto:[email-masked]>
>     >     <mailto:[email-masked]
>     <mailto:[email-masked]>>
>     >     > http://maillists.intel-research.net/mailman/listinfo/dtn-users
>     >     >
>     >
>     >
>     >
>
>
>     _______________________________________________
>     dtn-users mailing list
>     [email-masked]
>     <mailto:[email-masked]>
>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>     _______________________________________________
>     dtn-users mailing list
>     [email-masked]
>     <mailto:[email-masked]>
>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>   

Sender: [email-masked]
Date: Tue, 30 Mar 2010 13:23:08 +0200
From: Tomas Hall <[email-masked]>
To: "[email-masked]" <[email-masked]>
Subject: Re: [dtn-users] Opportunistic links - opening/closing

--00032555bc1eacf53a048302da0b
Content-Type: text/plain; charset=ISO-8859-1

Yikes, you guys are a lot faster than I had anticipated. Thank you everyone,
I have a whole bunch of alternatives now but I've probably reached the stage
now where I need to figure out exactly what I want to do before I can
proceed now that I have an idea what can be done. Using scripts
(extensively) might not be the best option though, the plan was to interface
the emulator with DTN to control everything from there automatically using
the built-in mechanism in the emulator. Still, it's certainly an option if
it turns out to be the far better than the alternatives.

I might also note that I did a few tests using the emulator (on the gateway
machine B) and DTN. Using TCP, it actually worked fairly well by simply
cutting the bandwidth or introducing 100% packet loss, with no interaction
with DTN needed at all. UDP was another story. Once the link was discovered,
DTN sent everything and didn't care that nothing reached the destination no
matter what I did to the physical link or the emulated properties (which I
suppose makes sense, it's UDP. Duh). I have a vague memory of reading
somewhere that DTN used some sort of semi-reliable UDP transfer though, but
at this point I'm not sure if I'm doing something wrong, if something is not
working right, or if everything actually is working as it should. Using the
link close and link open commands seemed to work, so with a bit of work
getting around the potentially unknown link name, that is certainly an
option.

Thanks again,
Thomas Hall

On Mon, Mar 29, 2010 at 9:18 PM, Scott, Keith L. <[email-masked]> wrote:

> Alternately, use a script on B (hopefully B is Linux) that instantiates
> traffic control and/or firewall rules to allow/disallow packets from A to C.
>  This would then drive work to ensure that DTN2's neighbor discovery
> mechanisms are working correctly (and maybe augmenting them if they're not)
> to actually respond to the environment.
>
>                --keith
>
> -----Original Message-----
> From: [email-masked] [mailto:
> [email-masked]] On Behalf Of Elwyn Davies
> Sent: Monday, March 29, 2010 2:20 PM
> To: [email-masked]
> Subject: Re: [dtn-users] Opportunistic links - opening/closing
>
> One trick you could try...
>
> Write a very simple internal appkication (like the ping echoer) that
> registers at <localeid>/close (or some such).  Send it a bundle with the
> remote eid you want closed as the payload.. do a search just as in the
> Discovery handle_neighbor_discovery routine and then post a
> LinkStateRequestEvent -> CLOSED event - hey presto.. a wonderful denial
> of service tool! O:-) :-D
>
> Regards,
> Elwyn
>
> Tomas Hall wrote:
> > Hi Elwyn,
> >
> > Yeah, the timeout was sort of a shot in the dark on my part, hoping to
> > escape as much work as possible. It's not really the physical link
> > states that I'm interested in, but the DTN representation of them.
> >
> > Anyway, I should probably expand a bit on the background to hopefully
> > make it a bit more clear what I'm trying to do.
> > I'll be doing experiments with DTN using an emulator (machine B in my
> > setup). As is generally the case in DTNs, links may come and go, which
> > is why I need to close/open links. I have a communication mechanism
> > from the emulator already in place (it sends UDP messages over a
> > separate control network), so what is needed is something on the DTN
> > machines to receive, interpret and do what the control message tells
> > them to. Essentially, I want to be able to fool the DTN nodes into
> > thinking that the link is unavailable without having to actually pull
> > the ethernet cable. I'm also trying to make this as automatic as
> > possible, i.e. no matter what DTN calls the links that are
> > established, what IP and ports, protocols etc. they are on, this could
> > all be sent from the node to the emulator (a mechanism for receiving
> > this type of information is also in place, so that's just a couple of
> > strategically placed lines of code in the DTN code). This is why I'm
> > looking at the discovery/announce mechanism, as this is (from what I
> > can tell) where DTN receives the information it needs to establish an
> > opportunistic link. Hence, I figured it also receives all the
> > information I need to close it (find the LinkRef in the ContactManager
> > using the CL and EID, do a link state change request via the
> > BundleDaemon with the appropriate state flags).
> >
> > I'm still somewhat unclear about whether I should be trying to tell
> > DTN to change the link state between unavailable or available or close
> > it completely and then reestablishing it later. All I need really is
> > to ensure that DTN doesn't send data on it, thinking the link is alive
> > and well because it hasn't been told otherwise. Since the timeout was
> > a dead end, I'm hoping I can get away with copying the received
> > announcement information, then use this information to change the
> > state of the link that is established state to unavailable when I
> > receive a control message (exactly where I haven't worked out yet, but
> > somewhere in the Discovery hierarchy is where I'm at right now). It
> > does rely on two things that I know of though; 1) the
> > available/unavailable state can be used for opportunistic links, and
> > 2) the announcement does not activate an already discovered but
> > "unavailable" link (can be solved by deactivating the announcement
> > mechanism, I suppose). I'm not sure how DTN would react to something
> > like that. Like I said, I'm trying to reuse as much existing code as
> > possible, hopefully leaving the Discovery and IPDiscovery classes
> > (which seems to be those that are relevant for what I'm trying to do)
> > relatively intact.
> >
> > I'll take a look at the classes you suggested and see if I find
> > something. Hopefully it'll at least give me enough to test the ideas I
> > already have and see if it's doable. Of course, I'd be happy to take
> > any other ideas how it can be solved as well.
> >
> > Thanks,
> > Thomas Hall
> >
> >
> > On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies <[email-masked]
> > <mailto:[email-masked]>> wrote:
> >
> >     Hi, Tomas.
> >
> >     By default, opportunistic links remain open until explicitly closed
> or
> >     the daemon discovers it can't send on the link. In particular there
> is
> >     no idle timeout.
> >
> >     However, it appears you are using the UDP convergence layer, so links
> >     are something of a tenuous concept.  There is no state on the remote
> >     side for UDP links so you can just close the link on the local
> >     (sending)
> >     side.  On the remote (receiving side) the interface add command
> >     creates
> >     a socket that will accept bundles from anywhere that chooses to send
> >     them if you don't specify a remote address for the interface.
> Incoming
> >     bundles are not associated with a link.  This combined with the 'fire
> >     and forget' nature of UDP means that the sending side will always be
> >     able to send - whether anything ever receives those bundles is
> >     unknowable - and ao a UDP link will remain 'open' until explicitly
> >     closed.
> >
> >     You can close the contact on a link with the console interface link
> >     close command (you can find the code for this in
> >     servlib/cmd/LinkCommand.cc).  If you now the name, you can delete the
> >     link on the local side.  As I said there isn't anything to do on the
> >     remote side.  If you want to get rid of opportunistically created
> >     links
> >     you could write an application that accepted link deletion
> >     instructions
> >     in a bundle and issued console commands through the remote console
> >     interface (if you run dtnd daemonized). See tools/dtnd-control for an
> >     example of what to do.  You would have to look up the link name
> >     via its
> >     remote EID - its an automatically generated string.
> >
> >     Hope this helps.
> >
> >     Regards,
> >     Elwyn Davies
> >
> >
> >
> >
> >     Tomas Hall wrote:
> >     > Hello,
> >     >
> >     > I'm new to DTN and have been experimenting a bit with the
> >     > discovery/announce mechanism and opportunistic links. My network
> >     > consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
> >     > installed and running on A and C. A (10.0.1.1) and C (10.0.2.1) are
> >     > connected to each other via B (10.0.1.2 and 10.0.2.2), which
> >     acts as a
> >     > gateway. My config file on A contains the following (C's config is
> >     > identical except reversed IPs):
> >     > interface add udp0 udp local_addr=10.0.1.1
> >     > discovery add udp_disc ip port=1067 local_addr=10.0.1.1
> >     addr=10.0.2.1
> >     > unicast
> >     > discovery announce udp_cl udp_disc udp interval=10 cl_addr=10.0.1.1
> >     >
> >     >
> >     > This appears to be working; the nodes discover each other, the
> >     > opportunistic link is set up as "link-0", and I am able to use
> >     dtnsend
> >     > and dtnping to send packets from A to C.
> >     >
> >     > My problem is that I'm not quite sure how these opportunistic links
> >     > are closed. I tried experimenting with deleting the
> >     discovery/announce
> >     > entries to see if and when the links timed out. As it turns out, it
> >     > didn't (alternatively it takes too long for any practical use).
> >     > dtnsend and dtnping happily continued to send packets successfully.
> >     > For TCP, it did die when I shut down the other node as the
> >     remote port
> >     > closed, but this is not very useful for me either.
> >     > What I'm trying to achieve is to be able to send control
> >     messages from
> >     > B to A and C that forces DTN to open or close the links when I tell
> >     > them to. It'd be somewhat similar to a scheduled link I suppose,
> but
> >     > using a scheduled link would require careful synchronization
> >     which I'd
> >     > rather avoid. I'm sort of at a loss where to start, however. My
> >     > initial thought was to extend the announce/discovery mechanism
> which
> >     > may actually work for establishing the link (the first time at
> >     least),
> >     > but I'd also need to be able to remove the link using the same
> >     > mechanism in that case. I'm kind of hoping I can reuse most of the
> >     > existing code, perhaps only implementing a subclass that
> >     receives and
> >     > interprets my control messages then uses the existing functions to
> >     > actually do anything.
> >     >
> >     > So, how would I go about manually disabling and/or removing an
> >     > opportunistic link? If anyone has any ideas how to best implement
> my
> >     > desired functionality, that would also be much appreciated.
> >     >
> >     > Thanks,
> >     > Thomas Hall
> >     >
> >
> ------------------------------------------------------------------------
> >     >
> >     > _______________________________________________
> >     > dtn-users mailing list
> >     > [email-masked]
> >     <mailto:[email-masked]>
> >     > http://maillists.intel-research.net/mailman/listinfo/dtn-users
> >     >
> >
> >
> >
>
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>

--00032555bc1eacf53a048302da0b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Yikes, you guys are a lot faster than I had anticipated. Thank you
everyone, I have a whole bunch of alternatives now but I&#39;ve probably
reached the stage now where I need to figure out exactly what I want to
do before I can proceed now that I have an idea what can be done. Using
scripts (extensively) might not be the best option though, the plan was
to interface the emulator with DTN to control everything from there
automatically using the built-in mechanism in the emulator. Still, it&#39;s
certainly an option if it turns out to be the far better than the
alternatives.<br>
<br>I might also note that I did a few tests using the emulator (on the
gateway machine B) and DTN. Using TCP, it actually worked fairly well
by simply cutting the bandwidth or introducing 100% packet loss, with
no interaction with DTN needed at all. UDP was another story. Once the
link was discovered, DTN sent everything and didn&#39;t care that nothing
reached the destination no matter what I did to the physical link or
the emulated properties (which I suppose makes sense, it&#39;s UDP. Duh). I
have a vague memory of reading somewhere that DTN used some sort of
semi-reliable UDP transfer though, but at this point I&#39;m not sure if
I&#39;m doing something wrong, if something is not working right, or if
everything actually is working as it should. Using the link close and
link open commands seemed to work, so with a bit of work getting around
the potentially unknown link name, that is certainly an option.<br>
<br>Thanks again,<br><font color=3D"#888888">Thomas Hall<br><br></font><br>=
<div class=3D"gmail_quote">On Mon, Mar 29, 2010 at 9:18 PM, Scott, Keith L.=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:[email-masked]">[email-masked]=
</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Alternately, use =
a script on B (hopefully B is Linux) that instantiates traffic control and/=
or firewall rules to allow/disallow packets from A to C. =A0This would then=
 drive work to ensure that DTN2&#39;s neighbor discovery mechanisms are wor=
king correctly (and maybe augmenting them if they&#39;re not) to actually r=
espond to the environment.<br>

<font color=3D"#888888"><br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0--keith<br>
</font><div><div></div><div class=3D"h5"><br>
-----Original Message-----<br>
From: <a href=3D"mailto:[email-masked]">dtn=
[email-masked]</a> [mailto:<a href=3D"mailto:d=
[email-masked]">dtn-users-bounces@maillists.=
intel-research.net</a>] On Behalf Of Elwyn Davies<br>

Sent: Monday, March 29, 2010 2:20 PM<br>
To: <a href=3D"mailto:[email-masked]">dtn-users@mai=
llists.intel-research.net</a><br>
Subject: Re: [dtn-users] Opportunistic links - opening/closing<br>
<br>
One trick you could try...<br>
<br>
Write a very simple internal appkication (like the ping echoer) that<br>
registers at &lt;localeid&gt;/close (or some such). =A0Send it a bundle wit=
h the<br>
remote eid you want closed as the payload.. do a search just as in the<br>
Discovery handle_neighbor_discovery routine and then post a<br>
LinkStateRequestEvent -&gt; CLOSED event - hey presto.. a wonderful denial<=
br>
of service tool! O:-) :-D<br>
<br>
Regards,<br>
Elwyn<br>
<br>
Tomas Hall wrote:<br>
&gt; Hi Elwyn,<br>
&gt;<br>
&gt; Yeah, the timeout was sort of a shot in the dark on my part, hoping to=
<br>
&gt; escape as much work as possible. It&#39;s not really the physical link=
<br>
&gt; states that I&#39;m interested in, but the DTN representation of them.=
<br>
&gt;<br>
&gt; Anyway, I should probably expand a bit on the background to hopefully<=
br>
&gt; make it a bit more clear what I&#39;m trying to do.<br>
&gt; I&#39;ll be doing experiments with DTN using an emulator (machine B in=
 my<br>
&gt; setup). As is generally the case in DTNs, links may come and go, which=
<br>
&gt; is why I need to close/open links. I have a communication mechanism<br=
>
&gt; from the emulator already in place (it sends UDP messages over a<br>
&gt; separate control network), so what is needed is something on the DTN<b=
r>
&gt; machines to receive, interpret and do what the control message tells<b=
r>
&gt; them to. Essentially, I want to be able to fool the DTN nodes into<br>
&gt; thinking that the link is unavailable without having to actually pull<=
br>
&gt; the ethernet cable. I&#39;m also trying to make this as automatic as<b=
r>
&gt; possible, i.e. no matter what DTN calls the links that are<br>
&gt; established, what IP and ports, protocols etc. they are on, this could=
<br>
&gt; all be sent from the node to the emulator (a mechanism for receiving<b=
r>
&gt; this type of information is also in place, so that&#39;s just a couple=
 of<br>
&gt; strategically placed lines of code in the DTN code). This is why I&#39=
;m<br>
&gt; looking at the discovery/announce mechanism, as this is (from what I<b=
r>
&gt; can tell) where DTN receives the information it needs to establish an<=
br>
&gt; opportunistic link. Hence, I figured it also receives all the<br>
&gt; information I need to close it (find the LinkRef in the ContactManager=
<br>
&gt; using the CL and EID, do a link state change request via the<br>
&gt; BundleDaemon with the appropriate state flags).<br>
&gt;<br>
&gt; I&#39;m still somewhat unclear about whether I should be trying to tel=
l<br>
&gt; DTN to change the link state between unavailable or available or close=
<br>
&gt; it completely and then reestablishing it later. All I need really is<b=
r>
&gt; to ensure that DTN doesn&#39;t send data on it, thinking the link is a=
live<br>
&gt; and well because it hasn&#39;t been told otherwise. Since the timeout =
was<br>
&gt; a dead end, I&#39;m hoping I can get away with copying the received<br=
>
&gt; announcement information, then use this information to change the<br>
&gt; state of the link that is established state to unavailable when I<br>
&gt; receive a control message (exactly where I haven&#39;t worked out yet,=
 but<br>
&gt; somewhere in the Discovery hierarchy is where I&#39;m at right now). I=
t<br>
&gt; does rely on two things that I know of though; 1) the<br>
&gt; available/unavailable state can be used for opportunistic links, and<b=
r>
&gt; 2) the announcement does not activate an already discovered but<br>
&gt; &quot;unavailable&quot; link (can be solved by deactivating the announ=
cement<br>
&gt; mechanism, I suppose). I&#39;m not sure how DTN would react to somethi=
ng<br>
&gt; like that. Like I said, I&#39;m trying to reuse as much existing code =
as<br>
&gt; possible, hopefully leaving the Discovery and IPDiscovery classes<br>
&gt; (which seems to be those that are relevant for what I&#39;m trying to =
do)<br>
&gt; relatively intact.<br>
&gt;<br>
&gt; I&#39;ll take a look at the classes you suggested and see if I find<br=
>
&gt; something. Hopefully it&#39;ll at least give me enough to test the ide=
as I<br>
&gt; already have and see if it&#39;s doable. Of course, I&#39;d be happy t=
o take<br>
&gt; any other ideas how it can be solved as well.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Thomas Hall<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies &lt;<a href=3D"mailto:el=
[email-masked]">[email-masked]</a><br>
&gt; &lt;mailto:<a href=3D"mailto:[email-masked]">[email-masked]<=
/a>&gt;&gt; wrote:<br>
&gt;<br>
&gt; =A0 =A0 Hi, Tomas.<br>
&gt;<br>
&gt; =A0 =A0 By default, opportunistic links remain open until explicitly c=
losed or<br>
&gt; =A0 =A0 the daemon discovers it can&#39;t send on the link. In particu=
lar there is<br>
&gt; =A0 =A0 no idle timeout.<br>
&gt;<br>
&gt; =A0 =A0 However, it appears you are using the UDP convergence layer, s=
o links<br>
&gt; =A0 =A0 are something of a tenuous concept. =A0There is no state on th=
e remote<br>
&gt; =A0 =A0 side for UDP links so you can just close the link on the local=
<br>
&gt; =A0 =A0 (sending)<br>
&gt; =A0 =A0 side. =A0On the remote (receiving side) the interface add comm=
and<br>
&gt; =A0 =A0 creates<br>
&gt; =A0 =A0 a socket that will accept bundles from anywhere that chooses t=
o send<br>
&gt; =A0 =A0 them if you don&#39;t specify a remote address for the interfa=
ce. Incoming<br>
&gt; =A0 =A0 bundles are not associated with a link. =A0This combined with =
the &#39;fire<br>
&gt; =A0 =A0 and forget&#39; nature of UDP means that the sending side will=
 always be<br>
&gt; =A0 =A0 able to send - whether anything ever receives those bundles is=
<br>
&gt; =A0 =A0 unknowable - and ao a UDP link will remain &#39;open&#39; unti=
l explicitly<br>
&gt; =A0 =A0 closed.<br>
&gt;<br>
&gt; =A0 =A0 You can close the contact on a link with the console interface=
 link<br>
&gt; =A0 =A0 close command (you can find the code for this in<br>
&gt; =A0 =A0 servlib/cmd/LinkCommand.cc). =A0If you now the name, you can d=
elete the<br>
&gt; =A0 =A0 link on the local side. =A0As I said there isn&#39;t anything =
to do on the<br>
&gt; =A0 =A0 remote side. =A0If you want to get rid of opportunistically cr=
eated<br>
&gt; =A0 =A0 links<br>
&gt; =A0 =A0 you could write an application that accepted link deletion<br>
&gt; =A0 =A0 instructions<br>
&gt; =A0 =A0 in a bundle and issued console commands through the remote con=
sole<br>
&gt; =A0 =A0 interface (if you run dtnd daemonized). See tools/dtnd-control=
 for an<br>
&gt; =A0 =A0 example of what to do. =A0You would have to look up the link n=
ame<br>
&gt; =A0 =A0 via its<br>
&gt; =A0 =A0 remote EID - its an automatically generated string.<br>
&gt;<br>
&gt; =A0 =A0 Hope this helps.<br>
&gt;<br>
&gt; =A0 =A0 Regards,<br>
&gt; =A0 =A0 Elwyn Davies<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; =A0 =A0 Tomas Hall wrote:<br>
&gt; =A0 =A0 &gt; Hello,<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt; I&#39;m new to DTN and have been experimenting a bit with=
 the<br>
&gt; =A0 =A0 &gt; discovery/announce mechanism and opportunistic links. My =
network<br>
&gt; =A0 =A0 &gt; consists of 3 computers (A, B and C), with dtn2.7.0 and o=
asys<br>
&gt; =A0 =A0 &gt; installed and running on A and C. A (10.0.1.1) and C (10.=
0.2.1) are<br>
&gt; =A0 =A0 &gt; connected to each other via B (10.0.1.2 and 10.0.2.2), wh=
ich<br>
&gt; =A0 =A0 acts as a<br>
&gt; =A0 =A0 &gt; gateway. My config file on A contains the following (C&#3=
9;s config is<br>
&gt; =A0 =A0 &gt; identical except reversed IPs):<br>
&gt; =A0 =A0 &gt; interface add udp0 udp local_addr=3D10.0.1.1<br>
&gt; =A0 =A0 &gt; discovery add udp_disc ip port=3D1067 local_addr=3D10.0.1=
.1<br>
&gt; =A0 =A0 addr=3D10.0.2.1<br>
&gt; =A0 =A0 &gt; unicast<br>
&gt; =A0 =A0 &gt; discovery announce udp_cl udp_disc udp interval=3D10 cl_a=
ddr=3D10.0.1.1<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt; This appears to be working; the nodes discover each other=
, the<br>
&gt; =A0 =A0 &gt; opportunistic link is set up as &quot;link-0&quot;, and I=
 am able to use<br>
&gt; =A0 =A0 dtnsend<br>
&gt; =A0 =A0 &gt; and dtnping to send packets from A to C.<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt; My problem is that I&#39;m not quite sure how these oppor=
tunistic links<br>
&gt; =A0 =A0 &gt; are closed. I tried experimenting with deleting the<br>
&gt; =A0 =A0 discovery/announce<br>
&gt; =A0 =A0 &gt; entries to see if and when the links timed out. As it tur=
ns out, it<br>
&gt; =A0 =A0 &gt; didn&#39;t (alternatively it takes too long for any pract=
ical use).<br>
&gt; =A0 =A0 &gt; dtnsend and dtnping happily continued to send packets suc=
cessfully.<br>
&gt; =A0 =A0 &gt; For TCP, it did die when I shut down the other node as th=
e<br>
&gt; =A0 =A0 remote port<br>
&gt; =A0 =A0 &gt; closed, but this is not very useful for me either.<br>
&gt; =A0 =A0 &gt; What I&#39;m trying to achieve is to be able to send cont=
rol<br>
&gt; =A0 =A0 messages from<br>
&gt; =A0 =A0 &gt; B to A and C that forces DTN to open or close the links w=
hen I tell<br>
&gt; =A0 =A0 &gt; them to. It&#39;d be somewhat similar to a scheduled link=
 I suppose, but<br>
&gt; =A0 =A0 &gt; using a scheduled link would require careful synchronizat=
ion<br>
&gt; =A0 =A0 which I&#39;d<br>
&gt; =A0 =A0 &gt; rather avoid. I&#39;m sort of at a loss where to start, h=
owever. My<br>
&gt; =A0 =A0 &gt; initial thought was to extend the announce/discovery mech=
anism which<br>
&gt; =A0 =A0 &gt; may actually work for establishing the link (the first ti=
me at<br>
&gt; =A0 =A0 least),<br>
&gt; =A0 =A0 &gt; but I&#39;d also need to be able to remove the link using=
 the same<br>
&gt; =A0 =A0 &gt; mechanism in that case. I&#39;m kind of hoping I can reus=
e most of the<br>
&gt; =A0 =A0 &gt; existing code, perhaps only implementing a subclass that<=
br>
&gt; =A0 =A0 receives and<br>
&gt; =A0 =A0 &gt; interprets my control messages then uses the existing fun=
ctions to<br>
&gt; =A0 =A0 &gt; actually do anything.<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt; So, how would I go about manually disabling and/or removi=
ng an<br>
&gt; =A0 =A0 &gt; opportunistic link? If anyone has any ideas how to best i=
mplement my<br>
&gt; =A0 =A0 &gt; desired functionality, that would also be much appreciate=
d.<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt; Thanks,<br>
&gt; =A0 =A0 &gt; Thomas Hall<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 --------------------------------------------------------------=
----------<br>
&gt; =A0 =A0 &gt;<br>
&gt; =A0 =A0 &gt; _______________________________________________<br>
&gt; =A0 =A0 &gt; dtn-users mailing list<br>
&gt; =A0 =A0 &gt; <a href=3D"mailto:[email-masked]"=
>[email-masked]</a><br>
&gt; =A0 =A0 &lt;mailto:<a href=3D"mailto:[email-masked]=
h.net">[email-masked]</a>&gt;<br>
&gt; =A0 =A0 &gt; <a href=3D"http://maillists.intel-research.net/mailman/li=
stinfo/dtn-users" target=3D"_blank">http://maillists.intel-research.net/mai=
lman/listinfo/dtn-users</a><br>
&gt; =A0 =A0 &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
dtn-users mailing list<br>
<a href=3D"mailto:[email-masked]">dtn-users@maillis=
ts.intel-research.net</a><br>
<a href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-users" =
target=3D"_blank">http://maillists.intel-research.net/mailman/listinfo/dtn-=
users</a><br>
<br>
_______________________________________________<br>
dtn-users mailing list<br>
<a href=3D"mailto:[email-masked]">dtn-users@maillis=
ts.intel-research.net</a><br>
<a href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-users" =
target=3D"_blank">http://maillists.intel-research.net/mailman/listinfo/dtn-=
users</a><br>
<br>
</div></div></blockquote></div><br>

--00032555bc1eacf53a048302da0b--

Date: Mon, 29 Mar 2010 12:32:01 -0700 (PDT)
From: Justin Dailey <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] dtn-users Digest, Vol 29, Issue 13

Thomas,
Another thing you could do is telnet into port 5050 of the machine running DTN.(of course telnet is very insecure) You will be able to telnet into 5050 and have full control over the daemon.(You might want to start the daemon with the -d option it will "daemonize" the application but is not needed.) One way of establishing and destroying links we have looked into is having a program/script on the control machine(B in your case) and send it a message such as "link delete link-name" or "link add ...". We wrote a quick script in Python that opens a port and can read data from the daemon and write commands to it. Not only can this method give you control over it, it can also give you feed back from the daemon. If you give it a command such as "bundle stats" you can read the data received from it and get the statistics of the running daemon. Adding more complexity into the script you can simulate the opportunistic links.

Justin Dailey
Shawnee State University Cyber Center
Research Assistant

--- On Mon, 3/29/10, [email-masked] <[email-masked]> wrote:

> From: [email-masked] <[email-masked]>
> Subject: dtn-users Digest, Vol 29, Issue 13
> To: [email-masked]
> Date: Monday, March 29, 2010, 3:00 PM
> Send dtn-users mailing list
> submissions to
>     [email-masked]
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
> or, via email, send a message with subject or body 'help'
> to
>     [email-masked]
> 
> You can reach the person managing the list at
>     [email-masked]
> 
> When replying, please edit your Subject line so it is more
> specific
> than "Re: Contents of dtn-users digest..."
> Today's Topics:
> 
>    1. Re: Opportunistic links -
> opening/closing (Elwyn Davies)
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
> 

      

From: Hans Kruse <[email-masked]>
To: "Scott, Keith L." <[email-masked]>
Date: Mon, 29 Mar 2010 15:24:30 -0400
Cc: "[email-masked]" <[email-masked]>
Subject: Re: [dtn-users] Opportunistic links - opening/closing

--Apple-Mail-13--474305388
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit

That is the approach we are taking in our portion of the dnbone (the  
one shown at the meeting last week).   We use iptables & tc, and cron- 
controlled scripts to change settings.

On Mar 29, 2010, at 3:18 PM, Scott, Keith L. wrote:

> Alternately, use a script on B (hopefully B is Linux) that  
> instantiates traffic control and/or firewall rules to allow/disallow  
> packets from A to C.  This would then drive work to ensure that  
> DTN2's neighbor discovery mechanisms are working correctly (and  
> maybe augmenting them if they're not) to actually respond to the  
> environment.
>
> 		--keith

Hans Kruse, Professor
J. Warren McClure School of Information and Telecommunication Systems
Adjunct Associate Professor of Electrical Engineering and Computer  
Science
292 Lindley Hall, Ohio University, Athens, OH, 45701
740-593-4891 voice, 740-593-4889 fax

--Apple-Mail-13--474305388
Content-Type: text/html;
	charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">That is the approach we are =
taking in our portion of the dnbone (the one shown at the meeting last =
week). &nbsp; We use iptables &amp; tc, and cron-controlled scripts to =
change settings.<div><br><div><div>On Mar 29, 2010, at 3:18 PM, Scott, =
Keith L. wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><span class=3D"Apple-style-span" style=3D"border-collapse: =
separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
medium; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
auto; text-indent: 0px; text-transform: none; white-space: normal; =
widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; =
-webkit-border-vertical-spacing: 0px; =
-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: =
auto; -webkit-text-stroke-width: 0px; ">Alternately, use a script on B =
(hopefully B is Linux) that instantiates traffic control and/or firewall =
rules to allow/disallow packets from A to C. &nbsp;This would then drive =
work to ensure that DTN2's neighbor discovery mechanisms are working =
correctly (and maybe augmenting them if they're not) to actually respond =
to the environment.<br><br><span class=3D"Apple-tab-span" =
style=3D"white-space: pre; ">	</span><span class=3D"Apple-tab-span" =
style=3D"white-space: pre; ">	=
</span>--keith<br></span></blockquote></div><br><div> <span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
normal; letter-spacing: normal; line-height: normal; text-align: auto; =
-khtml-text-decorations-in-effect: none; text-indent: 0px; =
-apple-text-size-adjust: auto; text-transform: none; orphans: 2; =
white-space: normal; widows: 2; word-spacing: 0px; "><div =
style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><p style=3D"margin: 0.0px 0.0px =
0.0px 0.0px"><font face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">Hans Kruse, Professor</font></p><p style=3D"margin: 0.0px =
0.0px 0.0px 0.0px"><font face=3D"Helvetica" size=3D"3" style=3D"font: =
12.0px Helvetica">J. Warren McClure School of Information and =
Telecommunication Systems</font></p><p style=3D"margin: 0.0px 0.0px =
0.0px 0.0px"><font face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">Adjunct Associate Professor of Electrical Engineering and =
Computer Science</font></p><p style=3D"margin: 0.0px 0.0px 0.0px =
0.0px"><font face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">292 Lindley Hall, Ohio University, Athens, OH, =
45701</font></p><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><font =
face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">740-593-4891 voice, 740-593-4889 fax</font></p></div><br =
class=3D"Apple-interchange-newline"></span> =
</div><br></div></body></html>=

--Apple-Mail-13--474305388--

From: "Scott, Keith L." <[email-masked]>
To: "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Date: Mon, 29 Mar 2010 15:18:24 -0400
Accept-Language: en-US
acceptlanguage: en-US
Subject: Re: [dtn-users] Opportunistic links - opening/closing

Alternately, use a script on B (hopefully B is Linux) that instantiates traffic control and/or firewall rules to allow/disallow packets from A to C.  This would then drive work to ensure that DTN2's neighbor discovery mechanisms are working correctly (and maybe augmenting them if they're not) to actually respond to the environment.

		--keith

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Elwyn Davies
Sent: Monday, March 29, 2010 2:20 PM
To: [email-masked]
Subject: Re: [dtn-users] Opportunistic links - opening/closing

One trick you could try...

Write a very simple internal appkication (like the ping echoer) that
registers at <localeid>/close (or some such).  Send it a bundle with the
remote eid you want closed as the payload.. do a search just as in the
Discovery handle_neighbor_discovery routine and then post a
LinkStateRequestEvent -> CLOSED event - hey presto.. a wonderful denial
of service tool! O:-) :-D

Regards,
Elwyn

Tomas Hall wrote:
> Hi Elwyn,
>
> Yeah, the timeout was sort of a shot in the dark on my part, hoping to
> escape as much work as possible. It's not really the physical link
> states that I'm interested in, but the DTN representation of them.
>
> Anyway, I should probably expand a bit on the background to hopefully
> make it a bit more clear what I'm trying to do.
> I'll be doing experiments with DTN using an emulator (machine B in my
> setup). As is generally the case in DTNs, links may come and go, which
> is why I need to close/open links. I have a communication mechanism
> from the emulator already in place (it sends UDP messages over a
> separate control network), so what is needed is something on the DTN
> machines to receive, interpret and do what the control message tells
> them to. Essentially, I want to be able to fool the DTN nodes into
> thinking that the link is unavailable without having to actually pull
> the ethernet cable. I'm also trying to make this as automatic as
> possible, i.e. no matter what DTN calls the links that are
> established, what IP and ports, protocols etc. they are on, this could
> all be sent from the node to the emulator (a mechanism for receiving
> this type of information is also in place, so that's just a couple of
> strategically placed lines of code in the DTN code). This is why I'm
> looking at the discovery/announce mechanism, as this is (from what I
> can tell) where DTN receives the information it needs to establish an
> opportunistic link. Hence, I figured it also receives all the
> information I need to close it (find the LinkRef in the ContactManager
> using the CL and EID, do a link state change request via the
> BundleDaemon with the appropriate state flags).
>
> I'm still somewhat unclear about whether I should be trying to tell
> DTN to change the link state between unavailable or available or close
> it completely and then reestablishing it later. All I need really is
> to ensure that DTN doesn't send data on it, thinking the link is alive
> and well because it hasn't been told otherwise. Since the timeout was
> a dead end, I'm hoping I can get away with copying the received
> announcement information, then use this information to change the
> state of the link that is established state to unavailable when I
> receive a control message (exactly where I haven't worked out yet, but
> somewhere in the Discovery hierarchy is where I'm at right now). It
> does rely on two things that I know of though; 1) the
> available/unavailable state can be used for opportunistic links, and
> 2) the announcement does not activate an already discovered but
> "unavailable" link (can be solved by deactivating the announcement
> mechanism, I suppose). I'm not sure how DTN would react to something
> like that. Like I said, I'm trying to reuse as much existing code as
> possible, hopefully leaving the Discovery and IPDiscovery classes
> (which seems to be those that are relevant for what I'm trying to do)
> relatively intact.
>
> I'll take a look at the classes you suggested and see if I find
> something. Hopefully it'll at least give me enough to test the ideas I
> already have and see if it's doable. Of course, I'd be happy to take
> any other ideas how it can be solved as well.
>
> Thanks,
> Thomas Hall
>
>
> On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies <[email-masked]
> <mailto:[email-masked]>> wrote:
>
>     Hi, Tomas.
>
>     By default, opportunistic links remain open until explicitly closed or
>     the daemon discovers it can't send on the link. In particular there is
>     no idle timeout.
>
>     However, it appears you are using the UDP convergence layer, so links
>     are something of a tenuous concept.  There is no state on the remote
>     side for UDP links so you can just close the link on the local
>     (sending)
>     side.  On the remote (receiving side) the interface add command
>     creates
>     a socket that will accept bundles from anywhere that chooses to send
>     them if you don't specify a remote address for the interface. Incoming
>     bundles are not associated with a link.  This combined with the 'fire
>     and forget' nature of UDP means that the sending side will always be
>     able to send - whether anything ever receives those bundles is
>     unknowable - and ao a UDP link will remain 'open' until explicitly
>     closed.
>
>     You can close the contact on a link with the console interface link
>     close command (you can find the code for this in
>     servlib/cmd/LinkCommand.cc).  If you now the name, you can delete the
>     link on the local side.  As I said there isn't anything to do on the
>     remote side.  If you want to get rid of opportunistically created
>     links
>     you could write an application that accepted link deletion
>     instructions
>     in a bundle and issued console commands through the remote console
>     interface (if you run dtnd daemonized). See tools/dtnd-control for an
>     example of what to do.  You would have to look up the link name
>     via its
>     remote EID - its an automatically generated string.
>
>     Hope this helps.
>
>     Regards,
>     Elwyn Davies
>
>
>
>
>     Tomas Hall wrote:
>     > Hello,
>     >
>     > I'm new to DTN and have been experimenting a bit with the
>     > discovery/announce mechanism and opportunistic links. My network
>     > consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
>     > installed and running on A and C. A (10.0.1.1) and C (10.0.2.1) are
>     > connected to each other via B (10.0.1.2 and 10.0.2.2), which
>     acts as a
>     > gateway. My config file on A contains the following (C's config is
>     > identical except reversed IPs):
>     > interface add udp0 udp local_addr=10.0.1.1
>     > discovery add udp_disc ip port=1067 local_addr=10.0.1.1
>     addr=10.0.2.1
>     > unicast
>     > discovery announce udp_cl udp_disc udp interval=10 cl_addr=10.0.1.1
>     >
>     >
>     > This appears to be working; the nodes discover each other, the
>     > opportunistic link is set up as "link-0", and I am able to use
>     dtnsend
>     > and dtnping to send packets from A to C.
>     >
>     > My problem is that I'm not quite sure how these opportunistic links
>     > are closed. I tried experimenting with deleting the
>     discovery/announce
>     > entries to see if and when the links timed out. As it turns out, it
>     > didn't (alternatively it takes too long for any practical use).
>     > dtnsend and dtnping happily continued to send packets successfully.
>     > For TCP, it did die when I shut down the other node as the
>     remote port
>     > closed, but this is not very useful for me either.
>     > What I'm trying to achieve is to be able to send control
>     messages from
>     > B to A and C that forces DTN to open or close the links when I tell
>     > them to. It'd be somewhat similar to a scheduled link I suppose, but
>     > using a scheduled link would require careful synchronization
>     which I'd
>     > rather avoid. I'm sort of at a loss where to start, however. My
>     > initial thought was to extend the announce/discovery mechanism which
>     > may actually work for establishing the link (the first time at
>     least),
>     > but I'd also need to be able to remove the link using the same
>     > mechanism in that case. I'm kind of hoping I can reuse most of the
>     > existing code, perhaps only implementing a subclass that
>     receives and
>     > interprets my control messages then uses the existing functions to
>     > actually do anything.
>     >
>     > So, how would I go about manually disabling and/or removing an
>     > opportunistic link? If anyone has any ideas how to best implement my
>     > desired functionality, that would also be much appreciated.
>     >
>     > Thanks,
>     > Thomas Hall
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > dtn-users mailing list
>     > [email-masked]
>     <mailto:[email-masked]>
>     > http://maillists.intel-research.net/mailman/listinfo/dtn-users
>     >
>
>
>

_______________________________________________
dtn-users mailing list
[email-masked]
http://maillists.intel-research.net/mailman/listinfo/dtn-users

Date: Mon, 29 Mar 2010 19:19:52 +0100
From: Elwyn Davies <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] Opportunistic links - opening/closing
Reply-To: [email-masked]

One trick you could try...

Write a very simple internal appkication (like the ping echoer) that
registers at <localeid>/close (or some such).  Send it a bundle with the
remote eid you want closed as the payload.. do a search just as in the
Discovery handle_neighbor_discovery routine and then post a
LinkStateRequestEvent -> CLOSED event - hey presto.. a wonderful denial
of service tool! O:-) :-D

Regards,
Elwyn

Tomas Hall wrote:
> Hi Elwyn,
>
> Yeah, the timeout was sort of a shot in the dark on my part, hoping to
> escape as much work as possible. It's not really the physical link
> states that I'm interested in, but the DTN representation of them.
>
> Anyway, I should probably expand a bit on the background to hopefully
> make it a bit more clear what I'm trying to do.
> I'll be doing experiments with DTN using an emulator (machine B in my
> setup). As is generally the case in DTNs, links may come and go, which
> is why I need to close/open links. I have a communication mechanism
> from the emulator already in place (it sends UDP messages over a
> separate control network), so what is needed is something on the DTN
> machines to receive, interpret and do what the control message tells
> them to. Essentially, I want to be able to fool the DTN nodes into
> thinking that the link is unavailable without having to actually pull
> the ethernet cable. I'm also trying to make this as automatic as
> possible, i.e. no matter what DTN calls the links that are
> established, what IP and ports, protocols etc. they are on, this could
> all be sent from the node to the emulator (a mechanism for receiving
> this type of information is also in place, so that's just a couple of
> strategically placed lines of code in the DTN code). This is why I'm
> looking at the discovery/announce mechanism, as this is (from what I
> can tell) where DTN receives the information it needs to establish an
> opportunistic link. Hence, I figured it also receives all the
> information I need to close it (find the LinkRef in the ContactManager
> using the CL and EID, do a link state change request via the
> BundleDaemon with the appropriate state flags).
>
> I'm still somewhat unclear about whether I should be trying to tell
> DTN to change the link state between unavailable or available or close
> it completely and then reestablishing it later. All I need really is
> to ensure that DTN doesn't send data on it, thinking the link is alive
> and well because it hasn't been told otherwise. Since the timeout was
> a dead end, I'm hoping I can get away with copying the received
> announcement information, then use this information to change the
> state of the link that is established state to unavailable when I
> receive a control message (exactly where I haven't worked out yet, but
> somewhere in the Discovery hierarchy is where I'm at right now). It
> does rely on two things that I know of though; 1) the
> available/unavailable state can be used for opportunistic links, and
> 2) the announcement does not activate an already discovered but
> "unavailable" link (can be solved by deactivating the announcement
> mechanism, I suppose). I'm not sure how DTN would react to something
> like that. Like I said, I'm trying to reuse as much existing code as
> possible, hopefully leaving the Discovery and IPDiscovery classes
> (which seems to be those that are relevant for what I'm trying to do)
> relatively intact.
>
> I'll take a look at the classes you suggested and see if I find
> something. Hopefully it'll at least give me enough to test the ideas I
> already have and see if it's doable. Of course, I'd be happy to take
> any other ideas how it can be solved as well.
>
> Thanks,
> Thomas Hall
>
>
> On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies <[email-masked]
> <mailto:[email-masked]>> wrote:
>
>     Hi, Tomas.
>
>     By default, opportunistic links remain open until explicitly closed or
>     the daemon discovers it can't send on the link. In particular there is
>     no idle timeout.
>
>     However, it appears you are using the UDP convergence layer, so links
>     are something of a tenuous concept.  There is no state on the remote
>     side for UDP links so you can just close the link on the local
>     (sending)
>     side.  On the remote (receiving side) the interface add command
>     creates
>     a socket that will accept bundles from anywhere that chooses to send
>     them if you don't specify a remote address for the interface. Incoming
>     bundles are not associated with a link.  This combined with the 'fire
>     and forget' nature of UDP means that the sending side will always be
>     able to send - whether anything ever receives those bundles is
>     unknowable - and ao a UDP link will remain 'open' until explicitly
>     closed.
>
>     You can close the contact on a link with the console interface link
>     close command (you can find the code for this in
>     servlib/cmd/LinkCommand.cc).  If you now the name, you can delete the
>     link on the local side.  As I said there isn't anything to do on the
>     remote side.  If you want to get rid of opportunistically created
>     links
>     you could write an application that accepted link deletion
>     instructions
>     in a bundle and issued console commands through the remote console
>     interface (if you run dtnd daemonized). See tools/dtnd-control for an
>     example of what to do.  You would have to look up the link name
>     via its
>     remote EID - its an automatically generated string.
>
>     Hope this helps.
>
>     Regards,
>     Elwyn Davies
>
>
>
>
>     Tomas Hall wrote:
>     > Hello,
>     >
>     > I'm new to DTN and have been experimenting a bit with the
>     > discovery/announce mechanism and opportunistic links. My network
>     > consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
>     > installed and running on A and C. A (10.0.1.1) and C (10.0.2.1) are
>     > connected to each other via B (10.0.1.2 and 10.0.2.2), which
>     acts as a
>     > gateway. My config file on A contains the following (C's config is
>     > identical except reversed IPs):
>     > interface add udp0 udp local_addr=10.0.1.1
>     > discovery add udp_disc ip port=1067 local_addr=10.0.1.1
>     addr=10.0.2.1
>     > unicast
>     > discovery announce udp_cl udp_disc udp interval=10 cl_addr=10.0.1.1
>     >
>     >
>     > This appears to be working; the nodes discover each other, the
>     > opportunistic link is set up as "link-0", and I am able to use
>     dtnsend
>     > and dtnping to send packets from A to C.
>     >
>     > My problem is that I'm not quite sure how these opportunistic links
>     > are closed. I tried experimenting with deleting the
>     discovery/announce
>     > entries to see if and when the links timed out. As it turns out, it
>     > didn't (alternatively it takes too long for any practical use).
>     > dtnsend and dtnping happily continued to send packets successfully.
>     > For TCP, it did die when I shut down the other node as the
>     remote port
>     > closed, but this is not very useful for me either.
>     > What I'm trying to achieve is to be able to send control
>     messages from
>     > B to A and C that forces DTN to open or close the links when I tell
>     > them to. It'd be somewhat similar to a scheduled link I suppose, but
>     > using a scheduled link would require careful synchronization
>     which I'd
>     > rather avoid. I'm sort of at a loss where to start, however. My
>     > initial thought was to extend the announce/discovery mechanism which
>     > may actually work for establishing the link (the first time at
>     least),
>     > but I'd also need to be able to remove the link using the same
>     > mechanism in that case. I'm kind of hoping I can reuse most of the
>     > existing code, perhaps only implementing a subclass that
>     receives and
>     > interprets my control messages then uses the existing functions to
>     > actually do anything.
>     >
>     > So, how would I go about manually disabling and/or removing an
>     > opportunistic link? If anyone has any ideas how to best implement my
>     > desired functionality, that would also be much appreciated.
>     >
>     > Thanks,
>     > Thomas Hall
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > dtn-users mailing list
>     > [email-masked]
>     <mailto:[email-masked]>
>     > http://maillists.intel-research.net/mailman/listinfo/dtn-users
>     >
>
>
>

Sender: [email-masked]
Date: Mon, 29 Mar 2010 18:04:24 +0200
From: Tomas Hall <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Subject: Re: [dtn-users] Opportunistic links - opening/closing

--00151747927abc41740482f2aa61
Content-Type: text/plain; charset=ISO-8859-1

Hi Elwyn,

Yeah, the timeout was sort of a shot in the dark on my part, hoping to
escape as much work as possible. It's not really the physical link states
that I'm interested in, but the DTN representation of them.

Anyway, I should probably expand a bit on the background to hopefully make
it a bit more clear what I'm trying to do.
I'll be doing experiments with DTN using an emulator (machine B in my
setup). As is generally the case in DTNs, links may come and go, which is
why I need to close/open links. I have a communication mechanism from the
emulator already in place (it sends UDP messages over a separate control
network), so what is needed is something on the DTN machines to receive,
interpret and do what the control message tells them to. Essentially, I want
to be able to fool the DTN nodes into thinking that the link is unavailable
without having to actually pull the ethernet cable. I'm also trying to make
this as automatic as possible, i.e. no matter what DTN calls the links that
are established, what IP and ports, protocols etc. they are on, this could
all be sent from the node to the emulator (a mechanism for receiving this
type of information is also in place, so that's just a couple of
strategically placed lines of code in the DTN code). This is why I'm looking
at the discovery/announce mechanism, as this is (from what I can tell) where
DTN receives the information it needs to establish an opportunistic link.
Hence, I figured it also receives all the information I need to close it
(find the LinkRef in the ContactManager using the CL and EID, do a link
state change request via the BundleDaemon with the appropriate state flags).

I'm still somewhat unclear about whether I should be trying to tell DTN to
change the link state between unavailable or available or close it
completely and then reestablishing it later. All I need really is to ensure
that DTN doesn't send data on it, thinking the link is alive and well
because it hasn't been told otherwise. Since the timeout was a dead end, I'm
hoping I can get away with copying the received announcement information,
then use this information to change the state of the link that is
established state to unavailable when I receive a control message (exactly
where I haven't worked out yet, but somewhere in the Discovery hierarchy is
where I'm at right now). It does rely on two things that I know of though;
1) the available/unavailable state can be used for opportunistic links, and
2) the announcement does not activate an already discovered but
"unavailable" link (can be solved by deactivating the announcement
mechanism, I suppose). I'm not sure how DTN would react to something like
that. Like I said, I'm trying to reuse as much existing code as possible,
hopefully leaving the Discovery and IPDiscovery classes (which seems to be
those that are relevant for what I'm trying to do) relatively intact.

I'll take a look at the classes you suggested and see if I find something.
Hopefully it'll at least give me enough to test the ideas I already have and
see if it's doable. Of course, I'd be happy to take any other ideas how it
can be solved as well.

Thanks,
Thomas Hall

On Mon, Mar 29, 2010 at 5:12 PM, Elwyn Davies <[email-masked]> wrote:

> Hi, Tomas.
>
> By default, opportunistic links remain open until explicitly closed or
> the daemon discovers it can't send on the link. In particular there is
> no idle timeout.
>
> However, it appears you are using the UDP convergence layer, so links
> are something of a tenuous concept.  There is no state on the remote
> side for UDP links so you can just close the link on the local (sending)
> side.  On the remote (receiving side) the interface add command creates
> a socket that will accept bundles from anywhere that chooses to send
> them if you don't specify a remote address for the interface. Incoming
> bundles are not associated with a link.  This combined with the 'fire
> and forget' nature of UDP means that the sending side will always be
> able to send - whether anything ever receives those bundles is
> unknowable - and ao a UDP link will remain 'open' until explicitly closed.
>
> You can close the contact on a link with the console interface link
> close command (you can find the code for this in
> servlib/cmd/LinkCommand.cc).  If you now the name, you can delete the
> link on the local side.  As I said there isn't anything to do on the
> remote side.  If you want to get rid of opportunistically created links
> you could write an application that accepted link deletion instructions
> in a bundle and issued console commands through the remote console
> interface (if you run dtnd daemonized). See tools/dtnd-control for an
> example of what to do.  You would have to look up the link name via its
> remote EID - its an automatically generated string.
>
> Hope this helps.
>
> Regards,
> Elwyn Davies
>
>
>
>
> Tomas Hall wrote:
> > Hello,
> >
> > I'm new to DTN and have been experimenting a bit with the
> > discovery/announce mechanism and opportunistic links. My network
> > consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
> > installed and running on A and C. A (10.0.1.1) and C (10.0.2.1) are
> > connected to each other via B (10.0.1.2 and 10.0.2.2), which acts as a
> > gateway. My config file on A contains the following (C's config is
> > identical except reversed IPs):
> > interface add udp0 udp local_addr=10.0.1.1
> > discovery add udp_disc ip port=1067 local_addr=10.0.1.1 addr=10.0.2.1
> > unicast
> > discovery announce udp_cl udp_disc udp interval=10 cl_addr=10.0.1.1
> >
> >
> > This appears to be working; the nodes discover each other, the
> > opportunistic link is set up as "link-0", and I am able to use dtnsend
> > and dtnping to send packets from A to C.
> >
> > My problem is that I'm not quite sure how these opportunistic links
> > are closed. I tried experimenting with deleting the discovery/announce
> > entries to see if and when the links timed out. As it turns out, it
> > didn't (alternatively it takes too long for any practical use).
> > dtnsend and dtnping happily continued to send packets successfully.
> > For TCP, it did die when I shut down the other node as the remote port
> > closed, but this is not very useful for me either.
> > What I'm trying to achieve is to be able to send control messages from
> > B to A and C that forces DTN to open or close the links when I tell
> > them to. It'd be somewhat similar to a scheduled link I suppose, but
> > using a scheduled link would require careful synchronization which I'd
> > rather avoid. I'm sort of at a loss where to start, however. My
> > initial thought was to extend the announce/discovery mechanism which
> > may actually work for establishing the link (the first time at least),
> > but I'd also need to be able to remove the link using the same
> > mechanism in that case. I'm kind of hoping I can reuse most of the
> > existing code, perhaps only implementing a subclass that receives and
> > interprets my control messages then uses the existing functions to
> > actually do anything.
> >
> > So, how would I go about manually disabling and/or removing an
> > opportunistic link? If anyone has any ideas how to best implement my
> > desired functionality, that would also be much appreciated.
> >
> > Thanks,
> > Thomas Hall
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > dtn-users mailing list
> > [email-masked]
> > http://maillists.intel-research.net/mailman/listinfo/dtn-users
> >
>
>
>

--00151747927abc41740482f2aa61
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi Elwyn,<br><br>Yeah, the timeout was sort of a shot in the dark on my par=
t, hoping to escape as much work as possible. It&#39;s not really the physi=
cal link states that I&#39;m interested in, but the DTN representation of t=
hem.<br>
<br>Anyway, I should probably expand a bit on the background to hopefully m=
ake it a bit more clear what I&#39;m trying to do.<br>I&#39;ll be doing exp=
eriments with DTN using an emulator (machine B in my setup). As is generall=
y the case in DTNs, links may come and go, which is why I need to close/ope=
n links. I have a communication mechanism from the emulator already in plac=
e (it sends UDP messages over a separate control network), so what is neede=
d is something on the DTN machines to receive, interpret and do what the co=
ntrol message tells them to. Essentially, I want to be able to fool the DTN=
 nodes into thinking that the link is unavailable without having to actuall=
y pull the ethernet cable. I&#39;m also trying to make this as automatic as=
 possible, i.e. no matter what DTN calls the links that are established, wh=
at IP and ports, protocols etc. they are on, this could all be sent from th=
e node to the emulator (a mechanism for receiving this type of information =
is also in place, so that&#39;s just a couple of strategically placed lines=
 of code in the DTN code). This is why I&#39;m looking at the discovery/ann=
ounce mechanism, as this is (from what I can tell) where DTN receives the i=
nformation it needs to establish an opportunistic link. Hence, I figured it=
 also receives all the information I need to close it (find the LinkRef in =
the ContactManager using the CL and EID, do a link state change request via=
 the BundleDaemon with the appropriate state flags).<br>
<br>I&#39;m still somewhat unclear about whether I should be trying to tell=
 DTN to change the link state between unavailable or available or close it =
completely and then reestablishing it later. All I need really is to ensure=
 that DTN doesn&#39;t send data on it, thinking the link is alive and well =
because it hasn&#39;t been told otherwise. Since the timeout was a dead end=
, I&#39;m hoping I can get away with copying the received announcement info=
rmation, then use this information to change the state of the link that is =
established state to unavailable when I receive a control message (exactly =
where I haven&#39;t worked out yet, but somewhere in the Discovery hierarch=
y is where I&#39;m at right now). It does rely on two things that I know of=
 though; 1) the available/unavailable state can be used for opportunistic l=
inks, and 2) the announcement does not activate an already discovered but &=
quot;unavailable&quot; link (can be solved by deactivating the announcement=
 mechanism, I suppose). I&#39;m not sure how DTN would react to something l=
ike that. Like I said, I&#39;m trying to reuse as much existing code as pos=
sible, hopefully leaving the Discovery and IPDiscovery classes (which seems=
 to be those that are relevant for what I&#39;m trying to do) relatively in=
tact.<br>
<br>I&#39;ll take a look at the classes you suggested and see if I find som=
ething. Hopefully it&#39;ll at least give me enough to test the ideas I alr=
eady have and see if it&#39;s doable. Of course, I&#39;d be happy to take a=
ny other ideas how it can be solved as well.<br>
<br>Thanks,<br>Thomas Hall<br><br><br><div class=3D"gmail_quote">On Mon, Ma=
r 29, 2010 at 5:12 PM, Elwyn Davies <span dir=3D"ltr">&lt;<a href=3D"mailto=
:[email-masked]">[email-masked]</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, 204, 204=
); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi, Tomas.<br>
<br>
By default, opportunistic links remain open until explicitly closed or<br>
the daemon discovers it can&#39;t send on the link. In particular there is<=
br>
no idle timeout.<br>
<br>
However, it appears you are using the UDP convergence layer, so links<br>
are something of a tenuous concept. =A0There is no state on the remote<br>
side for UDP links so you can just close the link on the local (sending)<br=
>
side. =A0On the remote (receiving side) the interface add command creates<b=
r>
a socket that will accept bundles from anywhere that chooses to send<br>
them if you don&#39;t specify a remote address for the interface. Incoming<=
br>
bundles are not associated with a link. =A0This combined with the &#39;fire=
<br>
and forget&#39; nature of UDP means that the sending side will always be<br=
>
able to send - whether anything ever receives those bundles is<br>
unknowable - and ao a UDP link will remain &#39;open&#39; until explicitly =
closed.<br>
<br>
You can close the contact on a link with the console interface link<br>
close command (you can find the code for this in<br>
servlib/cmd/LinkCommand.cc). =A0If you now the name, you can delete the<br>
link on the local side. =A0As I said there isn&#39;t anything to do on the<=
br>
remote side. =A0If you want to get rid of opportunistically created links<b=
r>
you could write an application that accepted link deletion instructions<br>
in a bundle and issued console commands through the remote console<br>
interface (if you run dtnd daemonized). See tools/dtnd-control for an<br>
example of what to do. =A0You would have to look up the link name via its<b=
r>
remote EID - its an automatically generated string.<br>
<br>
Hope this helps.<br>
<br>
Regards,<br>
Elwyn Davies<br>
<div><div></div><div class=3D"h5"><br>
<br>
<br>
<br>
Tomas Hall wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; I&#39;m new to DTN and have been experimenting a bit with the<br>
&gt; discovery/announce mechanism and opportunistic links. My network<br>
&gt; consists of 3 computers (A, B and C), with dtn2.7.0 and oasys<br>
&gt; installed and running on A and C. A (10.0.1.1) and C (10.0.2.1) are<br=
>
&gt; connected to each other via B (10.0.1.2 and 10.0.2.2), which acts as a=
<br>
&gt; gateway. My config file on A contains the following (C&#39;s config is=
<br>
&gt; identical except reversed IPs):<br>
&gt; interface add udp0 udp local_addr=3D10.0.1.1<br>
&gt; discovery add udp_disc ip port=3D1067 local_addr=3D10.0.1.1 addr=3D10.=
0.2.1<br>
&gt; unicast<br>
&gt; discovery announce udp_cl udp_disc udp interval=3D10 cl_addr=3D10.0.1.=
1<br>
&gt;<br>
&gt;<br>
&gt; This appears to be working; the nodes discover each other, the<br>
&gt; opportunistic link is set up as &quot;link-0&quot;, and I am able to u=
se dtnsend<br>
&gt; and dtnping to send packets from A to C.<br>
&gt;<br>
&gt; My problem is that I&#39;m not quite sure how these opportunistic link=
s<br>
&gt; are closed. I tried experimenting with deleting the discovery/announce=
<br>
&gt; entries to see if and when the links timed out. As it turns out, it<br=
>
&gt; didn&#39;t (alternatively it takes too long for any practical use).<br=
>
&gt; dtnsend and dtnping happily continued to send packets successfully.<br=
>
&gt; For TCP, it did die when I shut down the other node as the remote port=
<br>
&gt; closed, but this is not very useful for me either.<br>
&gt; What I&#39;m trying to achieve is to be able to send control messages =
from<br>
&gt; B to A and C that forces DTN to open or close the links when I tell<br=
>
&gt; them to. It&#39;d be somewhat similar to a scheduled link I suppose, b=
ut<br>
&gt; using a scheduled link would require careful synchronization which I&#=
39;d<br>
&gt; rather avoid. I&#39;m sort of at a loss where to start, however. My<br=
>
&gt; initial thought was to extend the announce/discovery mechanism which<b=
r>
&gt; may actually work for establishing the link (the first time at least),=
<br>
&gt; but I&#39;d also need to be able to remove the link using the same<br>
&gt; mechanism in that case. I&#39;m kind of hoping I can reuse most of the=
<br>
&gt; existing code, perhaps only implementing a subclass that receives and<=
br>
&gt; interprets my control messages then uses the existing functions to<br>
&gt; actually do anything.<br>
&gt;<br>
&gt; So, how would I go about manually disabling and/or removing an<br>
&gt; opportunistic link? If anyone has any ideas how to best implement my<b=
r>
&gt; desired functionality, that would also be much appreciated.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Thomas Hall<br>
</div></div>&gt; ----------------------------------------------------------=
--------------<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; dtn-users mailing list<br>
&gt; <a href=3D"mailto:[email-masked]">dtn-users@ma=
illists.intel-research.net</a><br>
&gt; <a href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-us=
ers" target=3D"_blank">http://maillists.intel-research.net/mailman/listinfo=
/dtn-users</a><br>
&gt;<br>
<br>
<br>
</blockquote></div><br>

--00151747927abc41740482f2aa61--

Date: Mon, 29 Mar 2010 16:12:48 +0100
From: Elwyn Davies <[email-masked]>
To: Tomas Hall <[email-masked]>
Cc: [email-masked]
Subject: Re: [dtn-users] Opportunistic links - opening/closing
Reply-To: [email-masked]

Hi, Tomas.

By default, opportunistic links remain open until explicitly closed or
the daemon discovers it can't send on the link. In particular there is
no idle timeout.

However, it appears you are using the UDP convergence layer, so links
are something of a tenuous concept.  There is no state on the remote
side for UDP links so you can just close the link on the local (sending)
side.  On the remote (receiving side) the interface add command creates
a socket that will accept bundles from anywhere that chooses to send
them if you don't specify a remote address for the interface. Incoming
bundles are not associated with a link.  This combined with the 'fire
and forget' nature of UDP means that the sending side will always be
able to send - whether anything ever receives those bundles is
unknowable - and ao a UDP link will remain 'open' until explicitly closed.

You can close the contact on a link with the console interface link
close command (you can find the code for this in
servlib/cmd/LinkCommand.cc).  If you now the name, you can delete the
link on the local side.  As I said there isn't anything to do on the
remote side.  If you want to get rid of opportunistically created links
you could write an application that accepted link deletion instructions
in a bundle and issued console commands through the remote console
interface (if you run dtnd daemonized). See tools/dtnd-control for an
example of what to do.  You would have to look up the link name via its
remote EID - its an automatically generated string.

Hope this helps.

Regards,
Elwyn Davies

 

Tomas Hall wrote:
> Hello,
>
> I'm new to DTN and have been experimenting a bit with the
> discovery/announce mechanism and opportunistic links. My network
> consists of 3 computers (A, B and C), with dtn2.7.0 and oasys
> installed and running on A and C. A (10.0.1.1) and C (10.0.2.1) are
> connected to each other via B (10.0.1.2 and 10.0.2.2), which acts as a
> gateway. My config file on A contains the following (C's config is
> identical except reversed IPs):
> interface add udp0 udp local_addr=10.0.1.1
> discovery add udp_disc ip port=1067 local_addr=10.0.1.1 addr=10.0.2.1
> unicast
> discovery announce udp_cl udp_disc udp interval=10 cl_addr=10.0.1.1
>
>
> This appears to be working; the nodes discover each other, the
> opportunistic link is set up as "link-0", and I am able to use dtnsend
> and dtnping to send packets from A to C.
>
> My problem is that I'm not quite sure how these opportunistic links
> are closed. I tried experimenting with deleting the discovery/announce
> entries to see if and when the links timed out. As it turns out, it
> didn't (alternatively it takes too long for any practical use).
> dtnsend and dtnping happily continued to send packets successfully.
> For TCP, it did die when I shut down the other node as the remote port
> closed, but this is not very useful for me either.
> What I'm trying to achieve is to be able to send control messages from
> B to A and C that forces DTN to open or close the links when I tell
> them to. It'd be somewhat similar to a scheduled link I suppose, but
> using a scheduled link would require careful synchronization which I'd
> rather avoid. I'm sort of at a loss where to start, however. My
> initial thought was to extend the announce/discovery mechanism which
> may actually work for establishing the link (the first time at least),
> but I'd also need to be able to remove the link using the same
> mechanism in that case. I'm kind of hoping I can reuse most of the
> existing code, perhaps only implementing a subclass that receives and
> interprets my control messages then uses the existing functions to
> actually do anything.
>
> So, how would I go about manually disabling and/or removing an
> opportunistic link? If anyone has any ideas how to best implement my
> desired functionality, that would also be much appreciated.
>
> Thanks,
> Thomas Hall
> ------------------------------------------------------------------------
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>   

Sender: [email-masked]
Date: Mon, 29 Mar 2010 13:41:49 +0200
From: Tomas Hall <[email-masked]>
To: [email-masked]
Subject: [dtn-users] Opportunistic links - opening/closing

--000e0cd1fb04a2ab480482eeffff
Content-Type: text/plain; charset=ISO-8859-1

Hello,

I'm new to DTN and have been experimenting a bit with the discovery/announce
mechanism and opportunistic links. My network consists of 3 computers (A, B
and C), with dtn2.7.0 and oasys installed and running on A and C. A
(10.0.1.1) and C (10.0.2.1) are connected to each other via B (10.0.1.2 and
10.0.2.2), which acts as a gateway. My config file on A contains the
following (C's config is identical except reversed IPs):
interface add udp0 udp local_addr=10.0.1.1
discovery add udp_disc ip port=1067 local_addr=10.0.1.1 addr=10.0.2.1
unicast
discovery announce udp_cl udp_disc udp interval=10 cl_addr=10.0.1.1

This appears to be working; the nodes discover each other, the opportunistic
link is set up as "link-0", and I am able to use dtnsend and dtnping to send
packets from A to C.

My problem is that I'm not quite sure how these opportunistic links are
closed. I tried experimenting with deleting the discovery/announce entries
to see if and when the links timed out. As it turns out, it didn't
(alternatively it takes too long for any practical use). dtnsend and dtnping
happily continued to send packets successfully. For TCP, it did die when I
shut down the other node as the remote port closed, but this is not very
useful for me either.
What I'm trying to achieve is to be able to send control messages from B to
A and C that forces DTN to open or close the links when I tell them to. It'd
be somewhat similar to a scheduled link I suppose, but using a scheduled
link would require careful synchronization which I'd rather avoid. I'm sort
of at a loss where to start, however. My initial thought was to extend the
announce/discovery mechanism which may actually work for establishing the
link (the first time at least), but I'd also need to be able to remove the
link using the same mechanism in that case. I'm kind of hoping I can reuse
most of the existing code, perhaps only implementing a subclass that
receives and interprets my control messages then uses the existing functions
to actually do anything.

So, how would I go about manually disabling and/or removing an opportunistic
link? If anyone has any ideas how to best implement my desired
functionality, that would also be much appreciated.

Thanks,
Thomas Hall

--000e0cd1fb04a2ab480482eeffff
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello,<br><br>I&#39;m new to DTN and have been experimenting a bit with the=
 discovery/announce mechanism and opportunistic links. My network consists =
of 3 computers (A, B and C), with dtn2.7.0 and oasys installed and running =
on A and C. A (10.0.1.1) and C (10.0.2.1) are connected to each other via B=
 (10.0.1.2 and 10.0.2.2), which acts as a gateway. My config file on A cont=
ains the following (C&#39;s config is identical except reversed IPs):<br>
interface add udp0 udp local_addr=3D10.0.1.1<br>discovery add udp_disc ip p=
ort=3D1067 local_addr=3D10.0.1.1 addr=3D10.0.2.1 unicast<br>discovery annou=
nce udp_cl udp_disc udp interval=3D10 cl_addr=3D10.0.1.1<br><br><br>This ap=
pears to be working; the nodes discover each other, the opportunistic link =
is set up as &quot;link-0&quot;, and I am able to use dtnsend and dtnping t=
o send packets from A to C.<br>
<br>My problem is that I&#39;m not quite sure how these opportunistic links=
 are closed. I tried experimenting with deleting the discovery/announce ent=
ries to see if and when the links timed out. As it turns out, it didn&#39;t=
 (alternatively it takes too long for any practical use). dtnsend and dtnpi=
ng happily continued to send packets successfully. For TCP, it did die when=
 I shut down the other node as the remote port closed, but this is not very=
 useful for me either.<br>
What I&#39;m trying to achieve is to be able to send control messages from =
B to A and C that forces DTN to open or close the links when I tell them to=
. It&#39;d be somewhat similar to a scheduled link I suppose, but using a s=
cheduled link would require careful synchronization which I&#39;d rather av=
oid. I&#39;m sort of at a loss where to start, however. My initial thought =
was to extend the announce/discovery mechanism which may actually work for =
establishing the link (the first time at least), but I&#39;d also need to b=
e able to remove the link using the same mechanism in that case. I&#39;m ki=
nd of hoping I can reuse most of the existing code, perhaps only implementi=
ng a subclass that receives and interprets my control messages then uses th=
e existing functions to actually do anything.<br>
<br>So, how would I go about manually disabling and/or removing an opportun=
istic link? If anyone has any ideas how to best implement my desired functi=
onality, that would also be much appreciated.<br><br>Thanks,<br>Thomas Hall=
<br>

--000e0cd1fb04a2ab480482eeffff--

Date: Mon, 29 Mar 2010 10:27:09 +0800
From: ye jianshe <[email-masked]>
To: [email-masked]
Subject: [dtn-users] a error from my first dtnping

Hello all,

     I am studying DTN2 and my first dtnping is as follows:

[root@localhost dtnping]# dtnping localhost
fatal error opening dtn handle: error in ipc communication

please help regarding this matter...

Thanks and Regards,

-- 
jiansheye/2010-03-29

To: [email-masked]
From: "SourceForge.net" <[email-masked]>
Date: Thu, 25 Mar 2010 21:26:24 +0000
Subject: [dtn-users] [ dtn-Bugs-2970349 ] dtnping (sender) not working on linux-armel

Bugs item #2970349, was opened at 2010-03-14 19:05
Message generated for change (Comment added) made by darrenlong
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Interface (example)
Group: v2.7
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: dtnping (sender) not working on linux-armel

Initial Comment:
dtnping launched from linux-armel host does not work. 
Tested on Nokia n900/maemo5 fremantle

Possible endianess issues.

----------------------------------------------------------------------

Comment By: Darren Long (darrenlong)
Date: 2010-03-25 21:26

Message:
Have just built DTN2 2.7.0 deb in scratchbox for N900/Maemo5 target and can
confirm that dtnping works for me on the device.

Happy to discuss issues on dtn-users list.

----------------------------------------------------------------------

Comment By: Ricardo Martins (aggression)
Date: 2010-03-25 19:23

Message:
Your machine is little endian and since almost everyone uses DTN in x86
machines, also little endian, I guess it is not a endianess issue. I've
tested DTN in a Playstation3 (which is big endian) and it works as
advertised. Are you're using uClibc or Glibc ?

----------------------------------------------------------------------

Comment By: Darren Long (darrenlong)
Date: 2010-03-14 19:22

Message:
Works for me on a sheevaplug, with code from tip.  I'll try it on maemo5
when I get a chance.

darren@plug1:~$ uname -a
Linux plug1 2.6.31 #2 PREEMPT Wed Sep 16 00:55:42 MDT 2009 armv5tel
GNU/Linux
darren@plug1:~$ dtnping  dtn://dtnbone.delaytolerant.net/ping
source_eid [dtn://plug1.49southgate.homeip.net/ping.25096]
dtn_register succeeded, regid 27
PING [dtn://dtnbone.delaytolerant.net/ping] (expiration 30)...
20 bytes from [dtn://dtnbone.delaytolerant.net/ping]: 'dtnping!' seqno=0,
time=349 ms
20 bytes from [dtn://dtnbone.delaytolerant.net/ping]: 'dtnping!' seqno=1,
time=652 ms

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

To: [email-masked]
From: "SourceForge.net" <[email-masked]>
Date: Thu, 25 Mar 2010 19:23:39 +0000
Subject: [dtn-users] [ dtn-Bugs-2970349 ] dtnping (sender) not working on linux-armel

Bugs item #2970349, was opened at 2010-03-14 19:05
Message generated for change (Comment added) made by aggression
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Interface (example)
Group: v2.7
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: dtnping (sender) not working on linux-armel

Initial Comment:
dtnping launched from linux-armel host does not work. 
Tested on Nokia n900/maemo5 fremantle

Possible endianess issues.

----------------------------------------------------------------------

Comment By: Ricardo Martins (aggression)
Date: 2010-03-25 19:23

Message:
Your machine is little endian and since almost everyone uses DTN in x86
machines, also little endian, I guess it is not a endianess issue. I've
tested DTN in a Playstation3 (which is big endian) and it works as
advertised. Are you're using uClibc or Glibc ?

----------------------------------------------------------------------

Comment By: Darren Long (darrenlong)
Date: 2010-03-14 19:22

Message:
Works for me on a sheevaplug, with code from tip.  I'll try it on maemo5
when I get a chance.

darren@plug1:~$ uname -a
Linux plug1 2.6.31 #2 PREEMPT Wed Sep 16 00:55:42 MDT 2009 armv5tel
GNU/Linux
darren@plug1:~$ dtnping  dtn://dtnbone.delaytolerant.net/ping
source_eid [dtn://plug1.49southgate.homeip.net/ping.25096]
dtn_register succeeded, regid 27
PING [dtn://dtnbone.delaytolerant.net/ping] (expiration 30)...
20 bytes from [dtn://dtnbone.delaytolerant.net/ping]: 'dtnping!' seqno=0,
time=349 ms
20 bytes from [dtn://dtnbone.delaytolerant.net/ping]: 'dtnping!' seqno=1,
time=652 ms

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

Date: Thu, 25 Mar 2010 15:47:45 +0100
From: Francesco Vollero <[email-masked]>
To: Darren Long <[email-masked]>
Cc: dtn-users list <[email-masked]>, ye jianshe <[email-masked]>
Subject: Re: [dtn-users] DTN2 and oasys install for linux redhat

Darren Long ha scritto:
> Hi Ye,
>
> When configuring DTN2 I tend to use:
>
> ./configure --disable-ecl --disable-edp
>

Or just install xerces-devel on redhat/fedora would not be more simple? 
And instead of compile by hand all the dependencies, using yum install 
<packagename>-devel is more simple and you dont waste time

Regards,
Francesco "A guy that compile DTN2 a tons of times on different 
platforms" Vollero

> Hope that helps.
>
> Darren
>
> On 25 Mar 2010, at 08:39, ye jianshe wrote:
>
>> Hi all,
>>
>> I tried to Compilation / Installation NS2 and oasys by the 
>> instruction from 
>> http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html. 
>> <http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html.>
>> Unfortunately, I have tried many times, but the results is  failed. 
>> my installation process is following:
>>  
>> Before comiling DTN2, compling  tcl8.4.12 ,   db-4.5.20 and   oasys-1.3.0
>>  
>>  step 1:
>>
>>  
>>
>>     cd /home/smallko/dtn2/cl8.4.12/unix
>>         ./configure
>>          make
>>         make install
>>
>>  
>>
>>  
>>
>> step 2:
>>
>>  
>>
>>     cd /home/smallko/dtn2/db-4.5.20/build_unix
>>          ../dist/configure
>>         make
>>         make install
>>
>>  
>>
>> step 3:
>>
>>  
>>
>>     cd /home/smallko/dtn2/oasys-1.3.0
>>          ./configure
>>           make
>>
>>  
>>
>> step 4:
>>
>>  
>>
>>     set environment for  .bash_profile:
>>
>>  
>>
>>      
>>
>> # .bash_profile
>>                                                                                 
>>
>> # Get the aliases and functions
>> if [ -f ~/.bashrc ]; then
>>         . ~/.bashrc
>> fi
>>                                                                                 
>>
>> # User specific environment and startup programs
>>                                                                                 
>>
>> PATH=$PATH:$HOME/bin
>> BASH_ENV=$HOME/.bashrc
>> USERNAME="root"
>> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/usr/local/BerkeleyDB.4.5/lib
>> export USERNAME BASH_ENV PATH
>> export LD_LIBRARY_PATH
>>
>>  
>>
>> step 5:
>>        cd /home/smallko/dtn2/dtn2.6
>>        ./configure -C
>>
>>       
>>
>> configure: loading cache config.cache
>> checking location of source directory... "/home/smallko/dtn2"
>> checking location of build directory... "/home/smallko/dtn2"
>> checking for a C compiler (trying gcc gcc-4.1 gcc-4.0 gcc-3.4 gcc-3.3)...
>> checking for gcc... (cached) gcc
>> checking for C compiler default output file name... a.out
>> checking whether the C compiler works... yes
>> checking whether we are cross compiling... no
>> checking for suffix of executables...
>> checking for suffix of object files... (cached) o
>> checking whether we are using the GNU C compiler... (cached) yes
>> checking whether gcc accepts -g... (cached) yes
>> checking for gcc option to accept ISO C89... (cached) none needed
>> checking for a C++ compiler (trying g++ g++-4.0 g++-4.0 g++-3.4 
>> g++-3.3)...
>> checking for g++... (cached) g++
>> checking whether we are using the GNU C++ compiler... (cached) yes
>> checking whether g++ accepts -g... (cached) yes
>> checking whether the C++ compiler works... yes
>> checking how to run the C preprocessor... (cached) gcc -E
>> checking for the version of the GNU C compiler... (cached) 3.2.2
>> checking for the version of the GNU C++ compiler... (cached) 3.2.2
>> checking for ar... (cached) ar
>> checking for ranlib... (cached) ranlib
>> checking whether to compile with debugging... yes
>> checking whether to compile with memory debugging... no
>> checking whether to compile with lock debugging (default yes)... yes
>> checking whether to compile with optimization... no
>> checking whether to compile with profiling... no
>> checking whether to link statically... no
>> checking whether to link using static external libraries... no
>> checking whether to try to build shared libraries... yes
>> checking whether the compiler supports -fPIC... yes
>> checking whether the compiler can link a dynamic library with 
>> -shared... yes
>> checking extension for dynamic libraries... so
>> checking if the compiler supports -Wl,--rpath=.... yes
>> checking for an oasys installation (version 1.3 or better)... 
>> ./configure: line
>> 1: /home/smallko/oasys/share/oasys/tools/extract-version: Permission 
>> denied
>> ../oasys
>> checking for grep that handles long lines and -e... /bin/grep
>> checking for egrep... /bin/grep -E
>> checking for ANSI C header files... yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking whether bonjour support should be enabled... try
>> checking dns_sd.h usability... no
>> checking dns_sd.h presence... no
>> checking for dns_sd.h... no
>> checking for library containing DNSServiceRegister... no
>> checking whether bonjour support was found... no
>> checking whether to enable external convergence layer support... yes
>> checking whether oasys is configured with XERCES_C_ENABLED... no
>> configure: error: external convergence layer support requires 
>> xerces... install it or configure --disable-ecl
>>
>>  
>>
>>       make
>>
>>  
>>
>>        akefile:43: Rules.make: No such file or directory
>> make: /tools/extract-version: Command not found
>> H BH Bmake: /tools/extract-version: Command not found
>> ? B? Bmake: /tools/extract-version: Command not found
>> ? B? Bmake: /tools/extract-version: Command not found
>> ? B? BSRCDIR: .
>> error -- Makefile did not set SRCDIR properly
>> make: *** [/Rules.make.in <http://Rules.make.in/>] Error 1
>>
>>  
>>
>> ..................
>>
>>   
>>
>>  
>>
>>  please help regarding this matter...
>>
>>  
>> jiansheye/2010-03- 25
>>
>> _______________________________________________
>> dtn-users mailing list
>> [email-masked] 
>> <mailto:[email-masked]>
>> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>   

From: Darren Long <[email-masked]>
Date: Thu, 25 Mar 2010 09:02:02 +0000
To: ye jianshe <[email-masked]>
Cc: dtn-users list <[email-masked]>
Subject: Re: [dtn-users] DTN2 and oasys install for linux redhat

--Boundary_(ID_fCYuX4HqIRFT3aqXwH4lkg)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT

Hi Ye,

When configuring DTN2 I tend to use:

	./configure --disable-ecl --disable-edp

Hope that helps.

Darren

On 25 Mar 2010, at 08:39, ye jianshe wrote:

> Hi all,
> 
> I tried to Compilation / Installation NS2 and oasys by the instruction from http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html.
> Unfortunately, I have tried many times, but the results is  failed. my installation process is following:
>  
> Before comiling DTN2, compling  tcl8.4.12 ,   db-4.5.20 and   oasys-1.3.0
>  
>  step 1:
>  
>     cd /home/smallko/dtn2/cl8.4.12/unix
>         ./configure
>          make
>         make install
>  
>  
> step 2:
>  
>     cd /home/smallko/dtn2/db-4.5.20/build_unix
>          ../dist/configure
>         make
>         make install
>  
> step 3:
>  
>     cd /home/smallko/dtn2/oasys-1.3.0
>          ./configure
>           make
>  
> step 4:
>  
>     set environment for  .bash_profile:
>  
>      
> # .bash_profile
>                                                                                 
> # Get the aliases and functions
> if [ -f ~/.bashrc ]; then
>         . ~/.bashrc
> fi
>                                                                                 
> # User specific environment and startup programs
>                                                                                 
> PATH=$PATH:$HOME/bin
> BASH_ENV=$HOME/.bashrc
> USERNAME="root"
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/usr/local/BerkeleyDB.4.5/lib
> export USERNAME BASH_ENV PATH
> export LD_LIBRARY_PATH
> 
>  
> step 5:
>        cd /home/smallko/dtn2/dtn2.6
>        ./configure -C
>       
> configure: loading cache config.cache
> checking location of source directory... "/home/smallko/dtn2"
> checking location of build directory... "/home/smallko/dtn2"
> checking for a C compiler (trying gcc gcc-4.1 gcc-4.0 gcc-3.4 gcc-3.3)...
> checking for gcc... (cached) gcc
> checking for C compiler default output file name... a.out
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... (cached) o
> checking whether we are using the GNU C compiler... (cached) yes
> checking whether gcc accepts -g... (cached) yes
> checking for gcc option to accept ISO C89... (cached) none needed
> checking for a C++ compiler (trying g++ g++-4.0 g++-4.0 g++-3.4 g++-3.3)...
> checking for g++... (cached) g++
> checking whether we are using the GNU C++ compiler... (cached) yes
> checking whether g++ accepts -g... (cached) yes
> checking whether the C++ compiler works... yes
> checking how to run the C preprocessor... (cached) gcc -E
> checking for the version of the GNU C compiler... (cached) 3.2.2
> checking for the version of the GNU C++ compiler... (cached) 3.2.2
> checking for ar... (cached) ar
> checking for ranlib... (cached) ranlib
> checking whether to compile with debugging... yes
> checking whether to compile with memory debugging... no
> checking whether to compile with lock debugging (default yes)... yes
> checking whether to compile with optimization... no
> checking whether to compile with profiling... no
> checking whether to link statically... no
> checking whether to link using static external libraries... no
> checking whether to try to build shared libraries... yes
> checking whether the compiler supports -fPIC... yes
> checking whether the compiler can link a dynamic library with -shared... yes
> checking extension for dynamic libraries... so
> checking if the compiler supports -Wl,--rpath=.... yes
> checking for an oasys installation (version 1.3 or better)... ./configure: line
> 1: /home/smallko/oasys/share/oasys/tools/extract-version: Permission denied
> ../oasys
> checking for grep that handles long lines and -e... /bin/grep
> checking for egrep... /bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking whether bonjour support should be enabled... try
> checking dns_sd.h usability... no
> checking dns_sd.h presence... no
> checking for dns_sd.h... no
> checking for library containing DNSServiceRegister... no
> checking whether bonjour support was found... no
> checking whether to enable external convergence layer support... yes
> checking whether oasys is configured with XERCES_C_ENABLED... no
> configure: error: external convergence layer support requires xerces... install it or configure --disable-ecl
>  
>       make
>  
>        akefile:43: Rules.make: No such file or directory
> make: /tools/extract-version: Command not found
> H BH Bmake: /tools/extract-version: Command not found
> ? B? Bmake: /tools/extract-version: Command not found
> ? B? Bmake: /tools/extract-version: Command not found
> ? B? BSRCDIR: .
> error -- Makefile did not set SRCDIR properly
> make: *** [/Rules.make.in] Error 1
>  
> ..................
>   
>  
>  please help regarding this matter...
>  
> jiansheye/2010-03- 25
> 
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users

--Boundary_(ID_fCYuX4HqIRFT3aqXwH4lkg)
Content-type: text/html; charset=utf-8
Content-transfer-encoding: quoted-printable

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi =
Ye,<div><br></div><div>When configuring DTN2 I tend to =
use:</div><div><br></div><div><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>./configure --disable-ecl =
--disable-edp</div><div><br></div><div>Hope that =
helps.</div><div><br></div><div>Darren</div><div><br><div><div>On 25 Mar =
2010, at 08:39, ye jianshe wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><p>Hi =
all,</p>
<div>I tried to Compilation / Installation NS2 and oasys by the =
instruction from <a =
href=3D"http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html.">http:/=
/dtn.sourceforge.net/DTN2/doc/manual/compiling.html. </a></div>

<div>Unfortunately, I have tried many times, but the results is&nbsp; =
failed. my installation process is following:</div>
<div>&nbsp;</div>
<div>Before comiling DTN2, compling&nbsp; <span lang=3D"EN-US"><font =
face=3D"Times New Roman">tcl8.4.12&nbsp;,</font></span><span =
lang=3D"EN-US"><font face=3D"Times New Roman"><span =
style=3D"mso-tab-count: 3">&nbsp;</span><span style=3D"mso-spacerun: =
yes">&nbsp; </span>db-4.5.20&nbsp;and&nbsp;</font></span><span =
lang=3D"EN-US" style=3D"FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New =
Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: =E5=AE=8B=E4=BD=
=93; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><span =
style=3D"mso-spacerun: yes">&nbsp; </span>oasys-1.3.0</span></div>

<div><span lang=3D"EN-US" style=3D"FONT-SIZE: 10.5pt; FONT-FAMILY: =
'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: =
=E5=AE=8B=E4=BD=93; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
mso-fareast-language: ZH-CN; mso-bidi-language: =
AR-SA"></span>&nbsp;</div>

<div><span lang=3D"EN-US" style=3D"FONT-SIZE: 10.5pt; FONT-FAMILY: =
'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: =
=E5=AE=8B=E4=BD=93; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; =
mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span style=3D"FONT-FAMILY: =E5=AE=8B=E4=BD=93; =
mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times =
New Roman'">&nbsp;step 1:</span></div><p class=3D"MsoNormal" =
style=3D"MARGIN: 0cm 0cm 0pt"><span style=3D"FONT-FAMILY: =E5=AE=8B=E4=BD=93=
; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: =
'Times New Roman'"></span>&nbsp;</p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
style=3D"FONT-FAMILY: =E5=AE=8B=E4=BD=93; mso-ascii-font-family: 'Times =
New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;&nbsp;&nbsp; =
cd&nbsp;/home/smallko/dtn2/</span><span lang=3D"EN-US"><font face=3D"Times=
 New Roman">cl8.4.12/unix</font></span></div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US"><font face=3D"Times New Roman"><span =
style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span =
style=3D"mso-spacerun: yes"> </span>./configure</font></span></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span lang=3D"EN-US"><font face=3D"Times New =
Roman"><span style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span =
style=3D"mso-spacerun: yes"> </span>make </font></span></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span lang=3D"EN-US"><font face=3D"Times New =
Roman"><span style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span =
style=3D"mso-spacerun: yes"> </span>make install</font></span></div><p =
class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span =
lang=3D"EN-US"></span>&nbsp;</p><p class=3D"MsoNormal" style=3D"MARGIN: =
0cm 0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span lang=3D"EN-US">step 2:</span></div><p =
class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span =
lang=3D"EN-US"></span>&nbsp;</p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
style=3D"FONT-FAMILY: =E5=AE=8B=E4=BD=93; mso-ascii-font-family: 'Times =
New Roman'; mso-hansi-font-family: 'Times New =
Roman'">&nbsp;&nbsp;&nbsp;&nbsp;cd /home/smallko/dtn2/</span><span =
lang=3D"EN-US"><font face=3D"Times New =
Roman">db-4.5.20/build_unix</font></span></div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US"><font face=3D"Times New Roman"><span =
style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span =
style=3D"mso-spacerun: yes"> =
</span>../dist/configure</font></span></div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US"><font face=3D"Times New Roman"><span =
style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>make</font></spa=
n></div><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0pt; margin-left: 0cm; "><span lang=3D"EN-US"><font face=3D"Times New =
Roman"><span style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>make =
install</font></span></div><p class=3D"MsoNormal" style=3D"MARGIN: 0cm =
0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">step 3:</span></div><p class=3D"MsoNormal" style=3D"MARGIN:=
 0cm 0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span style=3D"FONT-FAMILY: =E5=AE=8B=E4=BD=93; =
mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times =
New Roman'">&nbsp;&nbsp;&nbsp; cd /home/smallko/dtn2/o</span><span =
lang=3D"EN-US"><font face=3D"Times New =
Roman">asys-1.3.0</font></span></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US"><font face=3D"Times New Roman"><span =
style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span =
style=3D"mso-spacerun: yes"> </span>./configure</font></span></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span lang=3D"EN-US"><font face=3D"Times New =
Roman"><span style=3D"mso-tab-count: =
3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span =
style=3D"mso-spacerun: yes">&nbsp; </span>make</font></span></div><p =
class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span =
lang=3D"EN-US"></span>&nbsp;</p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">step 4:</span></div><p class=3D"MsoNormal" style=3D"MARGIN:=
 0cm 0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp; set =
environment for&nbsp; .bash_profile: </span></div><p class=3D"MsoNormal" =
style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p><p =
class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span =
lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p><p># =
.bash_profile<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br># Get the aliases =
and functions<br>if [ -f ~/.bashrc ]; =
then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; . =
~/.bashrc<br>fi<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
# User specific environment and startup =
programs<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
<br>PATH=3D$PATH:$HOME/bin<br>BASH_ENV=3D$HOME/.bashrc<br>USERNAME=3D"root=
"<br>LD_LIBRARY_PATH=3D$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/usr/local=
/BerkeleyDB.4.5/lib<br>
export USERNAME BASH_ENV PATH<br>export LD_LIBRARY_PATH</p></span><p =
class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span =
lang=3D"EN-US"></span>&nbsp;</p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">step 5:</span></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd =
/home/smallko/dtn2/dtn2.6</span></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./configure =
-C</span></div><p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm =
0pt"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span></p><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0pt; margin-left: 0cm; "><span lang=3D"EN-US">configure: =
loading cache config.cache<br>checking location of source directory... =
"/home/smallko/dtn2"<br>checking location of build directory... =
"/home/smallko/dtn2"<br>
checking for a C compiler (trying gcc gcc-4.1 gcc-4.0 gcc-3.4 =
gcc-3.3)...<br>checking for gcc... (cached) gcc<br>checking for C =
compiler default output file name... a.out<br>checking whether the C =
compiler works... yes<br>
checking whether we are cross compiling... no<br>checking for suffix of =
executables...<br>checking for suffix of object files... (cached) =
o<br>checking whether we are using the GNU C compiler... (cached) =
yes<br>checking whether gcc accepts -g... (cached) yes<br>
checking for gcc option to accept ISO C89... (cached) none =
needed<br>checking for a C++ compiler (trying g++ g++-4.0 g++-4.0 =
g++-3.4 g++-3.3)...<br>checking for g++... (cached) g++<br>checking =
whether we are using the GNU C++ compiler... (cached) yes<br>
checking whether g++ accepts -g... (cached) yes<br>checking whether the =
C++ compiler works... yes<br>checking how to run the C preprocessor... =
(cached) gcc -E<br>checking for the version of the GNU C compiler... =
(cached) 3.2.2<br>
checking for the version of the GNU C++ compiler... (cached) =
3.2.2<br>checking for ar... (cached) ar<br>checking for ranlib... =
(cached) ranlib<br>checking whether to compile with debugging... =
yes<br>checking whether to compile with memory debugging... no<br>
checking whether to compile with lock debugging (default yes)... =
yes<br>checking whether to compile with optimization... no<br>checking =
whether to compile with profiling... no<br>checking whether to link =
statically... no<br>
checking whether to link using static external libraries... =
no<br>checking whether to try to build shared libraries... =
yes<br>checking whether the compiler supports -fPIC... yes<br>checking =
whether the compiler can link a dynamic library with -shared... yes<br>
checking extension for dynamic libraries... so<br>checking if the =
compiler supports -Wl,--rpath=3D.... yes<br>checking for an oasys =
installation (version 1.3 or better)... ./configure: line<br>1: =
/home/smallko/oasys/share/oasys/tools/extract-version: Permission =
denied<br>
../oasys<br>checking for grep that handles long lines and -e... =
/bin/grep<br>checking for egrep... /bin/grep -E<br>checking for ANSI C =
header files... yes<br>checking for sys/types.h... yes<br>checking for =
sys/stat.h... yes<br>
checking for stdlib.h... yes<br>checking for string.h... yes<br>checking =
for memory.h... yes<br>checking for strings.h... yes<br>checking for =
inttypes.h... yes<br>checking for stdint.h... yes<br>checking for =
unistd.h... yes<br>
checking whether bonjour support should be enabled... try<br>checking =
dns_sd.h usability... no<br>checking dns_sd.h presence... no<br>checking =
for dns_sd.h... no<br>checking for library containing =
DNSServiceRegister... no<br>
checking whether bonjour support was found... no<br>checking whether to =
enable external convergence layer support... yes<br>checking whether =
oasys is configured with XERCES_C_ENABLED... no<br>configure: error: =
external convergence layer support requires xerces... install it or =
configure --disable-ecl</span></div><p class=3D"MsoNormal" =
style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; =
margin-left: 0cm; "><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
make</span></div><p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm =
0pt"><span lang=3D"EN-US"></span>&nbsp;</p><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; akefile:43: =
Rules.make: No such file or directory<br>make: /tools/extract-version: =
Command not found<br>H  BH  Bmake: /tools/extract-version: Command not =
found<br>
?  B?  Bmake: /tools/extract-version: Command not found<br>?  B?  Bmake: =
/tools/extract-version: Command not found<br>?  B?  BSRCDIR: .<br>error =
-- Makefile did not set SRCDIR properly<br>make: *** [/<a =
href=3D"http://Rules.make.in/">Rules.make.in</a>] Error 1</span></div><p =
class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span =
lang=3D"EN-US"></span>&nbsp;</p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; "><span =
lang=3D"EN-US">..................</span></div><p class=3D"MsoNormal" =
style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&nbsp;</span><span =
lang=3D"EN-US">&nbsp;</span></p><p class=3D"MsoNormal" style=3D"MARGIN: =
0cm 0cm 0pt"><span lang=3D"EN-US"></span>&nbsp;</p></div>
<div>&nbsp;please help regarding this =
matter...</div><p>&nbsp;<br>jiansheye/2010-03- 25</p>
_______________________________________________<br>dtn-users mailing =
list<br><a =
href=3D"mailto:[email-masked]">dtn-users@maillists=
.intel-research.net</a><br>http://maillists.intel-research.net/mailman/lis=
tinfo/dtn-users<br></blockquote></div><br></div></body></html>=

--Boundary_(ID_fCYuX4HqIRFT3aqXwH4lkg)--

Date: Thu, 25 Mar 2010 16:39:09 +0800
From: ye jianshe <[email-masked]>
To: [email-masked]
Subject: [dtn-users] DTN2 and oasys install for linux redhat

--0016368e2e1a07ac8004829bfbfa
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi all,
I tried to Compilation / Installation NS2 and oasys by the instruction
from http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html.

Unfortunately, I have tried many times, but the results is  failed. my
installation process is following:

Before comiling DTN2, compling  tcl8.4.12 ,   db-4.5.20 and   oasys-1.3.0

 step 1:

    cd /home/smallko/dtn2/cl8.4.12/unix

        ./configure

         make

        make install

step 2:

    cd /home/smallko/dtn2/db-4.5.20/build_unix

         ../dist/configure

        make

        make install

step 3:

    cd /home/smallko/dtn2/oasys-1.3.0

         ./configure

          make

step 4:

    set environment for  .bash_profile:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=3D$PATH:$HOME/bin
BASH_ENV=3D$HOME/.bashrc
USERNAME=3D"root"
LD_LIBRARY_PATH=3D$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/usr/local/Berke=
leyDB.4.5/lib
export USERNAME BASH_ENV PATH
export LD_LIBRARY_PATH

step 5:

       cd /home/smallko/dtn2/dtn2.6

       ./configure -C

configure: loading cache config.cache
checking location of source directory... "/home/smallko/dtn2"
checking location of build directory... "/home/smallko/dtn2"
checking for a C compiler (trying gcc gcc-4.1 gcc-4.0 gcc-3.4 gcc-3.3)...
checking for gcc... (cached) gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for a C++ compiler (trying g++ g++-4.0 g++-4.0 g++-3.4 g++-3.3)...
checking for g++... (cached) g++
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking whether the C++ compiler works... yes
checking how to run the C preprocessor... (cached) gcc -E
checking for the version of the GNU C compiler... (cached) 3.2.2
checking for the version of the GNU C++ compiler... (cached) 3.2.2
checking for ar... (cached) ar
checking for ranlib... (cached) ranlib
checking whether to compile with debugging... yes
checking whether to compile with memory debugging... no
checking whether to compile with lock debugging (default yes)... yes
checking whether to compile with optimization... no
checking whether to compile with profiling... no
checking whether to link statically... no
checking whether to link using static external libraries... no
checking whether to try to build shared libraries... yes
checking whether the compiler supports -fPIC... yes
checking whether the compiler can link a dynamic library with -shared... ye=
s
checking extension for dynamic libraries... so
checking if the compiler supports -Wl,--rpath=3D.... yes
checking for an oasys installation (version 1.3 or better)... ./configure:
line
1: /home/smallko/oasys/share/oasys/tools/extract-version: Permission denied
../oasys
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether bonjour support should be enabled... try
checking dns_sd.h usability... no
checking dns_sd.h presence... no
checking for dns_sd.h... no
checking for library containing DNSServiceRegister... no
checking whether bonjour support was found... no
checking whether to enable external convergence layer support... yes
checking whether oasys is configured with XERCES_C_ENABLED... no
configure: error: external convergence layer support requires xerces...
install it or configure --disable-ecl

      make

       akefile:43: Rules.make: No such file or directory
make: /tools/extract-version: Command not found
H=13=13BH=13=13Bmake: /tools/extract-version: Command not found
?=14=13B?=14=13Bmake: /tools/extract-version: Command not found
?=14=13B?=14=13Bmake: /tools/extract-version: Command not found
?=14=13B?=14=13BSRCDIR: .
error -- Makefile did not set SRCDIR properly
make: *** [/Rules.make.in] Error 1

..................

 please help regarding this matter...

jiansheye/2010-03- 25

--0016368e2e1a07ac8004829bfbfa
Content-Type: text/html; charset=GB2312
Content-Transfer-Encoding: quoted-printable

<p>Hi all,</p>
<div>I tried to Compilation / Installation NS2 and oasys by the instruction=
 from <a href=3D"http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html.=
 ">http://dtn.sourceforge.net/DTN2/doc/manual/compiling.html. </a></div>

<div>Unfortunately, I have tried many times, but the results is&nbsp; faile=
d. my installation process is following:</div>
<div>&nbsp;</div>
<div>Before comiling DTN2, compling&nbsp; <span lang=3D"EN-US"><font face=
=3D"Times New Roman">tcl8.4.12&nbsp;,</font></span><span lang=3D"EN-US"><fo=
nt face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;</span><=
span style=3D"mso-spacerun: yes">&nbsp; </span>db-4.5.20&nbsp;and&nbsp;</fo=
nt></span><span lang=3D"EN-US" style=3D"FONT-SIZE: 10.5pt; FONT-FAMILY: &#3=
9;Times New Roman&#39;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family=
: =CB=CE=CC=E5; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fare=
ast-language: ZH-CN; mso-bidi-language: AR-SA"><span style=3D"mso-spacerun:=
 yes">&nbsp; </span>oasys-1.3.0</span></div>

<div><span lang=3D"EN-US" style=3D"FONT-SIZE: 10.5pt; FONT-FAMILY: &#39;Tim=
es New Roman&#39;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: =CB=
=CE=CC=E5; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-l=
anguage: ZH-CN; mso-bidi-language: AR-SA"></span>&nbsp;</div>

<div><span lang=3D"EN-US" style=3D"FONT-SIZE: 10.5pt; FONT-FAMILY: &#39;Tim=
es New Roman&#39;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: =CB=
=CE=CC=E5; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-l=
anguage: ZH-CN; mso-bidi-language: AR-SA">
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span style=3D"FONT-FA=
MILY: =CB=CE=CC=E5; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-h=
ansi-font-family: &#39;Times New Roman&#39;">&nbsp;step 1:</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span style=3D"FONT-FA=
MILY: =CB=CE=CC=E5; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-h=
ansi-font-family: &#39;Times New Roman&#39;"></span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span style=3D"FONT-FA=
MILY: =CB=CE=CC=E5; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-h=
ansi-font-family: &#39;Times New Roman&#39;">&nbsp;&nbsp;&nbsp; cd&nbsp;/ho=
me/smallko/dtn2/</span><span lang=3D"EN-US"><font face=3D"Times New Roman">=
cl8.4.12/unix</font></span></p>

<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style=3D"mso-spacerun: yes"> </s=
pan>./configure</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style=3D"mso-spacerun: yes=
"> </span>make </font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style=3D"mso-spacerun: yes"> </s=
pan>make install</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">s=
tep 2:</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span style=3D"FONT-FA=
MILY: =CB=CE=CC=E5; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-h=
ansi-font-family: &#39;Times New Roman&#39;">&nbsp;&nbsp;&nbsp;&nbsp;cd /ho=
me/smallko/dtn2/</span><span lang=3D"EN-US"><font face=3D"Times New Roman">=
db-4.5.20/build_unix</font></span></p>

<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style=3D"mso-spacerun: yes=
"> </span>../dist/configure</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>make</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>make install</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">s=
tep 3:</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span style=3D"FONT-FA=
MILY: =CB=CE=CC=E5; mso-ascii-font-family: &#39;Times New Roman&#39;; mso-h=
ansi-font-family: &#39;Times New Roman&#39;">&nbsp;&nbsp;&nbsp; cd /home/sm=
allko/dtn2/o</span><span lang=3D"EN-US"><font face=3D"Times New Roman">asys=
-1.3.0</font></span></p>

<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style=3D"mso-spacerun: yes=
"> </span>./configure</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
font face=3D"Times New Roman"><span style=3D"mso-tab-count: 3">&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style=3D"mso-spacerun: yes=
">&nbsp; </span>make</font></span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">s=
tep 4:</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp; set environment for&nbsp; .bash_profile: </span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p># .bash_profile<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br># Get the aliases and fu=
nctions<br>if [ -f ~/.bashrc ]; then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; . ~/.bashrc<br>fi<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
# User specific environment and startup programs<br>&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; <br>PATH=3D$PATH:$HOME/bin<br>BASH_ENV=3D$HOME/.bashrc<br>USERNAME=3D&quo=
t;root&quot;<br>LD_LIBRARY_PATH=3D$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:=
/usr/local/BerkeleyDB.4.5/lib<br>
export USERNAME BASH_ENV PATH<br>export LD_LIBRARY_PATH</p></span>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">s=
tep 5:</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd /home/smallko/dtn2/dtn2.6</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./configure -C</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">c=
onfigure: loading cache config.cache<br>checking location of source directo=
ry... &quot;/home/smallko/dtn2&quot;<br>checking location of build director=
y... &quot;/home/smallko/dtn2&quot;<br>
checking for a C compiler (trying gcc gcc-4.1 gcc-4.0 gcc-3.4 gcc-3.3)...<b=
r>checking for gcc... (cached) gcc<br>checking for C compiler default outpu=
t file name... a.out<br>checking whether the C compiler works... yes<br>
checking whether we are cross compiling... no<br>checking for suffix of exe=
cutables...<br>checking for suffix of object files... (cached) o<br>checkin=
g whether we are using the GNU C compiler... (cached) yes<br>checking wheth=
er gcc accepts -g... (cached) yes<br>
checking for gcc option to accept ISO C89... (cached) none needed<br>checki=
ng for a C++ compiler (trying g++ g++-4.0 g++-4.0 g++-3.4 g++-3.3)...<br>ch=
ecking for g++... (cached) g++<br>checking whether we are using the GNU C++=
 compiler... (cached) yes<br>
checking whether g++ accepts -g... (cached) yes<br>checking whether the C++=
 compiler works... yes<br>checking how to run the C preprocessor... (cached=
) gcc -E<br>checking for the version of the GNU C compiler... (cached) 3.2.=
2<br>
checking for the version of the GNU C++ compiler... (cached) 3.2.2<br>check=
ing for ar... (cached) ar<br>checking for ranlib... (cached) ranlib<br>chec=
king whether to compile with debugging... yes<br>checking whether to compil=
e with memory debugging... no<br>
checking whether to compile with lock debugging (default yes)... yes<br>che=
cking whether to compile with optimization... no<br>checking whether to com=
pile with profiling... no<br>checking whether to link statically... no<br>
checking whether to link using static external libraries... no<br>checking =
whether to try to build shared libraries... yes<br>checking whether the com=
piler supports -fPIC... yes<br>checking whether the compiler can link a dyn=
amic library with -shared... yes<br>
checking extension for dynamic libraries... so<br>checking if the compiler =
supports -Wl,--rpath=3D.... yes<br>checking for an oasys installation (vers=
ion 1.3 or better)... ./configure: line<br>1: /home/smallko/oasys/share/oas=
ys/tools/extract-version: Permission denied<br>
../oasys<br>checking for grep that handles long lines and -e... /bin/grep<b=
r>checking for egrep... /bin/grep -E<br>checking for ANSI C header files...=
 yes<br>checking for sys/types.h... yes<br>checking for sys/stat.h... yes<b=
r>
checking for stdlib.h... yes<br>checking for string.h... yes<br>checking fo=
r memory.h... yes<br>checking for strings.h... yes<br>checking for inttypes=
.h... yes<br>checking for stdint.h... yes<br>checking for unistd.h... yes<b=
r>
checking whether bonjour support should be enabled... try<br>checking dns_s=
d.h usability... no<br>checking dns_sd.h presence... no<br>checking for dns=
_sd.h... no<br>checking for library containing DNSServiceRegister... no<br>
checking whether bonjour support was found... no<br>checking whether to ena=
ble external convergence layer support... yes<br>checking whether oasys is =
configured with XERCES_C_ENABLED... no<br>configure: error: external conver=
gence layer support requires xerces... install it or configure --disable-ec=
l</span></p>

<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; akefile:43: Rules.make: No such file or=
 directory<br>make: /tools/extract-version: Command not found<br>H  BH  Bma=
ke: /tools/extract-version: Command not found<br>
?  B?  Bmake: /tools/extract-version: Command not found<br>?  B?  Bmake: /t=
ools/extract-version: Command not found<br>?  B?  BSRCDIR: .<br>error -- Ma=
kefile did not set SRCDIR properly<br>make: *** [/<a href=3D"http://Rules.m=
ake.in">Rules.make.in</a>] Error 1</span></p>

<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">.=
.................</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US">&=
nbsp;</span><span lang=3D"EN-US">&nbsp;</span></p>
<p class=3D"MsoNormal" style=3D"MARGIN: 0cm 0cm 0pt"><span lang=3D"EN-US"><=
/span>&nbsp;</p></div>
<div>&nbsp;please help regarding this matter...</div>
<p>&nbsp;<br>jiansheye/2010-03- 25</p>

--0016368e2e1a07ac8004829bfbfa--

Date: Tue, 23 Mar 2010 14:35:00 +0800
From: "Graham Keellings (Leonix Solutions Pte Ltd)" <[email-masked]>
To: [email-masked]
Subject: [dtn-users] Any current use of DTN in commercial products?

This is a multi-part message in MIME format.
--------------060201070701000203010401
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

  Most of us seem to be involved in research. Other than the military, 
are there any current products in use or in development, which make use 
of DTN? Commercial products?

--------------060201070701000203010401
Content-Type: text/x-vcard; charset=utf-8;
 name="Graham.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="Graham.vcf"

begin:vcard
fn:Graham Keellings (Leonix Solutions Pte Ltd)
n:Keellings;Graham
org:Leonix Solutions Pte Ltd;Software
adr:#09-95 TradeHub 21;;18 Boon Lay Way;;;609966;Singapore
email;internet:[email-masked]
title:Technical Director
tel;work:+65 6316 9968
tel;fax:+65 6316 9208
tel;cell:+65 9725 7353
url:http://leonixsolutions.com/
version:2.1
end:vcard

--------------060201070701000203010401--

Date: Mon, 22 Mar 2010 17:42:34 -0400
From: Zack Sims <[email-masked]>
To: [email-masked]
Subject: Re: [dtn-users] dtn-users Digest, Vol 29, Issue 6

--001485f631e2362a7004826a9303
Content-Type: text/plain; charset=ISO-8859-1

Not entirely aware what you already know about the software and the efforts,
but since you're on the mailing list I assume you know the capabilities.
here is an overview either way:

http://www.dtnrg.org/wiki/DtnBone

If you do not already have the sofware installed, this will be the first
thing to accomplish.

As far as the installation methods that I'm familiar with, I have only used
the DTN2 implementation under Ubuntu and under Fedora Linux. The
installation methods are quite similar on different Linux distributions,
however. Below is a link to an archived post that initially helped me get it
installed correctly.

http://maillists.intel-research.net/pipermail/dtn-users/2009-July.txt.gz

The email has multiple subject in it, but I don't see a point in retyping it
since the original post does the job well enough.

you will see a list of dependencies that need installed. These were required
within ubuntu and similarly on the Fedora machine the we have in our lab.
The third listing is misspelled, however. It should be:

libavahi-compat-libdnssd-dev

There are probably updated versions of these dependencies so that might
something to look into as well.

After you have finished compiling the software you will want to configure
your dtn to work as a simulation. Here is a link to the documentation pages.

http://www.dtnrg.org/docs/code/DTN2/doc/manual/

There are a set of tutorials that will guide you through initial setups.

If you need more details than the documentation offers or if you encounter
any problems let me know. I'm far from an expert, but I hope I can help.

Zack Sims
Shawnee State University - Cyber Center
Research Assistant

On Sat, Mar 20, 2010 at 3:00 PM, <
[email-masked]> wrote:

> Send dtn-users mailing list submissions to
>        [email-masked]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        http://maillists.intel-research.net/mailman/listinfo/dtn-users
> or, via email, send a message with subject or body 'help' to
>        [email-masked]
>
> You can reach the person managing the list at
>        [email-masked]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of dtn-users digest..."
>
>
> Today's Topics:
>
>   1. perform a simulation work in DTN2 or ION (ye jianshe)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Sat, 20 Mar 2010 13:08:53 +0800
> From: ye jianshe <[email-masked]>
> Subject: [dtn-users] perform a simulation work in DTN2 or ION
> To: [email-masked]
> Message-ID:
>        <[email-masked]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello all,
>
> I am studying Space DTN and want to perform a simulation work in DTN2 or
> ION, can anybody help me that how and from where I can start, I am new to
> DTN Implementation.
> Thanks and Regards,
> --
> jiansheye/2010-03-20
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://maillists.intel-research.net/pipermail/dtn-users/attachments/20100320/926558ac/attachment-0001.html
>
> ------------------------------
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>
> End of dtn-users Digest, Vol 29, Issue 6
> ****************************************
>

--001485f631e2362a7004826a9303
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Not entirely aware what you already know about the software and the
efforts, but since you&#39;re on the mailing list I assume you know the
capabilities. here is an overview either way:<br><br><a href=3D"http://www.=
dtnrg.org/wiki/DtnBone">http://www.dtnrg.org/wiki/DtnBone</a><br><br>
If you do not already have the sofware installed, this will be the first th=
ing to accomplish.<br>
<br>
As far as the installation methods that I&#39;m familiar with, I have only
used the DTN2 implementation under Ubuntu and under Fedora Linux. The
installation methods are quite similar on different Linux
distributions, however. Below is a link to an archived post that
initially helped me get it installed correctly.<br>
<br>
<a href=3D"http://maillists.intel-research.net/pipermail/dtn-users/2009-Jul=
y.txt.gz">http://maillists.intel-research.net/pipermail/dtn-users/2009-July=
.txt.gz</a><br>
<br>
The email has multiple subject in it, but I don&#39;t see a point in retypi=
ng it since the original post does the job well enough.<br>
<br>
you will see a list of dependencies that need installed. These were
required within ubuntu and similarly on the Fedora machine the we have
in our lab.=A0 The third listing is misspelled, however. It should be:<br>
<br>
libavahi-compat-libdnssd-dev<br>
<br>
There are probably updated versions of these dependencies so that might som=
ething to look into as well.<br>
<br>
After you have finished compiling the software you will want to
configure your dtn to work as a simulation. Here is a link to the
documentation pages.<br>
<br>
<a href=3D"http://www.dtnrg.org/docs/code/DTN2/doc/manual/">http://www.dtnr=
g.org/docs/code/DTN2/doc/manual/</a><br>
<br>
There are a set of tutorials that will guide you through initial setups.<br=
>
<br>
If you need more details than the documentation offers or if you
encounter any problems let me know. I&#39;m far from an expert, but I hope
I can help.<br>
<br>
Zack Sims<br>
Shawnee State University - Cyber Center<br>
Research Assistant <br>
<br><br><div class=3D"gmail_quote">On Sat, Mar 20, 2010 at 3:00 PM,  <span =
dir=3D"ltr">&lt;<a href=3D"mailto:[email-masked]=
h.net" target=3D"_blank">[email-masked]</a>=
&gt;</span> wrote:<br>

<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Send dtn-users ma=
iling list submissions to<br>
 =A0 =A0 =A0 =A0<a href=3D"mailto:[email-masked]" t=
arget=3D"_blank">[email-masked]</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
 =A0 =A0 =A0 =A0<a href=3D"http://maillists.intel-research.net/mailman/list=
info/dtn-users" target=3D"_blank">http://maillists.intel-research.net/mailm=
an/listinfo/dtn-users</a><br>
or, via email, send a message with subject or body &#39;help&#39; to<br>
 =A0 =A0 =A0 =A0<a href=3D"mailto:[email-masked]=
h.net" target=3D"_blank">[email-masked]</a>=
<br>
<br>
You can reach the person managing the list at<br>
 =A0 =A0 =A0 =A0<a href=3D"mailto:[email-masked].=
net" target=3D"_blank">[email-masked]</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of dtn-users digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br>
 =A0 1. perform a simulation work in DTN2 or ION (ye jianshe)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sat, 20 Mar 2010 13:08:53 +0800<br>
From: ye jianshe &lt;<a href=3D"mailto:[email-masked]" target=3D"_blan=
k">[email-masked]</a>&gt;<br>
Subject: [dtn-users] perform a simulation work in DTN2 or ION<br>
To: <a href=3D"mailto:[email-masked]" target=3D"_bl=
ank">[email-masked]</a><br>
Message-ID:<br>
 =A0 =A0 =A0 =A0&lt;<a href=3D"mailto:99313f811003192208u247647f1wb8b47d1e8=
[email-masked]" target=3D"_blank">99313f811003192208u247647f1wb8b47=
[email-masked]</a>&gt;<br>
Content-Type: text/plain; charset=3D&quot;iso-8859-1&quot;<br>
<br>
Hello all,<br>
<br>
I am studying Space DTN and want to perform a simulation work in DTN2 or<br=
>
ION, can anybody help me that how and from where I can start, I am new to<b=
r>
DTN Implementation.<br>
Thanks and Regards,<br>
--<br>
jiansheye/2010-03-20<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href=3D"http://maillists.intel-research.net/pipermail/dtn-users/att=
achments/20100320/926558ac/attachment-0001.html" target=3D"_blank">http://m=
aillists.intel-research.net/pipermail/dtn-users/attachments/20100320/926558=
ac/attachment-0001.html</a><br>

<br>
------------------------------<br>
<br>
_______________________________________________<br>
dtn-users mailing list<br>
<a href=3D"mailto:[email-masked]" target=3D"_blank"=
>[email-masked]</a><br>
<a href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-users" =
target=3D"_blank">http://maillists.intel-research.net/mailman/listinfo/dtn-=
users</a><br>
<br>
<br>
End of dtn-users Digest, Vol 29, Issue 6<br>
****************************************<br>
</blockquote></div><br>

--001485f631e2362a7004826a9303--

From: "Burleigh, Scott C (313B)" <[email-masked]>
To: ye jianshe <[email-masked]>, "[email-masked]" <[email-masked]>
Date: Mon, 22 Mar 2010 08:11:31 -0700
Accept-Language: en-US
acceptlanguage: en-US
Subject: Re: [dtn-users] perform a simulation work in DTN2 or ION

--_000_FD514C8A5155C64C9B145B48D674EF544A54FAB7FFALTPHYEMBEVSP_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

For a link to the DTN2 implementation, see http://www.dtnrg.org/wiki/Code. =
 A fairly old version of the ION implementation is available at https://ion=
.ocp.ohiou.edu/legacy/; a true open-source release of the current code shou=
ld be available soon, pending administrative approval at JPL, but in the me=
antime you could get started with the older distribution.

Scott

From: [email-masked] [mailto:dtn-users-boun=
[email-masked]] On Behalf Of ye jianshe
Sent: Friday, March 19, 2010 10:09 PM
To: [email-masked]
Subject: [dtn-users] perform a simulation work in DTN2 or ION

Hello all,

I am studying Space DTN and want to perform a simulation work in DTN2 or IO=
N, can anybody help me that how and from where I can start, I am new to DTN=
 Implementation.
Thanks and Regards,
--
jiansheye/2010-03-20

--_000_FD514C8A5155C64C9B145B48D674EF544A54FAB7FFALTPHYEMBEVSP_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>For a link to the DTN2 implementation, see <a
href=3D"http://www.dtnrg.org/wiki/Code">http://www.dtnrg.org/wiki/Code</a>.=
 &nbsp;A
fairly old version of the ION implementation is available at <a
href=3D"https://ion.ocp.ohiou.edu/legacy/">https://ion.ocp.ohiou.edu/legacy=
/</a>;
a true open-source release of the current code should be available soon, pe=
nding
administrative approval at JPL, but in the meantime you could get started w=
ith the
older distribution.<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'>Scott<o:p></o:p></span></p>

<p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri",=
"sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt'>

<div>

<div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'>

<p class=3DMsoNormal><b><span style=3D'font-size:10.0pt;font-family:"Tahoma=
","sans-serif"'>From:</span></b><span
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> dtn-users-bou=
[email-masked]
[mailto:[email-masked]] <b>On Behalf Of </b=
>ye
jianshe<br>
<b>Sent:</b> Friday, March 19, 2010 10:09 PM<br>
<b>To:</b> [email-masked]<br>
<b>Subject:</b> [dtn-users] perform a simulation work in DTN2 or ION<o:p></=
o:p></span></p>

</div>

</div>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=3DMsoNormal>Hello all,<o:p></o:p></p>

</div>

<div>

<p class=3DMsoNormal><br>
I am studying Space DTN and want to perform a simulation work in DTN2 or IO=
N,
can anybody help me that how and from where I can start, I am new to DTN
Implementation.<br>
Thanks and Regards,<o:p></o:p></p>

</div>

<p class=3DMsoNormal>-- <br>
jiansheye/2010-03-20 <o:p></o:p></p>

</div>

</div>

</body>

</html>

--_000_FD514C8A5155C64C9B145B48D674EF544A54FAB7FFALTPHYEMBEVSP_--

Date: Sat, 20 Mar 2010 13:08:53 +0800
From: ye jianshe <[email-masked]>
To: [email-masked]
Subject: [dtn-users] perform a simulation work in DTN2 or ION

--000e0cd242a4d352c704823475d6
Content-Type: text/plain; charset=ISO-8859-1

Hello all,

I am studying Space DTN and want to perform a simulation work in DTN2 or
ION, can anybody help me that how and from where I can start, I am new to
DTN Implementation.
Thanks and Regards,
-- 
jiansheye/2010-03-20

--000e0cd242a4d352c704823475d6
Content-Type: text/html; charset=ISO-8859-1

<br clear="all">
<div>Hello all,</div>
<div><br>I am studying Space DTN and want to perform a simulation work in DTN2 or ION, can anybody help me that how and from where I can start, I am new to DTN Implementation.<br>Thanks and Regards,</div>-- <br>jiansheye/2010-03-20

--000e0cd242a4d352c704823475d6--

To: [email-masked]
From: "SourceForge.net" <[email-masked]>
Date: Sun, 14 Mar 2010 19:22:58 +0000
Subject: [dtn-users] [ dtn-Bugs-2970349 ] dtnping (sender) not working on linux-armel

Bugs item #2970349, was opened at 2010-03-14 19:05
Message generated for change (Comment added) made by darrenlong
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Interface (example)
Group: v2.7
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: dtnping (sender) not working on linux-armel

Initial Comment:
dtnping launched from linux-armel host does not work. 
Tested on Nokia n900/maemo5 fremantle

Possible endianess issues.

----------------------------------------------------------------------

Comment By: Darren Long (darrenlong)
Date: 2010-03-14 19:22

Message:
Works for me on a sheevaplug, with code from tip.  I'll try it on maemo5
when I get a chance.

darren@plug1:~$ uname -a
Linux plug1 2.6.31 #2 PREEMPT Wed Sep 16 00:55:42 MDT 2009 armv5tel
GNU/Linux
darren@plug1:~$ dtnping  dtn://dtnbone.delaytolerant.net/ping
source_eid [dtn://plug1.49southgate.homeip.net/ping.25096]
dtn_register succeeded, regid 27
PING [dtn://dtnbone.delaytolerant.net/ping] (expiration 30)...
20 bytes from [dtn://dtnbone.delaytolerant.net/ping]: 'dtnping!' seqno=0,
time=349 ms
20 bytes from [dtn://dtnbone.delaytolerant.net/ping]: 'dtnping!' seqno=1,
time=652 ms

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

To: [email-masked]
From: "SourceForge.net" <[email-masked]>
Date: Sun, 14 Mar 2010 19:05:26 +0000
Subject: [dtn-users] [ dtn-Bugs-2970349 ] dtnping (sender) not working on linux-armel

Bugs item #2970349, was opened at 2010-03-14 19:05
Message generated for change (Tracker Item Submitted) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Interface (example)
Group: v2.7
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: dtnping (sender) not working on linux-armel

Initial Comment:
dtnping launched from linux-armel host does not work. 
Tested on Nokia n900/maemo5 fremantle

Possible endianess issues.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=630167&aid=2970349&group_id=101657

Date: Thu, 11 Mar 2010 13:16:30 -0500
From: "G. Clark" <[email-masked]>
To: Zack Sims <[email-masked]>
Cc: dtn-users list <[email-masked]>
Subject: Re: [dtn-users] Using DTN2 over LTP

General questions / comments; I have not built / installed LTPlib.

Have you run ldconfig since you installed the LTP libraries?  Does your 
ld.so.conf or ld.so.conf.d/*.conf contain the location where the 
libraries are installed, assuming you'd like ldconfig to find them?

Have you tried setting your LD_LIBRARY_PATH to point to the location 
where the libraries are installed?

You might try explicitly setting CPPFLAGS / LDFLAGS (-Ipath/to/headers 
and / or -Lpath/to/libraries) when you run ./configure, to see if that 
helps.

Good luck,
Gilbert Clark
Grad Student

Zack Sims wrote:
> We appreciate the advice thus far. Tried interfacing the lib with dtn 
> before responding again and have hit a brick wall. When doing 
> './configure --with-ltp' it says it's trying to enable ltp convergence 
> layer support and that the ltp libraries are not available.
>
> When reading through the ./aclocal/ltpconvergencelayer.ac 
> <http://ltpconvergencelayer.ac> file we found a list of potential 
> directories that it searches. After copying the LTPlib directory into 
> any of the dirs (we've tried all of them and more), it still gives the 
> same response.
>
> Any help is much appreciated
> thanks
>
> Zack Sims & Justin Dailey
> Shawnee State University - Cyber Center
> Research Assistants
>
> On Wed, Mar 10, 2010 at 3:14 PM, Stephen Farrell 
> <[email-masked] <mailto:[email-masked]>> wrote:
>
>     Right. At some stage, and hopefully soon I plan to do a 1.0 of
>     LTPlib and to document it better. I'd be interested in any
>     opinions as to whether or not to integrate the source with DTN2
>     (default being to keep em separate).
>
>     In the meantime feel free to ask me for help if you want to use
>     BP/LTP,
>     Stephen.
>
>
>     On 10 Mar 2010, at 19:51, Darren Long <[email-masked]
>     <mailto:[email-masked]>> wrote:
>
>>     The LTP CL has only been in the DTN2 Mercurial repo for 7 weeks
>>     and release 2.7.0 is the first to contain it. 
>>
>>     As such, I expect that there isn't widespread experience in using
>>     it. 
>>
>>     I can't find any info on how to use the LTP CL yet, but the diff
>>     on the README file
>>     (http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README)
>>     says:
>>
>>         1.16 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.16> +Note - LTP
>>         1.17 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.17> +----------------------------
>>         1.18 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.18> +
>>         1.19 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.19> +This is an initial test of TCD's LTPlib as a CL. To 
>>         1.20 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.20> +use it go get LTPlib (todo: add URL!) and then 
>>         1.21 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.21> +./configure --with-ltp
>>
>>     and the homepage for LTPlib is here: 
>>
>>     https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/
>>
>>     Hope this helps.
>>
>>     Darren
>>
>>     On 10 Mar 2010, at 19:19, Zack Sims wrote:
>>
>>>     I am running a testbed composed of several DTN2 servers. I've
>>>     been able to make successful bundle transfers across multiple
>>>     path setups for several months now. My research partner and I
>>>     were under the impression that DTN2  used the LTP protocol, but
>>>     when we ran some scans of our network traffic only Bundle
>>>     headers were recognized.
>>>
>>>     We began looking into using the LTPlib as the convergence layer
>>>     but are having problems due to limited documentation. Are we on
>>>     the right path looking into LTPlib and if so how do we interface
>>>     DTN to it? If not, how else might we use LTP as a convergence layer?
>>>
>>>     Zack Sims
>>>     Shawnee State University - Cyber Center
>>>     Research Assistant _______________________________________________
>>>     dtn-users mailing list
>>>     [email-masked]
>>>     <mailto:[email-masked]>
>>>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>>
>>     _______________________________________________
>>     dtn-users mailing list
>>     [email-masked]
>>     <mailto:[email-masked]>
>>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>   

Date: Thu, 11 Mar 2010 17:50:50 +0000
From: Stephen Farrell <[email-masked]>
To: Zack Sims <[email-masked]>
Cc: dtn-users list <[email-masked]>
Subject: Re: [dtn-users] Using DTN2 over LTP

You've built LTPlib first right? Guess we should say that
in the docs if that's the case.

S.

On 03/11/2010 05:45 PM, Zack Sims wrote:
> We appreciate the advice thus far. Tried interfacing the lib with dtn
> before responding again and have hit a brick wall. When doing
> './configure --with-ltp' it says it's trying to enable ltp convergence
> layer support and that the ltp libraries are not available.
> 
> When reading through the ./aclocal/ltpconvergencelayer.ac
> <http://ltpconvergencelayer.ac> file we found a list of potential
> directories that it searches. After copying the LTPlib directory into
> any of the dirs (we've tried all of them and more), it still gives the
> same response.
> 
> Any help is much appreciated
> thanks
> 
> Zack Sims & Justin Dailey
> Shawnee State University - Cyber Center
> Research Assistants
> 
> On Wed, Mar 10, 2010 at 3:14 PM, Stephen Farrell
> <[email-masked] <mailto:[email-masked]>> wrote:
> 
>     Right. At some stage, and hopefully soon I plan to do a 1.0 of
>     LTPlib and to document it better. I'd be interested in any opinions
>     as to whether or not to integrate the source with DTN2 (default
>     being to keep em separate).
> 
>     In the meantime feel free to ask me for help if you want to use BP/LTP,
>     Stephen.
> 
> 
>     On 10 Mar 2010, at 19:51, Darren Long <[email-masked]
>     <mailto:[email-masked]>> wrote:
> 
>>     The LTP CL has only been in the DTN2 Mercurial repo for 7 weeks
>>     and release 2.7.0 is the first to contain it. 
>>
>>     As such, I expect that there isn't widespread experience in using it. 
>>
>>     I can't find any info on how to use the LTP CL yet, but the diff
>>     on the README file (
>>     <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README>http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README)
>>     says:
>>
>>         1.16 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.16> +Note - LTP
>>         1.17 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.17> +----------------------------
>>         1.18 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.18> +
>>         1.19 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.19> +This is an initial test of TCD's LTPlib as a CL. To 
>>         1.20 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.20> +use it go get LTPlib (todo: add URL!) and then 
>>         1.21 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.21> +./configure --with-ltp
>>
>>     and the homepage for LTPlib is here: 
>>
>>     <https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/>https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/
>>
>>     Hope this helps.
>>
>>     Darren
>>
>>     On 10 Mar 2010, at 19:19, Zack Sims wrote:
>>
>>>     I am running a testbed composed of several DTN2 servers. I've
>>>     been able to make successful bundle transfers across multiple
>>>     path setups for several months now. My research partner and I
>>>     were under the impression that DTN2  used the LTP protocol, but
>>>     when we ran some scans of our network traffic only Bundle headers
>>>     were recognized.
>>>
>>>     We began looking into using the LTPlib as the convergence layer
>>>     but are having problems due to limited documentation. Are we on
>>>     the right path looking into LTPlib and if so how do we interface
>>>     DTN to it? If not, how else might we use LTP as a convergence layer?
>>>
>>>     Zack Sims
>>>     Shawnee State University - Cyber Center
>>>     Research Assistant _______________________________________________
>>>     dtn-users mailing list
>>>     <mailto:[email-masked]>[email-masked]
>>>     <mailto:[email-masked]>
>>>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
>>
>>     _______________________________________________
>>     dtn-users mailing list
>>     [email-masked]
>>     <mailto:[email-masked]>
>>     http://maillists.intel-research.net/mailman/listinfo/dtn-users
> 
> 

Date: Thu, 11 Mar 2010 12:45:24 -0500
From: Zack Sims <[email-masked]>
To: Stephen Farrell <[email-masked]>
Cc: dtn-users list <[email-masked]>
Subject: Re: [dtn-users] Using DTN2 over LTP

--001485f626c8c9aa9a048189fae6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

We appreciate the advice thus far. Tried interfacing the lib with dtn befor=
e
responding again and have hit a brick wall. When doing './configure
--with-ltp' it says it's trying to enable ltp convergence layer support and
that the ltp libraries are not available.

When reading through the ./aclocal/ltpconvergencelayer.ac file we found a
list of potential directories that it searches. After copying the LTPlib
directory into any of the dirs (we've tried all of them and more), it still
gives the same response.

Any help is much appreciated
thanks

Zack Sims & Justin Dailey
Shawnee State University - Cyber Center
Research Assistants

On Wed, Mar 10, 2010 at 3:14 PM, Stephen Farrell
<[email-masked]>wrote:

> Right. At some stage, and hopefully soon I plan to do a 1.0 of LTPlib and
> to document it better. I'd be interested in any opinions as to whether or
> not to integrate the source with DTN2 (default being to keep em separate)=
.
>
> In the meantime feel free to ask me for help if you want to use BP/LTP,
> Stephen.
>
>
> On 10 Mar 2010, at 19:51, Darren Long <[email-masked]> wrote:
>
> The LTP CL has only been in the DTN2 Mercurial repo for 7 weeks and relea=
se
> 2.7.0 is the first to contain it.
>
> As such, I expect that there isn't widespread experience in using it.
>
> I can't find any info on how to use the LTP CL yet, but the diff on the
> README file (<http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28=
531/README>
> http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README)
> says:
>
>     1.16 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/=
README#l1.16> +Note - LTP    1.17 <http://dtn.hg.sourceforge.net/hgweb/dtn/=
DTN2/diff/0c66e7e28531/README#l1.17> +----------------------------    1.18 =
<http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.1=
8> +    1.19 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e2853=
1/README#l1.19> +This is an initial test of TCD's LTPlib as a CL. To     1.=
20 <http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l=
1.20> +use it go get LTPlib (todo: add URL!) and then     1.21 <http://dtn.=
hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.21> +./config=
ure --with-ltp
>
>
> and the homepage for LTPlib is here:
>
> <https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/>
> https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/
>
> Hope this helps.
>
> Darren
>
> On 10 Mar 2010, at 19:19, Zack Sims wrote:
>
> I am running a testbed composed of several DTN2 servers. I've been able t=
o
> make successful bundle transfers across multiple path setups for several
> months now. My research partner and I were under the impression that DTN2
> used the LTP protocol, but when we ran some scans of our network traffic
> only Bundle headers were recognized.
>
> We began looking into using the LTPlib as the convergence layer but are
> having problems due to limited documentation. Are we on the right path
> looking into LTPlib and if so how do we interface DTN to it? If not, how
> else might we use LTP as a convergence layer?
>
> Zack Sims
> Shawnee State University - Cyber Center
> Research Assistant _______________________________________________
> dtn-users mailing list
> <[email-masked]>
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
>

--001485f626c8c9aa9a048189fae6
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

We appreciate the advice thus far. Tried interfacing the lib with dtn befor=
e responding again and have hit a brick wall. When doing &#39;./configure -=
-with-ltp&#39; it says it&#39;s trying to enable ltp convergence layer supp=
ort and that the ltp libraries are not available.<br>
<br>When reading through the ./aclocal/<a href=3D"http://ltpconvergencelaye=
r.ac">ltpconvergencelayer.ac</a> file we found a list of potential director=
ies that it searches. After copying the LTPlib directory into any of the di=
rs (we&#39;ve tried all of them and more), it still gives the same response=
.<br>
<br>Any help is much appreciated<br>thanks<br><br>Zack Sims &amp; Justin Da=
iley<br>Shawnee State University - Cyber Center<br>Research Assistants<br><=
br><div class=3D"gmail_quote">On Wed, Mar 10, 2010 at 3:14 PM, Stephen Farr=
ell <span dir=3D"ltr">&lt;<a href=3D"mailto:[email-masked]">step=
[email-masked]</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, =
204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div bgcolor=3D"#=
FFFFFF"><div>Right. At some stage, and hopefully soon I plan to do a 1.0 of=
 LTPlib and to document it better. I&#39;d be interested in any opinions as=
 to whether or not to integrate the source with DTN2 (default being to keep=
 em separate).</div>
<div><br></div><div>In the meantime feel free to ask me for help if you wan=
t to use BP/LTP,</div><div>Stephen.</div><div><div></div><div class=3D"h5">=
<div><br></div><div><br>On 10 Mar 2010, at 19:51, Darren Long &lt;<a href=
=3D"mailto:[email-masked]" target=3D"_blank">[email-masked]</a>&g=
t; wrote:<br>
<br></div><div></div><blockquote type=3D"cite"><div>The LTP CL has only bee=
n in the DTN2 Mercurial repo for 7 weeks and release 2.7.0 is the first to =
contain it.=A0<div><br></div><div>As such, I expect that there isn&#39;t wi=
despread experience in using it.=A0</div>
<div><br></div><div>I can&#39;t find any info on how to use the LTP CL yet,=
 but the diff on the README file (<a href=3D"http://dtn.hg.sourceforge.net/=
hgweb/dtn/DTN2/diff/0c66e7e28531/README" target=3D"_blank"></a><a href=3D"h=
ttp://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README" targe=
t=3D"_blank">http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531=
/README</a>) says:</div>
<div><br></div><div><pre><span style=3D"color: rgb(0, 136, 0);"><a href=3D"=
http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.16=
" target=3D"_blank">    1.16</a> +Note - LTP
</span><span style=3D"color: rgb(0, 136, 0);"><a href=3D"http://dtn.hg.sour=
ceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.17" target=3D"_blank=
">    1.17</a> +----------------------------
</span><span style=3D"color: rgb(0, 136, 0);"><a href=3D"http://dtn.hg.sour=
ceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.18" target=3D"_blank=
">    1.18</a> +
</span><span style=3D"color: rgb(0, 136, 0);"><a href=3D"http://dtn.hg.sour=
ceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.19" target=3D"_blank=
">    1.19</a> +This is an initial test of TCD&#39;s LTPlib as a CL. To=20
</span><span style=3D"color: rgb(0, 136, 0);"><a href=3D"http://dtn.hg.sour=
ceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.20" target=3D"_blank=
">    1.20</a> +use it go get LTPlib (todo: add URL!) and then=20
</span><span style=3D"color: rgb(0, 136, 0);"><a href=3D"http://dtn.hg.sour=
ceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.21" target=3D"_blank=
">    1.21</a> +./configure --with-ltp
</span></pre><div><br></div></div><div>and the=A0homepage for LTPlib is her=
e:=A0</div><div><br></div><div><a href=3D"https://down.dsg.cs.tcd.ie/ltplib=
/https://down.dsg.cs.tcd.ie/ltplib/" target=3D"_blank"></a><a href=3D"https=
://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/" target=3D"=
_blank">https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib=
/</a></div>
<div><br></div><div>Hope this helps.</div><div><br></div><div>Darren</div><=
div><br><div><div>On 10 Mar 2010, at 19:19, Zack Sims wrote:</div><br><bloc=
kquote type=3D"cite">I am running a testbed composed of several DTN2 server=
s. I&#39;ve been able to make successful bundle transfers across multiple p=
ath
setups for several months now. My research partner and I were under the
impression that DTN2=A0 used the LTP protocol, but when we ran some scans
of our network traffic only Bundle headers were recognized.<br>
<br>We began looking into using the LTPlib as the convergence layer but
are having problems due to limited documentation. Are we on the right
path looking into LTPlib and if so how do we interface DTN to it? If
not, how else might we use LTP as a convergence layer?<br><font color=3D"#8=
88888">
<br>Zack Sims<br>Shawnee State University - Cyber Center<br>Research Assist=
ant
</font>
_______________________________________________<br>dtn-users mailing list<b=
r><a href=3D"mailto:[email-masked]" target=3D"_blan=
k"></a><a href=3D"mailto:[email-masked]" target=3D"=
_blank">[email-masked]</a><br>
<a href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-users" =
target=3D"_blank">http://maillists.intel-research.net/mailman/listinfo/dtn-=
users</a><br></blockquote></div><br></div>
</div></blockquote><blockquote type=3D"cite"><div><span>___________________=
____________________________</span><br><span>dtn-users mailing list</span><=
br><span><a href=3D"mailto:[email-masked]" target=
=3D"_blank">[email-masked]</a></span><br>
<span><a href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-u=
sers" target=3D"_blank">http://maillists.intel-research.net/mailman/listinf=
o/dtn-users</a></span><br></div></blockquote></div></div></div></blockquote=
>
</div><br>

--001485f626c8c9aa9a048189fae6--

From: Stephen Farrell <[email-masked]>
To: Darren Long <[email-masked]>
Date: Wed, 10 Mar 2010 20:14:31 +0000
Cc: dtn-users list <[email-masked]>, Zack Sims <[email-masked]>
Subject: Re: [dtn-users] Using DTN2 over LTP

--Apple-Mail-1-34581347
Content-Type: text/plain;
	charset=us-ascii;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit

Right. At some stage, and hopefully soon I plan to do a 1.0 of LTPlib  
and to document it better. I'd be interested in any opinions as to  
whether or not to integrate the source with DTN2 (default being to  
keep em separate).

In the meantime feel free to ask me for help if you want to use BP/LTP,
Stephen.

On 10 Mar 2010, at 19:51, Darren Long <[email-masked]> wrote:

> The LTP CL has only been in the DTN2 Mercurial repo for 7 weeks and  
> release 2.7.0 is the first to contain it.
>
> As such, I expect that there isn't widespread experience in using it.
>
> I can't find any info on how to use the LTP CL yet, but the diff on  
> the README file (http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README 
> ) says:
>
>     1.16 +Note - LTP
>     1.17 +----------------------------
>     1.18 +
>     1.19 +This is an initial test of TCD's LTPlib as a CL. To
>     1.20 +use it go get LTPlib (todo: add URL!) and then
>     1.21 +./configure --with-ltp
>
> and the homepage for LTPlib is here:
>
> https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/
>
> Hope this helps.
>
> Darren
>
> On 10 Mar 2010, at 19:19, Zack Sims wrote:
>
>> I am running a testbed composed of several DTN2 servers. I've been  
>> able to make successful bundle transfers across multiple path  
>> setups for several months now. My research partner and I were under  
>> the impression that DTN2  used the LTP protocol, but when we ran  
>> some scans of our network traffic only Bundle headers were  
>> recognized.
>>
>> We began looking into using the LTPlib as the convergence layer but  
>> are having problems due to limited documentation. Are we on the  
>> right path looking into LTPlib and if so how do we interface DTN to  
>> it? If not, how else might we use LTP as a convergence layer?
>>
>> Zack Sims
>> Shawnee State University - Cyber Center
>> Research Assistant _______________________________________________
>> dtn-users mailing list
>> [email-masked]
>> http://maillists.intel-research.net/mailman/listinfo/dtn-users
>
> _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users

--Apple-Mail-1-34581347
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><body bgcolor=3D"#FFFFFF"><div>Right. At some stage, and hopefully =
soon I plan to do a 1.0 of LTPlib and to document it better. I'd be =
interested in any opinions as to whether or not to integrate the source =
with DTN2 (default being to keep em =
separate).</div><div><br></div><div>In the meantime feel free to ask me =
for help if you want to use =
BP/LTP,</div><div>Stephen.</div><div><br></div><div><br>On 10 Mar 2010, =
at 19:51, Darren Long &lt;<a =
href=3D"mailto:[email-masked]">[email-masked]</a>&gt; =
wrote:<br><br></div><div></div><blockquote type=3D"cite"><div>The LTP CL =
has only been in the DTN2 Mercurial repo for 7 weeks and release 2.7.0 =
is the first to contain it.&nbsp;<div><br></div><div>As such, I expect =
that there isn't widespread experience in using =
it.&nbsp;</div><div><br></div><div>I can't find any info on how to use =
the LTP CL yet, but the diff on the README file (<a =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME"><a =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME">http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README=
</a></a>) says:</div><div><br></div><div><pre><span style=3D"color: =
rgb(0, 136, 0);"><a class=3D"linenr" =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME#l1.16" id=3D"l1.16">    1.16</a> +Note - LTP
</span><span style=3D"color: rgb(0, 136, 0);"><a class=3D"linenr" =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME#l1.17" id=3D"l1.17">    1.17</a> +----------------------------
</span><span style=3D"color: rgb(0, 136, 0);"><a class=3D"linenr" =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME#l1.18" id=3D"l1.18">    1.18</a> +
</span><span style=3D"color: rgb(0, 136, 0);"><a class=3D"linenr" =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME#l1.19" id=3D"l1.19">    1.19</a> +This is an initial test of TCD's =
LTPlib as a CL. To=20
</span><span style=3D"color: rgb(0, 136, 0);"><a class=3D"linenr" =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME#l1.20" id=3D"l1.20">    1.20</a> +use it go get LTPlib (todo: add =
URL!) and then=20
</span><span style=3D"color: rgb(0, 136, 0);"><a class=3D"linenr" =
href=3D"http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/REA=
DME#l1.21" id=3D"l1.21">    1.21</a> +./configure --with-ltp
</span></pre><div><br></div></div><div>and the&nbsp;homepage for LTPlib =
is here:&nbsp;</div><div><br></div><div><a =
href=3D"https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltpli=
b/"><a =
href=3D"https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltpli=
b/">https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/</=
a></a></div><div><br></div><div>Hope this =
helps.</div><div><br></div><div>Darren</div><div><br><div><div>On 10 Mar =
2010, at 19:19, Zack Sims wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite">I am =
running a testbed composed of several DTN2 servers. I've been able to =
make successful bundle transfers across multiple path
setups for several months now. My research partner and I were under the
impression that DTN2&nbsp; used the LTP protocol, but when we ran some =
scans
of our network traffic only Bundle headers were recognized.<br>
<br>We began looking into using the LTPlib as the convergence layer but
are having problems due to limited documentation. Are we on the right
path looking into LTPlib and if so how do we interface DTN to it? If
not, how else might we use LTP as a convergence layer?<br><font =
color=3D"#888888">
<br>Zack Sims<br>Shawnee State University - Cyber Center<br>Research =
Assistant
</font>
_______________________________________________<br>dtn-users mailing =
list<br><a href=3D"mailto:[email-masked]"><a =
href=3D"mailto:[email-masked]">dtn-users@maillists=
.intel-research.net</a></a><br><a =
href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-users">ht=
tp://maillists.intel-research.net/mailman/listinfo/dtn-users</a><br></bloc=
kquote></div><br></div>
</div></blockquote><blockquote =
type=3D"cite"><div><span>_______________________________________________</=
span><br><span>dtn-users mailing list</span><br><span><a =
href=3D"mailto:[email-masked]">dtn-users@maillists=
.intel-research.net</a></span><br><span><a =
href=3D"http://maillists.intel-research.net/mailman/listinfo/dtn-users">ht=
tp://maillists.intel-research.net/mailman/listinfo/dtn-users</a></span><br=
></div></blockquote></body></html>=

--Apple-Mail-1-34581347--

From: Darren Long <[email-masked]>
Date: Wed, 10 Mar 2010 19:51:43 +0000
To: Zack Sims <[email-masked]>
Cc: dtn-users list <[email-masked]>
Subject: Re: [dtn-users] Using DTN2 over LTP

--Boundary_(ID_HbdWffsPx8SIu0w95aZEpA)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT

The LTP CL has only been in the DTN2 Mercurial repo for 7 weeks and release 2.7.0 is the first to contain it. 

As such, I expect that there isn't widespread experience in using it. 

I can't find any info on how to use the LTP CL yet, but the diff on the README file (http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README) says:

    1.16 +Note - LTP
    1.17 +----------------------------
    1.18 +
    1.19 +This is an initial test of TCD's LTPlib as a CL. To 
    1.20 +use it go get LTPlib (todo: add URL!) and then 
    1.21 +./configure --with-ltp

and the homepage for LTPlib is here: 

https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/

Hope this helps.

Darren

On 10 Mar 2010, at 19:19, Zack Sims wrote:

> I am running a testbed composed of several DTN2 servers. I've been able to make successful bundle transfers across multiple path setups for several months now. My research partner and I were under the impression that DTN2  used the LTP protocol, but when we ran some scans of our network traffic only Bundle headers were recognized.
> 
> We began looking into using the LTPlib as the convergence layer but are having problems due to limited documentation. Are we on the right path looking into LTPlib and if so how do we interface DTN to it? If not, how else might we use LTP as a convergence layer?
> 
> Zack Sims
> Shawnee State University - Cyber Center
> Research Assistant _______________________________________________
> dtn-users mailing list
> [email-masked]
> http://maillists.intel-research.net/mailman/listinfo/dtn-users

--Boundary_(ID_HbdWffsPx8SIu0w95aZEpA)
Content-type: text/html; charset=us-ascii
Content-transfer-encoding: 7BIT

<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">The LTP CL has only been in the DTN2 Mercurial repo for 7 weeks and release 2.7.0 is the first to contain it.&nbsp;<div><br></div><div>As such, I expect that there isn't widespread experience in using it.&nbsp;</div><div><br></div><div>I can't find any info on how to use the LTP CL yet, but the diff on the README file (<a href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README">http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README</a>) says:</div><div><br></div><div><pre><span style="color: rgb(0, 136, 0);"><a class="linenr" href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.16" id="l1.16">    1.16</a> +Note - LTP
</span><span style="color: rgb(0, 136, 0);"><a class="linenr" href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.17" id="l1.17">    1.17</a> +----------------------------
</span><span style="color: rgb(0, 136, 0);"><a class="linenr" href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.18" id="l1.18">    1.18</a> +
</span><span style="color: rgb(0, 136, 0);"><a class="linenr" href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.19" id="l1.19">    1.19</a> +This is an initial test of TCD's LTPlib as a CL. To 
</span><span style="color: rgb(0, 136, 0);"><a class="linenr" href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.20" id="l1.20">    1.20</a> +use it go get LTPlib (todo: add URL!) and then 
</span><span style="color: rgb(0, 136, 0);"><a class="linenr" href="http://dtn.hg.sourceforge.net/hgweb/dtn/DTN2/diff/0c66e7e28531/README#l1.21" id="l1.21">    1.21</a> +./configure --with-ltp
</span></pre><div><br></div></div><div>and the&nbsp;homepage for LTPlib is here:&nbsp;</div><div><br></div><div><a href="https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/">https://down.dsg.cs.tcd.ie/ltplib/https://down.dsg.cs.tcd.ie/ltplib/</a></div><div><br></div><div>Hope this helps.</div><div><br></div><div>Darren</div><div><br><div><div>On 10 Mar 2010, at 19:19, Zack Sims wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I am running a testbed composed of several DTN2 servers. I've been able to make successful bundle transfers across multiple path
setups for several months now. My research partner and I were under the
impression that DTN2&nbsp; used the LTP protocol, but when we ran some scans
of our network traffic only Bundle headers were recognized.<br>
<br>We began looking into using the LTPlib as the convergence layer but
are having problems due to limited documentation. Are we on the right
path looking into LTPlib and if so how do we interface DTN to it? If
not, how else might we use LTP as a convergence layer?<br><font color="#888888">
<br>Zack Sims<br>Shawnee State University - Cyber Center<br>Research Assistant
</font>
_______________________________________________<br>dtn-users mailing list<br><a href="mailto:[email-masked]">[email-masked]</a><br>http://maillists.intel-research.net/mailman/listinfo/dtn-users<br></blockquote></div><br></div></body></html>

--Boundary_(ID_HbdWffsPx8SIu0w95aZEpA)--

Date: Wed, 10 Mar 2010 14:19:45 -0500
From: Zack Sims <[email-masked]>
To: [email-masked]
Subject: [dtn-users] Using DTN2 over LTP

--001485f945e05e23720481772e00
Content-Type: text/plain; charset=ISO-8859-1

I am running a testbed composed of several DTN2 servers. I've been able to
make successful bundle transfers across multiple path setups for several
months now. My research partner and I were under the impression that DTN2
used the LTP protocol, but when we ran some scans of our network traffic
only Bundle headers were recognized.

We began looking into using the LTPlib as the convergence layer but are
having problems due to limited documentation. Are we on the right path
looking into LTPlib and if so how do we interface DTN to it? If not, how
else might we use LTP as a convergence layer?

Zack Sims
Shawnee State University - Cyber Center
Research Assistant

--001485f945e05e23720481772e00
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

I am running a testbed composed of several DTN2 servers. I&#39;ve been able=
 to make successful bundle transfers across multiple path
setups for several months now. My research partner and I were under the
impression that DTN2=A0 used the LTP protocol, but when we ran some scans
of our network traffic only Bundle headers were recognized.<br>
<br>We began looking into using the LTPlib as the convergence layer but
are having problems due to limited documentation. Are we on the right
path looking into LTPlib and if so how do we interface DTN to it? If
not, how else might we use LTP as a convergence layer?<br><font color=3D"#8=
88888">
<br>Zack Sims<br>Shawnee State University - Cyber Center<br>Research Assist=
ant
</font>

--001485f945e05e23720481772e00--

Date: Wed, 03 Mar 2010 22:16:02 +0000
From: Stephen Farrell <[email-masked]>
To: dtn-users mailing list <[email-masked]>
Subject: [dtn-users] MTU check in generic code

Hi all,

While testing the LTP CL we've added I ran into something
I think's wrong but wanted to check.

DTN2/servlib/bundling/BundleActions.cc around line 128 has
a check as to whether the total (encoded) bundle size is
bigger than the configured link MTU (if an MTU value is
configured).

That would be ok if the only CL type that with an MTU
configuration setting was UDP. For the LTP CL however
it makes no sense and I can't see why it'd be there for
any CL (even for UDP, there's a check in the CL specific
code).

So, I think removing this is right (and seems to work for
me) but am I missing something?

Ta,
Stephen.

Sender: Francesco Vollero <[email-masked]>
Date: Tue, 02 Mar 2010 16:33:49 +0100
From: Francesco Vollero <[email-masked]>
To: [email-masked]
Subject: [dtn-users] DTN2 and oasys current repository debian patch

This is a multi-part message in MIME format.
--------------080306090309020403090403
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hi to all,
as subject i post two patches for the debian folder files, because in 
the DTN2 wasnt updated with the last version and oasys had 2.6.0 version 
defined on changelog, and i think it was copied from DTN2 release.
Waiting for feedback.

Francesco Vollero

--------------080306090309020403090403
Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0";
	name="oasys_debian_patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="oasys_debian_patch"

diff -r a3ddfd263c95 debian/changelog
--- a/debian/changelog	Mon Mar 01 21:19:58 2010 +0000
+++ b/debian/changelog	Tue Mar 02 16:14:27 2010 +0100
@@ -1,4 +1,10 @@
-oasys (2.6.0) unstable; urgency=low
+oasys (1.4.0) unstable; urgency=low
+
+  * 1.4.0 build 
+
+ -- Alex McMahon <[email-masked]>  Fri, 22 Feb 2010 16:46:17 +0100
+
+oasys (1.3.0) unstable; urgency=low
 
   * 2.6.0 build 2.6.0 build 

--------------080306090309020403090403
Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0";
	name="DTN2_debian_patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="DTN2_debian_patch"

diff -r 82a51d104a3c debian/changelog
--- a/debian/changelog	Mon Mar 01 21:22:01 2010 +0000
+++ b/debian/changelog	Tue Mar 02 16:12:22 2010 +0100
@@ -1,3 +1,9 @@
+dtn (2.7.0) unstable; urgency=low
+
+  * 2.7.0 release upgrade
+
+ -- Alex McMahon <[email-masked]>  Fri, 08 May 2009 20:07:09 +0100
+
 dtn (2.6.0) unstable; urgency=low
 
   * 2.6.0 release upgrade
diff -r 82a51d104a3c debian/dtn.init.d
--- a/debian/dtn.init.d	Mon Mar 01 21:22:01 2010 +0000
+++ b/debian/dtn.init.d	Tue Mar 02 16:12:22 2010 +0100
@@ -1,5 +1,15 @@
-#!/bin/bash
-#
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          dtnd
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Delay-Tolerant Network server
+### END INIT INFO
+#/etc/init.d/dtnd
+# Modified by: Francesco Vollero <[email-masked]>
+
 # dtnd		Start the DTN daemon
 #
 # The variables below are NOT to be changed.  They are there to make the
@@ -31,35 +41,35 @@
 
 case "$1" in
   start)
-    echo -n "Starting DTN daemon..."
+    echo "Starting DTN daemon..."
     should_start
     $SSD $SSDARGS --start -- $ARGS
     ;;
 
   start_tidy)
     should_start
-    echo -n "Starting DTN daemon (tidy mode)..."
+    echo "Starting DTN daemon (tidy mode)..."
     $SSD $SSDARGS --start -- $ARGS -t
     ;;
 
   stop)
-    echo -n "Stopping DTN daemon..."
+    echo "Stopping DTN daemon..."
     $CONTROL stop || true
-    echo -n "Making sure DTN daemon stops..."
+    echo "Making sure DTN daemon stops..."
     $SSD $SSDARGS --stop || true
     ;;
 
   restart)
-    echo -n "Stopping DTN daemon..."
+    echo "Stopping DTN daemon..."
     $CONTROL stop || true
-    echo -n "Making sure DTN daemon stops..."
+    echo "Making sure DTN daemon stops..."
     $SSD $SSDARGS --stop || true
-    echo -n "Restarting DTN daemon..."
+    echo "Restarting DTN daemon..."
     $SSD $SSDARGS --start -- $ARGS
     ;;
 
   logrotate)
-    echo -n "Rotating logs for DTN daemon..."
+    echo "Rotating logs for DTN daemon..."
     $CONTROL logrotate
     ;;

--------------080306090309020403090403--