Project

General

Profile

Bug #125

batman-adv-kernelmodule crashes when receiving own OGMs over bat0?

Added by Anonymous over 12 years ago. Updated over 4 years ago.

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

0%

Estimated time:

Description

My setup on the two machines looks like the following:

Laptop:
-batman-adv from the Debian-package 0.1-5, running kernel 2.6.26-1-amd64
-eth1 (wired interface) in /proc/net/batman-adv/interfaces

Router (Dlink DIR-300):
-OpenWRT 8.09 Kamikaze svn-revision 14849 with batman-adv-kernelland 0.2 rev. 1220
-eth0 (wired interface) + ath0 (wireless interface) in /proc/net/batman-adv/interfaces
-bridge br-lan over bat0, ath0 and eth0

The router and laptop are connected by a cable. Firstly I've set up the router as stated above. When I put the interface eth1 of my laptop into batman it detects a bidirectional link for an instance but then it does not see the OGMs of the router anymore (see initial-start.log for output on log-level 7).
Then I tried to remove eth1 on my laptop from batman again, this worked out on the first try, but putting it back in again did not help. After trying to pipe eth1 into batman-adv again, that shell hangs. Also it was not possible anymore to kill the batman-adv-module and to shutdown the laptop correctly.
Dmesg shows that batman-adv crashed (see kernel-dmesg.log for the backtrace).
My laptop does not crash if I don't put bat0 into the bridge of the router.


Files

initial-start.log (1.76 KB) initial-start.log Anonymous, 03/22/2009 06:00 PM
kernel-dmesg.log (8.13 KB) kernel-dmesg.log Anonymous, 03/22/2009 06:01 PM

History

#1

Updated by Anonymous over 12 years ago

Ok, just as hint. Your setup has following problem: OGMs will loop until they reach the mtu. Think about following situation:

Router with MAC :01 (eth0 to the wired network in interfaces, br0 with bat0+eth0)
Client with MAC :02 (eth0 to the wired network in interfaces)
:FF is the broadcast

:02 sends a OGM to :FF
:01 will receive it on eth0
> br0 will send it to all other interfaces
> bat0 will add a B.A.T.M.A.N. Bcast header and send it to eth0 again for :FF
:02 will receive it, remove the bcast header, add a new bcast header and send it again to eth0 - it checked if the eth bcast comes from it (false) and if it was the one who added the B.A.T.M.A.N. bcast header (false)
:01 will receive it again over eth0
> br0 will send it to all other interfaces
> bat0 will receive add a new bcast header around it and send it again to eth0
.....

This doesn't really explain the crash at the moment, but is a reason for other B.A.T.M.A.N. related problems.

#2

Updated by Anonymous over 12 years ago

Ok, just as hint. Your setup has following problem: OGMs will loop until they reach the mtu. Think about following situation:

  • Router with MAC :01 (eth0 to the wired network in interfaces, br0 with bat0+eth0)
  • Client with MAC :02 (eth0 to the wired network in interfaces)
  • :FF is the broadcast
  • :02 sends a OGM to :FF
  • :01 will receive it on eth0
    • br0 will send it to all other interfaces
    • bat0 will add a B.A.T.M.A.N. Bcast header and send it to eth0 again for :FF
  • :02 will receive it, remove the bcast header, add a new bcast header and send it again to eth0 - it checked if the eth bcast comes from it (false) and if it was the one who added the B.A.T.M.A.N. bcast header (false)
  • :01 will receive it again over eth0
    • br0 will send it to all other interfaces
    • bat0 will receive add a new bcast header around it and send it again to eth0
      .....

This doesn't really explain the crash at the moment, but is a reason for other B.A.T.M.A.N. related problems.

#3

Updated by Anonymous over 12 years ago

  • Status changed from New to Closed

Kernel Oops has been fixed by r1243

#4

Updated by Anonymous over 10 years ago

  • Assignee deleted (Anonymous)
  • Category set to 2
#5

Updated by Sven Eckelmann over 4 years ago

  • Target version set to 0.2

Also available in: Atom PDF