ExaBGP, the Python BGP swiss army knife: a programmable route injector and BGP speaker you drive from a plain text config, a CLI and JSON APIs.
ExaBGP is an open source implementation of BGP, the routing protocol that ties networks together across the internet and inside large data centres, written entirely in Python by Exa Networks. Rather than trying to be a traditional routing stack, it is built to let software talk BGP: it runs as a daemon driven by a plain text configuration, announces and withdraws routes on command through a named pipe CLI, and streams every BGP event it receives as JSON to helper processes you write in any language. That design makes it the tool of choice for injecting routes into your network from scripts and controllers, steering or blackholing traffic during DDoS mitigation, announcing service addresses for anycast with health checks, and prototyping or testing BGP behaviour, including advanced address families such as FlowSpec for distributing traffic filtering rules. It speaks IPv4 and IPv6, supports MD5 authenticated sessions, and needs nothing beyond the Python standard library to run.
A bare BGP daemon has nothing to show on its own, so the cloudimg image ships a complete working reference deployment: ExaBGP pinned to the official upstream release and verified by checksum, peered with a second ExaBGP speaker over an authenticated session that reaches established the moment the machine boots, with routes propagating in both directions and every received BGP event logged as JSON to a file you can watch. You can prove live route injection with a single CLI command and see it arrive at the peer in real time. It is secure by default: no port is open on the public interface at all, the demo listener is bound to an internal loopback address, and the one secret on the appliance, the key that authenticates the demo session, is generated uniquely on every first boot and written to a file only root can read, so no two instances share a secret. Every deployment ships fully patched with unattended security updates enabled, a paired deploy guide that walks through pointing it at your own routers, and 24/7 cloudimg support.