Hello IBRDTN community,

I have found a very weird behaviour when using ibrdtn-0,10.2 with OpenWRT ATTITUDE ADJUSTMENT (12.09, r36088), the behaviour is the following, each time that I wan to start the dtnd daemon I get an error when binding it to my ethernet interface. I have looked into /tmp/ibrdtn.err and I get always the error
ERROR IPNDAgent: join failed on eth0; 22: setsockopt() independently of the interface that I use

root@OpenWrt:~# tail -f /tmp/ibrdtn.err
Thu Sep  8 15:49:37 2011 ERROR IPNDAgent: join failed on br-lan; 22: setsockopt()
.1]:4550
Thu Sep  8 15:50:07 2011 ERROR TCPConvergenceLayer: bind failed (cannot bind socket with address [192.168.20.2]:4556)
Thu Sep  8 15:50:07 2011 ERROR IPNDAgent: join failed on br-lan; 22: setsockopt()
Thu Sep  8 15:52:09 2011 ERROR IPNDAgent: join failed on eth0; 22: setsockopt()
.0.1]:4550
Thu Sep  8 15:53:54 2011 ERROR IPNDAgent: join failed on eth0; 22: setsockopt()


Has anyone experience the same?

Thanks in advance,

regards



My settings are >

My interfaces are the following ones

br-lan    Link encap:Ethernet  HWaddr 64:70:02:3E:A7:80 
          inet addr:192.168.20.2  Bcast:192.168.20.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7818 errors:0 dropped:385 overruns:0 frame:0
          TX packets:6473 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:662620 (647.0 KiB)  TX bytes:831077 (811.5 KiB)

eth0      Link encap:Ethernet  HWaddr 64:70:02:3E:A7:80 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8142 errors:0 dropped:30 overruns:0 frame:0
          TX packets:6840 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:869850 (849.4 KiB)  TX bytes:999198 (975.7 KiB)
          Interrupt:4

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8560 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8560 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:583341 (569.6 KiB)  TX bytes:583341 (569.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 64:70:02:3E:A7:81 
          inet addr:192.168.20.207  Bcast:192.168.255.255  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1978 errors:0 dropped:0 overruns:0 frame:0
          TX packets:597 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:169824 (165.8 KiB)  TX bytes:69530 (67.9 KiB)

wlan1     Link encap:Ethernet  HWaddr 64:70:02:3E:A7:82 
          inet addr:192.168.20.208  Bcast:192.168.255.255  Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:591 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 B)  TX bytes:68868 (67.2 KiB)

Current ibrdtn configuration


root@OpenWrt:~# cat /etc/config/ibrdtn
#####################################
# IBR-DTN daemon                    #
#####################################

config 'daemon' 'main'
    # The local eid of the dtn node. Default is the hostname.
#    option uri            dtn://node.dtn
   
    # timezone offset in hours
#    option timezone        +1
   
    # logfile for standard output
    option logfile        /tmp/ibrdtn.log
    option errfile        /tmp/ibrdtn.err
   
    # debug level
        option debug        20

    # block size limit
#    option blocksize        512M
#    option foreign_blocksize    128M


#
# If something bad happened, the safe mode will be activated.
# These are the restrictions for safe mode only.
#
config 'daemon' 'safemode'
    option forwarding    no
    option storage        64M
    option maxblock        16M
#    option wait_mount    /dev/sda1


#####################################
# storage configuration             #
#####################################

config 'daemon' 'storage'
    # possible engines are: simple, sqlite
    option engine        simple
    option blobs        /tmp/ibrdtn/blobs
    option bundles        /tmp/ibrdtn/bundles
#    option container    /tmp/ibrdtn/container.img
#    option path            /tmp/ibrdtn/container
#    option limit        1G


#####################################
# routing configuration             #
#####################################

#
# In the "default" the daemon only delivers bundles to neighbors and static
# available nodes. The alternative module "epidemic" spread all bundles to
# all available neighbors.
#
config 'daemon' 'main'
    # values: none | default | epidemic | flooding | prophet
    option    routing        epidemic#default
    option    forwarding    yes
#    option    fragmentation    yes

#
# static routing rules
# - a rule is a regex pattern
# - format is <target-scheme> <routing-node>
#
#config 'static-route'
#    list pattern        ^dtn://[[:alpha:]].moon.dtn/[[:alpha:]]
#    option destination    dtn://router.dtn


#####################################
# static connections
#####################################

#config 'static-connection'
#    option uri            dtn://node-five.dtn
#    option address        10.0.0.5
#    option port            4556
#    option protocol        tcp
#    option immediately    yes

#config 'static-connection'
#    option uri            dtn://node-ten
#    option address        10.0.0.10
#    option port            4556
#    option protocol        udp
#    option immediately    no


#####################################
# convergence layer configuration   #
#####################################

#
# You can specify an multicast address to listen to for discovery announcements.
# If no address is specified the multicast equivalent of broadcast is used.
#
config 'daemon' 'discovery'
    option address        192.168.20.255
#    option timeout        5
    option crosslayer    yes

config 'daemon' 'tcptuning'
#    option 'idle_timeout'    120
#    option 'nodelay'        yes
#    option 'chunksize'        4096

config 'network'
    option type            tcp
    option interface    eth0
    option port            4556
   
#config 'network'
#    option type            tcp
#    option interface    wlan0
#    option port            4556


#####################################
# bundle security protocol          #
#####################################

#
# the level specifies the security constains
#
# 0 = no constrains (default)
# 1 = accept only BAB authenticated bundles
# 2 = accept only encrypted bundles
# 3 = accept only BAB authenticated and encrypted bundles
#

#config 'daemon' 'security'
#    option level        0
#    option bab_key        /path/to/default-bab-key.mac
#    option key_path        /path/to/security-keys
   
#config 'daemon' 'tls'
#    option certificate    /path/to/tls-cert.crt
#    option key            /path/to/tls-key.key
#    option trustedpath    /path/to/tls-ca
#    option required        no
#    option noencryption no


#####################################
# time synchronization              #
#####################################

#config 'daemon' 'timesync'
#    option reference        yes
#    option synchronize        yes
#    option discovery_announcement    yes
#    option sigma            1.001
#    option psi            0.9
#    option sync_level        0.1

#####################################
# DHT                               #
#####################################

config 'daemon' 'dht'
    option 'enabled'    'no'
#    option 'id'        '<enter your unique id here>'
    option 'bootstrap'    'yes'
#    option 'nodesfile'    '/tmp/dht_nodes.dat'
    option 'port'         '9999'
    option 'enable_ipv6'    'no'
#    option 'enable_ipv4'    'no'
#    option 'bind_ipv4'    '127.0.0.1'
#    option 'bind_ipv6'    '::1'
    option 'ignore_neighbour_informations'        'yes'
    option 'allow_neighbours_to_announce_me'    'no'
        option 'allow_neighbour_announcement'        'no'