28 May 2024 to 1 June 2024
University of Ottawa
EST timezone

Calling the BATMAN: Free Networks on FreeBSD

31 May 2024, 13:30
1h
Desmarais 1110 (University of Ottawa)

Desmarais 1110

University of Ottawa

Lecture 50 min Development Talks: Room 1110 - Friday

Speaker

Aymeric Wibo

Description

BATMAN (Better Approach to Mobile Ad-hoc Networking) is a routing protocol for wireless multi-hop ad-hoc networks, which is used and developed by projects such as Freifunk to build open city-scale Wi-Fi mesh networks.
It is implemented as a kernel module in the Linux kernel as batman-adv, which I partially ported to FreeBSD as part of a GSoC project.
This talk will present BATMAN, how it works, and the work done to port batman-adv (how well the port works, what's missing vs Linux, &c). It will focus on the process of using the LinuxKPI for porting drivers from Linux to FreeBSD and its implications for future driver development/maintenance on FreeBSD.

Full description:

This talk will cover:

  • What BATMAN is, how the BATMAN V algorithm works at a high level, and how/where it's used in real life in practice, i.e., why is it interesting for FreeBSD devices to be able to participate in such networks?

  • The various components that needed to be changed (aside from porting batman-adv itself, there were smaller changes to surrounding software such as ifconfig, netlink, &c).

  • A walkthrough of adding a Linux function to the LinuxKPI, and a bit more of a deepdive into the modifications brought to the batman-adv codebase to support FreeBSD to give an idea of how easy/hard it is to bring a driver such as this one in from Linux helped by LinuxKPI nowadays.

  • My experience with setting up a small BATMAN network in my dorm's neighbourhood.

I will also touch on my intentions to make a port out of this and add support for Wi-Fi in the future (or the current status of the port/Wi-Fi support if I find time to work on those before the BSDCan).

Primary author

Presentation materials