Project

General

Profile

B.A.T.M.A.N. Advanced Documentation Overview

B.A.T.M.A.N. advanced (often referenced as batman-adv) is an implementation of the B.A.T.M.A.N. routing protocol in form of a Linux kernel module operating on layer 2. It is configured with the tool batctl, which is described in its manpage

Getting started

  • Introduction
    • the concept of batman-adv: a layer 2 mesh as distributed switch
  • Quick start guide
    • first steps to set up a mesh network (or: what the hell is bat0 for?)
  • Using batctl
    • a quick introduction to batctl
  • FAQ
    • frequently asked questions and answers

Installation and configuration

Features

The alfred daemon can additionally be used to distribute local information or visualize the mesh network.

Technical documentation

The protocol concept shared by all B.A.T.M.A.N. implementations is described in Protocol concept and Routing scenarios.

Routing algorithms

Non-mesh clients

Packet format

  • Packet types
    • backward compatibility of unicast packet types
  • Compat version
    • packet versions and formats used by batman-adv
  • TVLV
    • the type-version-length-value API and its containers

Feature internals

Broadcast and multicast

Development

The development tools describe how to test and debug batman-adv.

Ideas and drafts

These pages document ideas, drafts and analyses. They may be outdated or were never (completely) implemented.

Talks and further resources