B.A.T.M.A.N. Advanced Documentation Overview
How to get a mesh network up and running, how to configure the many features of B.A.T.M.A.N. Advanced, and how to shoot down your troubles.
Getting started
B.A.T.M.A.N. Advanced overview - information about the Layer 2 version of B.A.T.M.A.N.
Building B.A.T.M.A.N. Advanced with OpenWRT - how to download and configure your OpenWRT build environment to compile batman-adv.
B.A.T.M.A.N. Advanced quick start guide - or: what the hell is bat0 for?
Features of batctl - A quick introduction to batctl.
batctl online man page - read the current batctl man page online
Wireless Kernel Tweaking (video) - introduction to batman-advanced by Marek and Simon [December 2007] (also available at c3tv
Frequently asked questions - A list of frequently asked questions and answers.
Features
Miscellaneous Features
Translation table in a nutshell - The inner workings of the non-mesh client integration revealed.
Bridge loop avoidance - Document explaining the bridge loop avoidance implemented in batman-adv.
AP Isolation - How to prevent wifi-client to wifi-client communication.
Layer 2 fragmentation - basic concept behind the layer2 fragmentation (GSoC final report)
Alfred - Use alfred to send local information or visualize your mesh network
Link-Forwarding Optimizations
Multi-Link Optimizations - how to optimize traffic by using multiple links
Network Coding - Combine two packets into a single transmission to save air time.
Broadcast & Multicast
Broadcasts in B.A.T.M.A.N. Advanced - An overview of broadcast/multicast support
DHCP Gateway Optimization - How batman-adv can be used to choose the nearest internet gateway node.
Distributed ARP Table - How batman-adv can speed up your mesh experience by caching ARP replies.
Multicast Optimizations - multicast optimizations overview
Troubleshooting
Available Information - Read about the information exported by the module.
Troubleshooting FAQ - What if my batman-adv setup does not behave as expected ?
Developer Information / Advanced Features
Tweaking the B.A.T.M.A.N. Advanced behaviour - get an overview about the various settings batman-adv offers
B.A.T.M.A.N. user space events - batman-adv’s uevent documentation
Using the batman git repos - this page explains how the git repository is structured and how to use it
TVLV - details regarding the TVLV (type-version-length-value) API and defined TVLV containers
Protocol Documentation
B.A.T.M.A.N. Concept - get an overview about B.A.T.M.A.N.’s main concepts
Routing scenarios - a collection of routing scenarios a routing protocol should be able to handle
Multi-Link Optimizations - Use multiple links in batman-adv for fun and profit (technical documentation)
Client announcement - how batman-adv handles non-mesh clients bridged into the mesh
Client roaming - non-mesh clients moving from one mesh node to the next
TT Flags - explanation for internal flags used by the translation table code
Batman-adv packet types - backward compatibility for batman-adv
Compat versions - packet versions / formats used by batman-adv
B.A.T.M.A.N. V - throughput based mesh routing with B.A.T.M.A.N. V
Bridge-loop-avoidance-II - bridge loop avoidance to allow multiple gateways between LAN and mesh, redesigned
Distributed ARP Table - technical details regarding the inner working of the DAT mechanism
Fragmentation - technical details explaining the layer2 fragmentation
Multicast optimizations - technical details concerning the multicast optimizations
Network Coding - technical details regarding the network coding implementation
Batman-adv multicast optimization (video) - how batman-adv optimizes multicast traffic by Linus and Simon [March 2011]
Bisect the batman-adv routing protocol (video) - the bisect tool explained & demonstrated by Marek [March 2011]
Project CATWOMAN - network coding with batman-adv (video) - introduction into network coding with batman-adv by Martin and Jeppe [March 2011]
Random Linear Coding (video) - presentation on network coding by Martin [April 2013]