Bug #5
closedmultiple interfaces -> wrong routing table
0%
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
Updated by Marek Lindner almost 18 years ago
- Status changed from New to In Progress
So, we have two problems:
- the interface is not set properly
- batman creates loops
First of all could you clarify a few things:
- Do both tests used the same version ? "r232" sounds like the trunk ?
- Could you provide the exact starting options ?
- Could you create log file with debug level 4 ? Best would be to send it via email.
- Are you reachable via mail ? I would create special test versions to track down the source of the problem.
Updated by Anonymous almost 18 years ago
You have mail.
First test was with 0.1.1 on all nodes. 2nd test with r232 on node 1 only, all others still with 0.1.1. I started batman with 'batmand -d x ath1:1 eth1:1'
Today I noticed another issue. I restarted batmand several times (on node 1), but the counters never gets higher than 1.
172.28.4.3, GW: 172.28.4.3(1) via: 172.28.4.3(1) 172.28.0.10, GW: 172.28.4.3(1) via: 172.28.0.10(0) 172.28.4.3(1) 172.28.4.10, GW: 172.28.4.3(1) via: 172.28.0.10(0) 172.28.4.3(1)
Updated by Marek Lindner over 17 years ago
- Status changed from In Progress to Closed