Actions
Bug #5
closedmultiple interfaces -> wrong routing table
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