Rotonda is a free, open-source BGP application written in the Rust programming language. The application is designed to be secure and is greatly portable.

Rotonda allows users to build their own BGP applications. These applications are built by combining units into a pipeline through which BGP data will flow. Users can filter, modify and store the BGP data along the way, and create signals based on it to send to other applications. Units can be added and removed in a running Rotonda application.

Rotonda offers units to create BGP and BMP sessions, filters, Routing Information Bases (RIBs), and more.

All Rotonda units have their own finely-grained logging capabilities, and some have built-in queryable JSON API interfaces to give information about their current state and content through Rotonda’s built-in HTTPS server. Signals can be sent to other applications. Moreover, Rotonda offers true observability by allowing the user to trace BMP/BGP packets start-to-end through the whole pipeline.

To get started with Rotonda, please refer to the extensive documentation.

Feedback

If you run into a problem with Rotonda or you have a feature request, please create an issue on GitHub. We are also happy to accept your pull requests.