Open Source

I’m involved in quite some Open Source Software projects and have written a number of tools by myself over the years. This site contains an overview of some projects / tools which might be helpful.

Networking

bio-routing – a project to create a versatile, fast and reliable routing daemon in Golang. bio = BGP + IS-IS + OSPF

Network Automation

Freifunk Hochstift Salt Stack / “SDN”

The Freifunk Hochstift Community network is managed by a self-made SDN based on Salt Stack, Python, and NetBox as Source of Truth.

Most of the Salt configuration as well as the NetBox Abstraction and Caching Layer (NACL) are publicly available on GitHub.

NetBox

The netbox-scripts repo contains some NetBox Custom Scripts I wrote to make life of operators easier. Most scripts here were written for the Freifunk Hochstift network, and are used to provision NetBox data to be consumed by the FFHO Salt stack. Related blog posts:

When you’re starting you NetBox journey, you might find the Netbox DeviceType library useful, which contains a lot of DeviceType and ModuleType definitions which are ready-to-use.

Observability

BMP

bbmp2kafka an Open Source BGP Monitoring Protocol (BMP, RFC7854) receiver based on the Bio-Routing BGP/BMP library, designed to forward all BMP Monitoring messages, so specifically BGP UPDATEs and WITHDRAWs, onto a Kafka stream as protobuf messages.

Icinga2

I’ve been using Icinga2 for monitoring and alerting in multiple roles and had the need to create some checks, which can be found on my GitHub profile as well as on Icinga2 Exchange.

This includes checks for

System software

ifupdown-ng – a network device manager that is largely compatible with Debian ifupdown, BusyBox ifupdown and Cumulus Networks’ ifupdown2.