BATMAN support in the FreeBSD kernel
Links:
Wiki page URL: https://wiki.freebsd.org/SummerOfCode2023Projects/CallingTheBatmanFreeNetworksOnFreeBSD
Source code
(Pull Request) URL: https://github.com/obiwac/freebsd-gsoc/pull/1
Contact: Aymeric Wibo <obiwac@FreeBSD.org>
BATMAN (Better Approach to Mobile Ad-hoc Networking), as developed and used by the Freifunk project, is a routing protocol for (primarily wireless) multi-hop ad-hoc networks. Freifunk is a German initiative to build an open Wi-Fi network at city-scale, based on the principles of net-neutrality. BATMAN’s motive is to be a completely decentralized protocol; no one node in the network knows or has to care about the topology of the whole network.
Support for this protocol is provided by the batman-adv kernel module on Linux, and this project aims to bring that to FreeBSD. This includes the kernel module itself, but also userland networking libraries and tools necessary to create BATMAN networks.
Currently, creating interfaces and interacting with them works (with both Linux and FreeBSD userspaces), and packet transmission (kind of) works, although it is incomplete as of yet. Support for batadv interfaces has been added to ifconfig(8) too.
Mentor: Mahdi Mokhtari
Sponsor: The Google Summer of Code '23 program
Last modified on: July 27, 2023 by Lorenzo Salvadore