On Wednesday 23 February 2011 08:45:03 Dr. Stefan Radtke wrote:
Hello *,
I set up batman-adv-2010 on OpenWRT (backfire 10.3.x). Mesh interface
is wlan0 and another non-batman-LAN is connected to eth0. non-batman
clients should connect via the eth0 interface. (Full description and
network diagram here:
https://forum.openwrt.org/viewtopic.php?pid=129226#p129226 ).
entX == ethX? You should set the mtu of wlan0 to 1530 and all other mtus (br0,
bat0, eth0, ...) to 1500. I would also recommend to update to batman-adv
v2011.0.0. None of the mentioned should fix you problem, but are recommended
to fix other glitches.
You don't tell us what sending means in you initial description - which
card/node wants to sent to which other card/node. What he wants to send? What
did your sensors (tcpdump, batctl td, ...) tell you how far those packets
travel through the mesh/lan? I would recommend to test the functionality of
layer two with a layer two protocol - or test application. A good idea is to
use raw l2 sockets to send some packets from A to B and check if it arrives
[1].
After setting up batman-adv 2010.x with
batctl if add wlan0
ifconfig wlan 0 0.0.0.0
ifconfig bat0 192.168.10.2 (previous ip address of wlan0)
ifconfig bat0 up
I have to configure a bridge (according to quick start guide
http://www.open-mesh.org/wiki/batman-adv-quick-start-guide) because I
want batman-adv to announce MAC-addresses connected to eth0 (see network
diagram):
brctl addbr mesh-bridge
brctl addif mesh-bridge eth0
brctl addif mesh-bridge bat0
ifconfig eth0 up
ifconfig bat0 up
ifconfig mesh-bridge up
As Floh1111 already said, this IP setup cannot work. Here a little bit more
information about that:
You set an ip to bat0 and then add the bat0 to br0 - this cannot work. The
bridge will prevent packets from being received through bat0. All packets of
attached interfaces will be received through br0. The tcp/ip stack will simply
drop the packet when the bridge isn't configured to receive for that ip. This
behavior can be changed slightly using ebtables broute - but I would strongly
recommend not to mess with that stuff.
Best way is to either setup IP routing or use IPs only on br0 (and br0:0 for
the second IP). You should also check your routing table for invalid entries
after you replaced the IPs.
Although the translation tables (global and local)
seem fine in this
moment, at the same momentof bringing up the bridge I cannot send any more
packets through bat0 or ent0. Both don't even reply to a ping.
Network setup and outputs of ifconfig
onhttp://www.open-mesh.org/wiki/batman-adv-quick-start-guide
Any hint is appreciated.
Please first try to bisect your setup on layer 2 for clients which have a
direct link (switched or switched over mesh, but not routed). Use tcpdump and
"batctl td" to detect where packets may get dropped. In case no problem was
found, please continue to do the same on l3. But keep in mind that eth0/bat0
will not received packets for the host directly - br0 is the interface you
want to use.
What exactly are you trying to achieve using the IP in the wrong physical
subnet thing? There are better tunneling protocols for that purpose and you
don't need use some weird bridging-routing-in-parallel-something-monster.
Best regards,
Sven
[1]
https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-January/002234.html