Definition
B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking) is a routing protocol for multi-hop wireless mesh networks, developed by the German Freifunk community to replace the older OLSR protocol. It is the routing engine that lets community and off-grid meshes self-organize without any central coordinator — a core building block for sovereign, infrastructure-free networks where nodes join, move, and leave constantly.
How it routes
B.A.T.M.A.N. is proactive: rather than each node computing a full topology graph of the network, every node simply learns which neighbor offers the best next hop toward each destination. This decentralizes routing knowledge, keeps per-node processing and control traffic low, and produces highly adaptive, loop-free paths. No single node needs the whole map, which is exactly why the protocol scales gracefully on cheap, low-power hardware.
batman-adv in the kernel
The original implementation was a userspace daemon; batman-adv (B.A.T.M.A.N. Advanced) moved into the Linux kernel and operates at OSI Layer 2, making the entire mesh look like one big virtual switch to higher layers. Being a kernel module, it runs on even low-end devices and lets ordinary IP applications work transparently across the mesh. This is the routing layer beneath many real-world community networks and a practical foundation for resilient local infrastructure.
B.A.T.M.A.N. is one of several routing choices for off-grid meshes; it complements radio transports like LoRa and overlay stacks such as Reticulum when building networks that answer to no provider.
In Simple Terms
B.A.T.M.A.N. (Better Approach To Mobile Ad-hoc Networking) is a routing protocol for multi-hop wireless mesh networks, developed by the German Freifunk community to replace the…
