On Wednesday 06 May 2009 02:11:57 Arc Riley wrote:
I haven't found any such video on the website. Is the vis server setup for batman-adv or just the layer 3 batman? Is the protocol used for nodes to announce their status documented?
We're building a desktop/mobile app using OpenStreetMap data and Mapnik, we don't want to require Internet access to view available nodes from any user's connection to the mesh so that it can be used to view and diagnose the network in any situation. If that software could listen to the node status announcements ("I have X quality link with node A, Y quality link with node B, Z quality link with node C"), along with nodes announcing other properties including long/lat, wifi protocol and signal, etc, this should be very easy to show colored links indicating their quality.
Since we need local link status from nodes, and not the compiled quality to route to any node, listening to OGM frames is not enough.
What you want is the vis server that does all that for you. In the /proc filesystem you will find a file called "vis" which outputs all the data you want in the well-known dot draw format. You can use any dot draw parser to generate a map for your mesh. Basically, this vis server is quite similar to the layer 3 vis server but it is integrated into the module (no additional programs needed - just activate it). Once your network grows you will appreciate the vis server sync feature. :-)
The video can be downloaded here: http://downloads.open-mesh.net/batman/misc/24C3-Wireless_Kernel_Tweaking.mkv and other documentation can be found here: http://open-mesh.net/wiki/UserDocs
How about running this as a custom DHCP server which uses the above mentioned data to determine the "best" gateway on that network and return the relevant information (IP, netmask, gateway IP) to each client with a timeout sufficient for dealing with mobile users in a reasonable amount of time.
We thought about a modified client which would query the local module for the link quality information before accepting DHCP answers. Implementing a client might be easier than the server.
Bonding as in when two nodes have multiple direct connections to each other, dividing frames accordingly rather than continually switching all traffic to the highest quality link.
This would be very useful for multi-radio routers operating multiple links on different channels (or even 802.11G vs 802.11A) between the same set of nodes. Standard ethernet bonding is not preferable since you'd want the mesh protocol to use lower TQ links (ie, channel 6 gets periodic high interferance) less than higher TQ links (ie, 802.11A often has little interferance).
Thats what we mean with "short distance" bonding. I agree with you - it could be very valuable.
Regards, Marek