This all makes sense to me, but what I don't understand is, why do all (or
nearly all ?) of the freifunk
networks use OLSR, and continue to use OLSR on the freifunk firmware ?
One aspect was the OLSR-NG project, which I started. OLSR.org was at that time programmed very inefficiently. We (Hannes, Henning, Bernd, me) re-wrote large parts of OLSR and now it uses a < 5% CPU load on 200MHz linksys devices in a network of 400 nodes. The CPU improvements were dramatic! It makes sense to use trees instead of linked lists sometimes :) It makes sense, to use proper Dijkstra implementations instead of an O(n^2) implementation. So the main critique point against OLSR (high CPU usage) was actually proven to be wrong. It was simply the implementation which was broken (and got eventually fixed).
But for more reasons see below....
Are any of the freifunk networks using BATMAN ? If so, what routing metric
are they using with it ?
AFAIK the routing metric in BATMAN is "built-in" and not changeable. But please correct me if there have been changes to that recently. My know-how on this aspect might be outdated.
This is the meat of what I am asking - I am wondering what context is it proper to use BATMAN, and the reason I am confused about it is that I see most (all ?) of the freifunk networks using OLSR.
And as an aside, I am curious, if any freifunk networks are using BATMAN, what routing metric do they use ?
Again, no interest in past politics, just trying to answer the "where did you get that idea" question in advance :)
(note: I am biased in this aspect, but I will try hard to stay as objective as possible now).
For the general understanding: the freifunk (and funkfeuer.at) networks were already using OLSR at the point in time when the BATMAN idea came. It was probably nearly impossible to make everyone switch from OLSR to BATMAN (or any other protocol). The problem in the freifunk networks is that there was never a centrally planned upgrade mechanism. Every node is owned by someone else.
The other reason is that - objectively speaking - not everyone in the freifunk networks believes in either the matureness / stability / scalability of BATMAN or has some other favorite routing protocol (Babel comes to mind, others use lots of BGP). BATMAN is of course a very smart, unique and interesting idea... but OLSR has it's advantages in the eyes of others (stable and mature plugin architecture, well tested, RFC standard, around 50 implementations of OLSR worldwide, academic background, etc )
In addition, there are also plenty of other MANET protocols: http://en.wikipedia.org/wiki/List_of_ad-hoc_routing_protocols To my knowledge, finding "the best MANET protocol" is an unsolved research topic :) There are always trade-offs.
Personally I am also starting to firmly believe that the layer 2.5 (or layer 3) routing protocol does not matter so much anymore if the lower levels (Wi-Fi) are not stable enough. We can probably fight all the time about routing protocols but miss the point that we need a good layer 1 and 2 as a basis ;)))
Ok, I hope I could answer that as objectively as possible.
a.