We're setting up batman-adv on open-mesh.com OM1P routers and unidirectional antennas to connect homes and businesses across the city.

I've read the protocol docs, but a few key questions about the current kernel implementation;

Is there currently a multicast protocol or method for a node on the network to get local link stats from every other node on the network?  We're looking at this for a GUI desktop diagnostics tool which shows the current 1-hop link states for all nodes on the network

Is there a layer 3 solution for routing each end user to the nearest IP gateway that works well on top of a batman-adv network?

Does batman-adv currently support "bonding"; ie, will it route all packets through the best connection until it's saturated, or will it spread packets across connections (especially that are near the same quality) for optimal speed?

What kind of traffic throughput is the kernel module capable of?  Does the module multithread properly for multicore utilization?  Would a FPGA variant be needed to have a "mesh switch" or would a high-end multicore ARM be reasonably able to handle say an 8-port gigabit mesh switch?

These questions are less to evaluate batman-adv for our uses than looking forward at what we'll need to develop as we expand.

Thanks!