Bug #151
closedPrimary interface OGMs missing on a secondary interface
0%
Description
In a certain setup the primary interface OGMs are missing on a node's secondary interface. It might have to do with the actual first interface being down. See the following description how this has been tracked down. It also seems to be the case after every reboot.
Node A:
[B.A.T.M.A.N. adv 2011.1.0, MainIF/MAC: wlan3/0a:1b:b1:f2:f3:37 (bat0)] Originator last-seen (#/255) Nexthop [outgoingIF]: Potential nexthops ... 00:22:b0:98:94:06 0.570s (225) 7e:19:6a:b8:d5:d9 [ 3micc]: 0a:22:b0:98:85:5b ( 0) 7e:19:6a:b8:d5:d9 (225) 8e:3d:c2:10:10:28 0.150s (241) 7e:19:6a:b8:d5:d9 [ 3micc]: 7e:19:6a:b8:d5:d9 (241) 7e:19:6a:b8:d5:d9 0.080s (251) 7e:19:6a:b8:d5:d9 [ 3micc]: 0a:22:b0:98:85:5b ( 0) 7e:19:6a:b8:d5:d9 (251) 00:22:b0:98:85:5c 0.070s (249) 0a:22:b0:98:85:5b [ wlan3]: 0a:22:b0:98:86:53 ( 0) 0a:22:b0:98:85:5b (249) 0a:22:b0:98:85:5b 0.090s (248) 0a:22:b0:98:85:5b [ wlan3]: 0a:22:b0:98:86:53 (234) 0a:22:b0:98:85:5b (248) 0a:22:b0:98:86:53 0.590s (240) 0a:22:b0:98:86:53 [ wlan3]: 0a:22:b0:98:85:5b (225) 0a:22:b0:98:86:53 (240) 00:22:b0:98:86:54 0.540s (241) 0a:22:b0:98:86:53 [ wlan3]: 0a:22:b0:98:86:53 (241) 0a:22:b0:98:85:5b ( 0) da:7b:6f:c1:63:d2 0.960s (227) 7e:19:6a:b8:d5:d9 [ 3micc]: 7e:19:6a:b8:d5:d9 (227)
=> pimary interface address: 0a:1b:b1:f2:f3:37 and sees the following node B:
Node B:
[B.A.T.M.A.N. adv 2011.0.0 v2011.0.0-dirty, MainIF/MAC: 3micc/7e:19:6a:b8:d5:d9 (bat0)] Originator last-seen (#/255) Nexthop [outgoingIF]: Potential nexthops ... 46:b5:37:88:46:48 0.696s (255) 46:b5:37:88:46:48 [ 3micc]: 46:b5:37:88:46:48 (255) 00:22:b0:98:94:06 0.526s (235) 8e:3d:c2:10:10:28 [ 3micc]: 8e:3d:c2:10:10:28 (235) 8e:3d:c2:10:10:28 0.223s (255) 8e:3d:c2:10:10:28 [ 3micc]: 8e:3d:c2:10:10:28 (255) 00:22:b0:98:85:5c 0.166s (245) 46:b5:37:88:46:48 [ 3micc]: 46:b5:37:88:46:48 (245) 0a:22:b0:98:85:5b 46.053s (231) 46:b5:37:88:46:48 [ 3micc]: 46:b5:37:88:46:48 (231) 00:22:b0:98:86:54 0.346s (239) 46:b5:37:88:46:48 [ 3micc]: 46:b5:37:88:46:48 (239) da:7b:6f:c1:63:d2 0.616s (245) 8e:3d:c2:10:10:28 [ 3micc]: 8e:3d:c2:10:10:28 (245)
=> Does not have node A's primary if address! However it only has 46:b5:37:88:46:48, which is...
Node A:
root@OpenWrt:~# batctl if eth0: inactive wlan3: active 3micc: active
Node A:
root@OpenWrt:~# ifconfig | grep HWaddr 3micc Link encap:Ethernet HWaddr 46:B5:37:88:46:48 bat0 Link encap:Ethernet HWaddr 72:4A:9B:CC:88:FC br-mesh Link encap:Ethernet HWaddr 00:0D:B9:20:8F:05 eth1 Link encap:Ethernet HWaddr 00:0D:B9:20:8F:05 mon.wlan1 Link encap:UNSPEC HWaddr 00-1B-B1-F2-F3-37-20-00-00-00-00-00-00-00-00-00 wlan0 Link encap:Ethernet HWaddr 00:1B:B1:F2:F3:E4 wlan1 Link encap:Ethernet HWaddr 00:1B:B1:F2:F3:37 wlan2 Link encap:Ethernet HWaddr 06:1B:B1:F2:F3:37 wlan3 Link encap:Ethernet HWaddr 0A:1B:B1:F2:F3:37
=> ... a secondary interface address of node A.
Node A:
root@OpenWrt:~# batctl td -p 1 3micc 22:06:06.573005 BAT 00:22:b0:98:85:5c: OGM via neigh 46:b5:37:88:46:48, seq 8551, tq 232, ttl 49, v 12, flags [....], length 36 22:06:06.739677 BAT 00:22:b0:98:85:5c: OGM via neigh 7e:19:6a:b8:d5:d9, seq 8551, tq 222, ttl 48, v 12, flags [....], length 36 22:06:06.851023 BAT 8e:3d:c2:10:10:28: OGM via neigh 7e:19:6a:b8:d5:d9, seq 550894, tq 245, ttl 49, v 12, flags [D..G], length 30 22:06:06.902458 BAT 46:b5:37:88:46:48: OGM via neigh 46:b5:37:88:46:48, seq 1203, tq 255, ttl 2, v 12, flags [....], length 24 22:06:06.952537 BAT 8e:3d:c2:10:10:28: OGM via neigh 46:b5:37:88:46:48, seq 550894, tq 235, ttl 48, v 12, flags [...G], length 30 22:06:07.062312 BAT 46:b5:37:88:46:48: OGM via neigh 7e:19:6a:b8:d5:d9, seq 1203, tq 245, ttl 1, v 12, flags [D...], length 24 22:06:07.301592 BAT 00:22:b0:98:94:06: OGM via neigh 7e:19:6a:b8:d5:d9, seq 638769, tq 225, ttl 47, v 12, flags [....], length 72 22:06:07.443968 BAT 7e:19:6a:b8:d5:d9: OGM via neigh 7e:19:6a:b8:d5:d9, seq 497204, tq 255, ttl 50, v 12, flags [..F.], length 30 22:06:07.551531 BAT 7e:19:6a:b8:d5:d9: OGM via neigh 46:b5:37:88:46:48, seq 497204, tq 245, ttl 49, v 12, flags [D...], length 30 22:06:07.571635 BAT 00:22:b0:98:85:5c: OGM via neigh 46:b5:37:88:46:48, seq 8552, tq 228, ttl 49, v 12, flags [....], length 36 22:06:07.730785 BAT 00:22:b0:98:85:5c: OGM via neigh 7e:19:6a:b8:d5:d9, seq 8552, tq 219, ttl 48, v 12, flags [....], length 36 22:06:07.839376 BAT 8e:3d:c2:10:10:28: OGM via neigh 7e:19:6a:b8:d5:d9, seq 550895, tq 245, ttl 49, v 12, flags [D..G], length 30 22:06:07.881495 BAT 46:b5:37:88:46:48: OGM via neigh 46:b5:37:88:46:48, seq 1204, tq 255, ttl 2, v 12, flags [....], length 24 22:06:07.941561 BAT 8e:3d:c2:10:10:28: OGM via neigh 46:b5:37:88:46:48, seq 550895, tq 235, ttl 48, v 12, flags [...G], length 30 22:06:08.046184 BAT 46:b5:37:88:46:48: OGM via neigh 7e:19:6a:b8:d5:d9, seq 1204, tq 245, ttl 1, v 12, flags [D...], length 24
=> Which does not list 0a:1b:b1:f2:f3:37 but only 46:b5:37:88:46:48
Node A's wlan3, the primary interface seems up and running fine though:
root@OpenWrt:~# ifconfig wlan3 wlan3 Link encap:Ethernet HWaddr 0A:1B:B1:F2:F3:37 inet6 addr: fe80::81b:b1ff:fef2:f337/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1527 Metric:1 RX packets:18731 errors:0 dropped:0 overruns:0 frame:0 TX packets:9683 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1113162 (1.0 MiB) TX bytes:760959 (743.1 KiB)
dmesg output on node A:
root@OpenWrt:~# dmesg | grep batman batman_adv: B.A.T.M.A.N. advanced 2011.1.0 (compatibility version 12) loaded batman_adv: bat0: Adding interface: eth0 batman_adv: bat0: The MTU of interface eth0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fra. batman_adv: bat0: Not using interface eth0 (retrying later): interface not active batman_adv: bat0: Adding interface: wlan3 batman_adv: bat0: Interface activated: wlan3 batman_adv: bat0: Adding interface: 3micc batman_adv: bat0: The MTU of interface 3micc is too small (1280) to handle the transport of batman-adv packets. Packets going over this interface will be fr. batman_adv: bat0: Interface activated: 3micc batman_adv: bat0: Changing gw mode from: off to: client
Note: On node A's primary interface, wlan3, the primary interface OGMs can be seen though:
root@OpenWrt:~# batctl td -p 1 wlan3 | grep 0a:1b:b1:f2:f3:37 22:32:43.866469 BAT 0a:1b:b1:f2:f3:37: OGM via neigh 0a:1b:b1:f2:f3:37, seq 134, tq 255, ttl 50, v 12, flags [..F.], length 42 22:32:43.975737 BAT 0a:1b:b1:f2:f3:37: OGM via neigh 0a:22:b0:98:86:53, seq 134, tq 226, ttl 48, v 12, flags [D...], length 42 22:32:43.978377 BAT 0a:1b:b1:f2:f3:37: OGM via neigh 0a:22:b0:98:85:5b, seq 134, tq 240, ttl 49, v 12, flags [D...], length 42 22:32:44.277310 BAT 7e:19:6a:b8:d5:d9: OGM via neigh 0a:1b:b1:f2:f3:37, seq 498809, tq 241, ttl 49, v 12, flags [....], length 30 22:32:44.297576 BAT 00:22:b0:98:86:54: OGM via neigh 0a:1b:b1:f2:f3:37, seq 10140, tq 245, ttl 49, v 12, flags [....], length 42 22:32:44.437389 BAT 00:22:b0:98:85:5c: OGM via neigh 0a:1b:b1:f2:f3:37, seq 10165, tq 235, ttl 48, v 12, flags [....], length 108 22:32:44.476302 BAT 0a:22:b0:98:86:53: OGM via neigh 0a:1b:b1:f2:f3:37, seq 10139, tq 245, ttl 1, v 12, flags [D...], length 24
Enabling eth0 and rebooting results in the following dmesg output and makes node A reachable again:
root@OpenWrt:~# dmesg | grep batman batman_adv: B.A.T.M.A.N. advanced 2011.1.0 (compatibility version 12) loaded batman_adv: bat0: Adding interface: eth0 batman_adv: bat0: The MTU of interface eth0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fra. batman_adv: bat0: Interface activated: eth0 batman_adv: bat0: Adding interface: wlan3 batman_adv: bat0: Interface activated: wlan3 batman_adv: bat0: Adding interface: 3micc batman_adv: bat0: The MTU of interface 3micc is too small (1280) to handle the transport of batman-adv packets. Packets going over this interface will be fr. batman_adv: bat0: Interface activated: 3micc batman_adv: bat0: Changing gw mode from: off to: client
With node A's eth0 interface being the primary one:
root@OpenWrt:~# batctl o | head -n1 [B.A.T.M.A.N. adv 2011.1.0, MainIF/MAC: eth0/00:0d:b9:20:8f:04 (bat0)]
node B sees node A's primary interface OGMs again:
% sudo batctl o | grep 00:0d:b9:20:8f:04 00:0d:b9:20:8f:04 0.856s (255) 16:51:9e:2b:7e:c5 [ 3micc]: 16:51:9e:2b:7e:c5 (255)
=====
Node A:
root@OpenWrt:~# uname -a Linux OpenWrt 2.6.32.27 #9 Thu May 26 21:47:19 CEST 2011 i586 GNU/Linux root@OpenWrt:~# dmesg | grep advanced batman_adv: B.A.T.M.A.N. advanced 2011.1.0 (compatibility version 12) loaded
Node B:
% uname -a Linux aftermath 2.6.38.2-aftermath #1 SMP PREEMPT Tue Mar 29 03:03:35 CEST 2011 x86_64 QEMU Virtual CPU version 0.10.50 AuthenticAMD GNU/Linux % dmesg | grep advanced batman_adv: B.A.T.M.A.N. advanced 2011.0.0 v2011.0.0-dirty (compatibility version 12) loaded