At some point I thought it would be nice to describe a small real world batman-adv implementation. Many times I've seen mails from people doing simulations or whatnot, to decide whether or not batman-adv works as expected... and I guess they would appreciate reading about real word use cases. :)
This thing started1 back in February 2012 in Cordoba, Argentina with Nico Echaniz et al
Shortly after DeltaLibre followed, replicating the model. From the very beginning we aimed at building the cheapest possible, high performance multi-radio mesh node.
Ten months later, although there's still room for improvement, we are very happy looking back at the path that took us here :). Starting with the decision of choosing batman-adv, as explained in a Spanish reply to Esteban Municio2
2012/9/10 Esteban Municio:
Was there any reason why you chose batman-adv over other protocol?
Layer 2! no subnet configuration, "Just Works", it's easy to forget batman-adv is down there doing all the magic - A routing protocol that stays out of your way, is priceless.
Which were your main issues working with batman-adv?
With batman-adv... almost none :)
Main difficulties until now were on phy level (interference) or layer 1 (hardware, drivers, firmware)
With batman-adv, we bumped into 2 or 3 bugs, reported to the mailing list, and received prompt solutions thanks to the daily work that the developers put into it. Last version 2012.3.0 includes all those fixes.
Pending issues as of today, are a strange behavior where avahi packets are lost (can't assure batman-adv is the culprit) and an open ticket3 about adding RAs mangling support to gw_mode, extending the DHCPv4 segmentation logic to SLAAC networks as well. As it is today, you can't put 2 ipv6 gateways doing SLAAC for different prefixes in the same batman-adv cloud. So far is not a showstopper for us, but we would love to be able to do that.
Some numbers: With the deployed hardware4 (TL-MR3220 and WN722N) throughput in point-to-point links maxes out at 30 or 40mbps respectively (Lite-N HT20). With our dual-radio mesh nodes, we can sustain that transfer speed over at least 3 hops, using channels 1 and 11 for alternating interfaces. Given the small size of the networks, a longer path is currently not possible, but when using a single radio, or interfering channels, that same path throughput quickly drops to about 6 mbps, as predicted by the models.
This is not news for many, but as said in the beginning of the email, i see some folks "doubting" about the performance, or overhead, of batman-adv...
In tests we made, over a single hop (that is, from A to C as in A --> B --> C where point to point links reach ~30mbps), static routing reached 30mbps +/- 1mbps, and using batman-adv 29.5mbps +/- 1mbps
A real bargain for the bat-benefits :)
To easily share, publish and keep track of config tweaks between our networks we setup a hg5 repo6 and eventually added bat-graphs for some basic context7. That can't possibly be maintained at a larger scale, but still proves incredibly useful at research stages.
It has been used by an independent group (Gabriel Tolon et al) to make their equipment compatible with DeltaLibre network at their lab, then bring the nodes into the region, plug and Just worked, with little intervention on our part.
We pull the overlays with a bash hack named ruci8 and use that too to push and stage experimental configs to the whole network without fear of locking us out because of a config mistake or typo.
(I'm aware this has been addressed by multiple solutions, but ruci was born back in February while we didn't have a decent internet access to research previous art - we have changed tactics since then, trying to integrate with the rest of the movements :) )
Finally, some obligatory pictures9 of representative nodes last months' smokeping stats10 and cacti11 and as a bonus, a crude video12 filmed by Al Cano from guifi.net while visiting DeltaLibre back in May, enjoying seamless roaming along 6 nodes while literally navigating through the batman-adv mesh :)
In QuintanaLibre (Quintana is a mountain-region small town with <500 inhabitants) you can spot kids using their OLPC netbooks while sitting in a (resting) horse' back. With almost no cellphone signal nor landlines whatsoever, you can imagine how much they appreciate having a WCN at their hometown.
This short story can't possibly express how grateful we are with you batpeople, but I hope it gives a glimpse ;)