Project

General

Profile

Actions

Bug #5

closed

multiple interfaces -> wrong routing table

Added by Anonymous almost 18 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
batmand
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

I have strange problems with batman 0.1.1 on nodes with multiple interfaces. Sending data from node 3 to node 1 via node 10 mostly doesn't work, even in a really small test network.

       +++++_ ethernet ++++_
      |                              |
eth1 x.x.0.1/22                eth1 x.x.0.10/22
    node 1                         node 10
ath1 x.x.4.1/22                ath1 x.x.4.10/22
     /|\                            /|\
                   wireless          
                                    \|/
                               ath1 x.x.4.3/22
                                   node 3

# traceroute -n 172.28.4.1
traceroute to 172.28.4.1 (172.28.4.1), 30 hops max, 40 byte packets
 1  172.28.4.10  6.914 ms  4.093 ms  4.548 ms
 2  172.28.4.10  3001.19 ms !H  2998.69 ms !H  2998.85 ms !H

However, batmand's debug output (-d 1) seems to be ok:

on node 1:
172.28.4.3, GW: 172.28.0.10(51) via: 172.28.0.10(51) 172.28.4.3(5)
172.28.0.10, GW: 172.28.0.10(51) via: 172.28.0.10(51) 172.28.4.3(5)
172.28.4.10, GW: 172.28.0.10(53) via: 172.28.0.10(53) 172.28.4.3(3)

on node 10:
172.28.4.3, GW: 172.28.4.3(57) via: 172.28.4.3(57)
172.28.0.1, GW: 172.28.0.1(50) via: 172.28.0.1(50) 172.28.4.3(8)
172.28.4.1, GW: 172.28.0.1(58) via: 172.28.0.1(58)

on node 3:
172.28.4.10, GW: 172.28.4.10(43) via: 172.28.4.10(43) 172.28.4.1(3)
172.28.4.1, GW: 172.28.4.10(35) via: 172.28.4.10(35) 172.28.4.1(11)
172.28.0.1, GW: 172.28.4.1(19) via: 172.28.4.1(19)
172.28.0.10, GW: 172.28.4.10(46) via: 172.28.4.10(46)

But the kernel routing table is mostly wrong. Restarting batmand fixes the problems for a short time, but later there are again weird or missing entries. Here are some examples:

on node 1 route to 0.10 points to interface ath1 instead of eth1:
# route -n | grep '^172.28'
172.28.4.10     172.28.0.10     255.255.255.255 UGH   0   0   0 ath1
172.28.4.3      172.28.0.10     255.255.255.255 UGH   0   0   0 ath1
172.28.0.10     0.0.0.0         255.255.255.255 UH    0   0   0 ath1
172.28.4.0      0.0.0.0         255.255.252.0   U     0   0   0 ath1
172.28.0.0      0.0.0.0         255.255.252.0   U     0   0   0 eth1

missing routes to 4.3 and 4.10 on node 1:
# route -n | grep '^172.28'
172.28.0.10     0.0.0.0         255.255.255.255 UH    0   0   0 eth1
172.28.4.0      0.0.0.0         255.255.252.0   U     0   0   0 ath1
172.28.0.0      0.0.0.0         255.255.252.0   U     0   0   0 eth1

missing route to 4.1 on node 10:
# route -n | grep '^172.28'
172.28.4.3      0.0.0.0         255.255.255.255 UH    0   0   0 ath1
172.28.0.1      0.0.0.0         255.255.255.255 UH    0   0   0 eth1
172.28.4.0      0.0.0.0         255.255.252.0   U     0   0   0 ath1
172.28.0.0      0.0.0.0         255.255.252.0   U     0   0   0 eth1

Actions

Also available in: Atom PDF