Hi,
I have a strange problem that I hope someone could help me with. When I use the TCP Convergence Layer, this works fine, however when I attempt to use the UDP convergence layer, it seems to remember some old configuration, or fallback to TCP and does not use the UDP convergence layer.
The conf file of my source node is below:
local_uri = dtn://tx net_eth_type = dgram:udp #net_internet = eth0 net_eth_interface = eth0 net_eth_port = 4556 net_interfaces = eth
# Create a route to rx static1_uri = dtn://rx static1_port = 4556 static1_address = 10.0.1.3 static1_proto = udp static1_immediately = yes # connect immediately to this node #static1_global = no # this node is only reachable with internet access
routing = default stats_traffic = yes
api_interface = lo
However, when I start the daemon:
dtnd -c /home/alarm/downloads/ibr-dtn/configs/2node-udpcl/tx.conf -v -i eth0
The log shows the following entry:
Sun Jan 17 21:38:50 2016 INFO NativeDaemon: TCP ConvergenceLayer added on eth0:4556
If anyone could offer any help, this would be very much appreciated! Kind Regards, Nik
Hi Stephan,
Thank you for your kind reply.
I originally tried both net_eth_type = udp & static1_proto = udp, but this didn't work. I will try them both as dgram:udp later and respond back.
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:00 PM, Stephan Rottmann rottmann@ibr.cs.tu-bs.de wrote:
Hi Nik,
static1_uri = dtn://rx static1_port = 4556 static1_address = 10.0.1.3 static1_proto = udp
Have you tried dgram:udp at this point?
Best regards, Stephan
Hi Stephan,
I have just tried again on a brand new installation and observed something strange, hopefully I have found a fix to the problem. I tried to troubleshoot in stages, this is what I did:
1. Start dtnd with default conf file - Started OK with no convergence layer 2. Add custom conf file (below conf1), but do not specify the correct interface name, also do not start dtnd with -i option - Started OK with UDP Convergence layer (Datagram ConvergenceLayer (UDP) added on eth0:4556) 3. Add custom conf file (below conf2) with correct interface name and use -i option - Fails: (TCP ConvergenceLayer added on eno16777736:4556) 4. Revert back to step 2 - Started OK with UDP Convergence layer (Datagram ConvergenceLayer (UDP) added on eth0:4556) 5. Add custom conf file (below conf2) with correct interface name and _do_not_ use -i dtnd startup option - Works: (Datagram ConvergenceLayer (UDP) added on eno16777736:4556)
I think perhaps the net_eth_interface option in the conf file and the -i dtnd startup option may be conflicting with each other. It appears to start OK using only the net_eth_interface option in the conf file. When I am logged on to my test bed in a few hours I will try some data transfers and report back.
Kind Regards, Nik
Conf1: local_uri = dtn://rx net_eth_type = dgram:udp #net_internet = eth0 net_eth_interface = eth0 net_eth_port = 4556 net_interfaces = eth
# Create a route to tx static1_uri = dtn://tx static1_port = 4556 static1_address = 10.0.0.1 static1_proto = dgram:udp static1_immediately = yes # connect immediately to this node #static1_global = no # this node is only reachable with internet access
Conf2: local_uri = dtn://rx net_eth_type = dgram:udp #net_internet = eno16777736 net_eth_interface = eno16777736 net_eth_port = 4556 net_interfaces = eth
# Create a route to tx static1_uri = dtn://tx static1_port = 4556 static1_address = 10.0.0.1 static1_proto = dgram:udp static1_immediately = yes # connect immediately to this node #static1_global = no # this node is only reachable with internet access
routing = default stats_traffic = yes api_interface = lo
**dtnd startup line and output (UDP starts OK, but not bound to a working nic)
/home/alarm/downloads/ibr-dtn/install/sbin/dtnd -c /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build a5f9012)
Mon Jan 18 15:33:05 2016 INFO Configuration: Configuration: /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:33:05 2016 INFO BundleCore: Local node name: dtn://rx
Mon Jan 18 15:33:05 2016 INFO BundleCore: Forwarding of bundles enabled.
Mon Jan 18 15:33:05 2016 INFO BundleCore: Non-singleton bundles are accepted.
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: using bundle storage in memory-only mode
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: API initialized using tcp socket: lo:4550
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: Datagram ConvergenceLayer (UDP) added on eth0:4556
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: listen to [ff02::142]:4551
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: listen to [224.0.0.142]:4551
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: add interface eth0
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: Using default routing extensions
** dtnd startup line and output (Always uses TCP Convergence layer)
/home/alarm/downloads/ibr-dtn/install/sbin/dtnd -c /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf -i eno16777736
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build a5f9012)
Mon Jan 18 15:37:33 2016 INFO Configuration: Configuration: /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:37:33 2016 INFO BundleCore: Local node name: dtn://rx
Mon Jan 18 15:37:33 2016 INFO BundleCore: Forwarding of bundles enabled.
Mon Jan 18 15:37:33 2016 INFO BundleCore: Non-singleton bundles are accepted.
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: using bundle storage in memory-only mode
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: API initialized using tcp socket: lo:4550
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: TCP ConvergenceLayer added on eno16777736:4556
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: listen to [ff02::142]:4551
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: listen to [224.0.0.142]:4551
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: add interface eno16777736
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: Using default routing extensions
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:18 PM, Nik Ansell nikansell00@gmail.com wrote:
Hi Stephan,
Thank you for your kind reply.
I originally tried both net_eth_type = udp & static1_proto = udp, but this didn't work. I will try them both as dgram:udp later and respond back.
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:00 PM, Stephan Rottmann < rottmann@ibr.cs.tu-bs.de> wrote:
Hi Nik,
static1_uri = dtn://rx static1_port = 4556 static1_address = 10.0.1.3 static1_proto = udp
Have you tried dgram:udp at this point?
Best regards, Stephan
Yes, this fixed it.
The -i <interface> dtnd startup option was conflicting with the interface definition in the conf file. Starting dtnd without the -i option worked fine.
Kind Regards, Nik
On Mon, Jan 18, 2016 at 4:02 PM, Nik Ansell nikansell00@gmail.com wrote:
Hi Stephan,
I have just tried again on a brand new installation and observed something strange, hopefully I have found a fix to the problem. I tried to troubleshoot in stages, this is what I did:
- Start dtnd with default conf file - Started OK with no convergence layer
- Add custom conf file (below conf1), but do not specify the correct
interface name, also do not start dtnd with -i option - Started OK with UDP Convergence layer (Datagram ConvergenceLayer (UDP) added on eth0:4556) 3. Add custom conf file (below conf2) with correct interface name and use -i option - Fails: (TCP ConvergenceLayer added on eno16777736:4556) 4. Revert back to step 2 - Started OK with UDP Convergence layer (Datagram ConvergenceLayer (UDP) added on eth0:4556) 5. Add custom conf file (below conf2) with correct interface name and _do_not_ use -i dtnd startup option - Works: (Datagram ConvergenceLayer (UDP) added on eno16777736:4556)
I think perhaps the net_eth_interface option in the conf file and the -i dtnd startup option may be conflicting with each other. It appears to start OK using only the net_eth_interface option in the conf file. When I am logged on to my test bed in a few hours I will try some data transfers and report back.
Kind Regards, Nik
Conf1: local_uri = dtn://rx net_eth_type = dgram:udp #net_internet = eth0 net_eth_interface = eth0 net_eth_port = 4556 net_interfaces = eth
# Create a route to tx static1_uri = dtn://tx static1_port = 4556 static1_address = 10.0.0.1 static1_proto = dgram:udp static1_immediately = yes # connect immediately to this node #static1_global = no # this node is only reachable with internet access
Conf2: local_uri = dtn://rx net_eth_type = dgram:udp #net_internet = eno16777736 net_eth_interface = eno16777736 net_eth_port = 4556 net_interfaces = eth
# Create a route to tx static1_uri = dtn://tx static1_port = 4556 static1_address = 10.0.0.1 static1_proto = dgram:udp static1_immediately = yes # connect immediately to this node #static1_global = no # this node is only reachable with internet access
routing = default stats_traffic = yes api_interface = lo
**dtnd startup line and output (UDP starts OK, but not bound to a working nic)
/home/alarm/downloads/ibr-dtn/install/sbin/dtnd -c /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build a5f9012)
Mon Jan 18 15:33:05 2016 INFO Configuration: Configuration: /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:33:05 2016 INFO BundleCore: Local node name: dtn://rx
Mon Jan 18 15:33:05 2016 INFO BundleCore: Forwarding of bundles enabled.
Mon Jan 18 15:33:05 2016 INFO BundleCore: Non-singleton bundles are accepted.
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: using bundle storage in memory-only mode
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: API initialized using tcp socket: lo:4550
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: Datagram ConvergenceLayer (UDP) added on eth0:4556
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: listen to [ff02::142]:4551
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: listen to [224.0.0.142]:4551
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: add interface eth0
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: Using default routing extensions
** dtnd startup line and output (Always uses TCP Convergence layer)
/home/alarm/downloads/ibr-dtn/install/sbin/dtnd -c /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf -i eno16777736
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build a5f9012)
Mon Jan 18 15:37:33 2016 INFO Configuration: Configuration: /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:37:33 2016 INFO BundleCore: Local node name: dtn://rx
Mon Jan 18 15:37:33 2016 INFO BundleCore: Forwarding of bundles enabled.
Mon Jan 18 15:37:33 2016 INFO BundleCore: Non-singleton bundles are accepted.
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: using bundle storage in memory-only mode
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: API initialized using tcp socket: lo:4550
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: TCP ConvergenceLayer added on eno16777736:4556
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: listen to [ff02::142]:4551
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: listen to [224.0.0.142]:4551
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: add interface eno16777736
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: Using default routing extensions
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:18 PM, Nik Ansell nikansell00@gmail.com wrote:
Hi Stephan,
Thank you for your kind reply.
I originally tried both net_eth_type = udp & static1_proto = udp, but this didn't work. I will try them both as dgram:udp later and respond back.
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:00 PM, Stephan Rottmann < rottmann@ibr.cs.tu-bs.de> wrote:
Hi Nik,
static1_uri = dtn://rx static1_port = 4556 static1_address = 10.0.1.3 static1_proto = udp
Have you tried dgram:udp at this point?
Best regards, Stephan
Just to clarify the confusion.
The parameter “-i <interface>” is a short-cut for a TCP Convergence Layer entry bound on that interface. It just adds an entry to the existing ones within the configuration.
Kind regards,
Johannes Morgenroth
Von: Ibr-dtn [mailto:ibr-dtn-bounces@ibr.cs.tu-bs.de] Im Auftrag von Nik Ansell Gesendet: Montag, 18. Januar 2016 15:11 An: Stephan Rottmann rottmann@ibr.cs.tu-bs.de Cc: ibr-dtn@ibr.cs.tu-bs.de Betreff: Re: [ibr-dtn] UDP Convergence Layer Ignored
Yes, this fixed it.
The -i <interface> dtnd startup option was conflicting with the interface definition in the conf file.
Starting dtnd without the -i option worked fine.
Kind Regards, Nik
On Mon, Jan 18, 2016 at 4:02 PM, Nik Ansell <nikansell00@gmail.com mailto:nikansell00@gmail.com > wrote:
Hi Stephan,
I have just tried again on a brand new installation and observed something strange, hopefully I have found a fix to the problem.
I tried to troubleshoot in stages, this is what I did:
1. Start dtnd with default conf file - Started OK with no convergence layer
2. Add custom conf file (below conf1), but do not specify the correct interface name, also do not start dtnd with -i option - Started OK with UDP Convergence layer (Datagram ConvergenceLayer (UDP) added on eth0:4556)
3. Add custom conf file (below conf2) with correct interface name and use -i option - Fails: (TCP ConvergenceLayer added on eno16777736:4556)
4. Revert back to step 2 - Started OK with UDP Convergence layer (Datagram ConvergenceLayer (UDP) added on eth0:4556)
5. Add custom conf file (below conf2) with correct interface name and _do_not_ use -i dtnd startup option - Works: (Datagram ConvergenceLayer (UDP) added on eno16777736:4556)
I think perhaps the net_eth_interface option in the conf file and the -i dtnd startup option may be conflicting with each other. It appears to start OK using only the net_eth_interface option in the conf file.
When I am logged on to my test bed in a few hours I will try some data transfers and report back.
Kind Regards,
Nik
Conf1:
local_uri = dtn://rx
net_eth_type = dgram:udp
#net_internet = eth0
net_eth_interface = eth0
net_eth_port = 4556
net_interfaces = eth
# Create a route to tx
static1_uri = dtn://tx
static1_port = 4556
static1_address = 10.0.0.1
static1_proto = dgram:udp
static1_immediately = yes # connect immediately to this node
#static1_global = no # this node is only reachable with internet access
Conf2:
local_uri = dtn://rx
net_eth_type = dgram:udp
#net_internet = eno16777736
net_eth_interface = eno16777736
net_eth_port = 4556
net_interfaces = eth
# Create a route to tx
static1_uri = dtn://tx
static1_port = 4556
static1_address = 10.0.0.1
static1_proto = dgram:udp
static1_immediately = yes # connect immediately to this node
#static1_global = no # this node is only reachable with internet access
routing = default
stats_traffic = yes
api_interface = lo
**dtnd startup line and output (UDP starts OK, but not bound to a working nic)
/home/alarm/downloads/ibr-dtn/install/sbin/dtnd -c /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build a5f9012)
Mon Jan 18 15:33:05 2016 INFO Configuration: Configuration: /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:33:05 2016 INFO BundleCore: Local node name: dtn://rx
Mon Jan 18 15:33:05 2016 INFO BundleCore: Forwarding of bundles enabled.
Mon Jan 18 15:33:05 2016 INFO BundleCore: Non-singleton bundles are accepted.
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: using bundle storage in memory-only mode
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: API initialized using tcp socket: lo:4550
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: Datagram ConvergenceLayer (UDP) added on eth0:4556
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: listen to [ff02::142]:4551
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: listen to [224.0.0.142]:4551
Mon Jan 18 15:33:05 2016 INFO DiscoveryAgent: add interface eth0
Mon Jan 18 15:33:05 2016 INFO NativeDaemon: Using default routing extensions
** dtnd startup line and output (Always uses TCP Convergence layer)
/home/alarm/downloads/ibr-dtn/install/sbin/dtnd -c /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf -i eno16777736
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: IBR-DTN daemon 1.0.1 (build a5f9012)
Mon Jan 18 15:37:33 2016 INFO Configuration: Configuration: /home/alarm/downloads/ibr-dtn/source/ibrdtn-repo/ibrdtn/daemon/etc/rx.conf
Mon Jan 18 15:37:33 2016 INFO BundleCore: Local node name: dtn://rx
Mon Jan 18 15:37:33 2016 INFO BundleCore: Forwarding of bundles enabled.
Mon Jan 18 15:37:33 2016 INFO BundleCore: Non-singleton bundles are accepted.
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: using bundle storage in memory-only mode
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: API initialized using tcp socket: lo:4550
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: TCP ConvergenceLayer added on eno16777736:4556
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: listen to [ff02::142]:4551
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: listen to [224.0.0.142]:4551
Mon Jan 18 15:37:33 2016 INFO DiscoveryAgent: add interface eno16777736
Mon Jan 18 15:37:33 2016 INFO NativeDaemon: Using default routing extensions
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:18 PM, Nik Ansell <nikansell00@gmail.com mailto:nikansell00@gmail.com > wrote:
Hi Stephan,
Thank you for your kind reply.
I originally tried both net_eth_type = udp & static1_proto = udp, but this didn't work.
I will try them both as dgram:udp later and respond back.
Kind Regards, Nik
On Mon, Jan 18, 2016 at 2:00 PM, Stephan Rottmann <rottmann@ibr.cs.tu-bs.de mailto:rottmann@ibr.cs.tu-bs.de > wrote:
Hi Nik,
static1_uri = dtn://rx static1_port = 4556 static1_address = 10.0.1.3 static1_proto = udp
Have you tried dgram:udp at this point?
Best regards, Stephan
participants (3)
-
morgenroth@ibr.cs.tu-bs.de
-
Nik Ansell
-
Stephan Rottmann