I think this is where I'm messing up. I've tried setting the ifname property for lan each of these different ways, and I'm not really seeing any difference.
option ifname 'eth1'
option ifname 'eth1 bat0 bat1'
option ifname 'eth1.1 eth1.2 bat0 bat1'
Here are the interfaces I have right now on bridge SBC. Would you tell me exactly what I'm supposed to be putting in the different ifname settings to get this? Like I mentioned before, I'm just not understanding quite what you're saying.
Get rid of the 'wlan0' and 'wlan1' bridges and use only lan. As I said before, you can't put an interface into more than one bridge. And since this setup is one big network, you only need one bridge at all.
All three interfaces in lan would be eth1 bat0 bat1 unless you want vlans on the eth port, which you almost certainly don't. A notation like eth1.2 causes the port to send and receive VLAN tagged packets, VLAN 2 in that case.
Ok, I did that. Only 'lan' and the ifname includes eth1 bat0 and bat1, and wlan0 and wlan1 are commented out. But I'm back to the situation where I can ping wlan1 on SBC2 when dev is plugged into switch2 with SBC2, but only 8 pings, then it goes silent. As soon as I disconnect dev from the switch I cannot see anything on switch2. bat0 and bat1 from SBC1 still sees SBC2's NICs
This almost makes me think that packets are tagged as they leave SBC1 and try to go out across the network. Surely that's not the way I should interpret that.
Oh fun, as I'm typing this with dev plugged back into switch2, SBC1 is starting to receive "br-lan: received packet on eth1 with own address as source address (addr:00:d0:12:8e:f5:5b, vlan:0)" messages. Now I'm absolutely convinced that I'm dealing with collisions. But where?
The reason I only talked about 2 SBCs is because I couldn't even get 2 to play nicely. No use in adding more that I need to worry about. Sorry if that caused some confusion. The switches that I am using in the project are actually connected to the SBCs ethernet port. This allows me to connect multiple devices to a single port and bridge all of these devices to the WMN through one connection inside the SBC.
ip link add name mesh-bridge type bridge
ip link set dev eth0 master mesh-bridge
ip link set dev bat0 master mesh-bridge
ip link set up dev eth0
ip link set up dev bat0
ip link set up dev mesh-bridge
This enables my communications just fine. Of course, it disappears when I reboot. But when I tried to build mesh-bridge as a device in /etc/config/network it failed to parse, and my other interfaces turned into bridges. How can I turn those lines into a proper device, interface, whatever that I can store in /etc/config/network?
I found the item in the BATMAN-Adv FAQ page that originally convinced me that I could merge these networks at a single point. The original is at https://www.open-mesh.org/projects/batman-adv/wiki/Faq. I've made some modifications to bring it inline with what I'm trying to do.