,

A Efficient API for BIRD Routing Daemon

Blake Bradford Avatar

·

Introducing birdwatcher: A Efficient API for BIRD Routing Daemon

Are you looking for a more convenient and performant way to work with the BIRD internet routing daemon? Look no further! Introducing birdwatcher, a small HTTP server designed to provide an efficient API for the BIRD routing daemon.

Birdwatcher, developed by Daniel and MC from Netnod, is built using the popular programming language Go. The use of Go allows birdwatcher to work with regular binaries, making deployment and maintenance a breeze. The server also offers additional capabilities not found in other implementations.

To get started with birdwatcher, make sure you have Go installed on your system. Running the command go install github.com/alice-lg/birdwatcher@latest will provide you with a binary that you can use. If you need to compile it for a specific architecture, the Makefile provided in the repository will guide you through the process.

Birdwatcher relies on parsing the output of birdc[6] and expects the time format to be iso long. To ensure compatibility, configure the timeformat options in your /etc/bird[6].conf file. Additionally, if you want to see filtered routes in the BGP protocol instances, make sure to enable the import keep filtered on option for the affected bgp protocols.

One of the standout features of birdwatcher is its integration with Alice-LG, another routing software. By setting the appropriate BIRD configuration setup in your Alice-LG configuration, you can harness the power of both tools seamlessly.

For those who prefer containerization, birdwatcher can be run in a Docker container. Simply pull the image alicelg/birdwatcher:latest or build your own using the instructions provided in the repository.

If you are using a system that utilizes RPMs for deployment, installing birdwatcher is straightforward. Just follow the instructions for building an RPM, and you’ll be up and running in no time.

To configure birdwatcher, refer to the well-commented example configuration file provided in the repository. It comes with sane defaults and should be ready to use out of the box. If you need to make any changes or encounter any issues, don’t hesitate to reach out to the project maintainers.

Birdwatcher works by running the birdc[6] client in the background, sending commands, and parsing the results. It also employs caching techniques to reduce the load on the BIRD service, ensuring optimal performance.

In conclusion, birdwatcher is a powerful tool that provides a user-friendly API for the BIRD routing daemon. With its convenient installation process, well-documented configuration options, and efficient performance, it is a valuable addition to any networking setup.

To learn more and get started with birdwatcher, visit the birdwatcher GitHub repository. Feel free to explore the source code, open issues, and contribute to the project.

References:
birdwatcher GitHub repository
BIRD internet routing daemon

Acknowledgments:
– Daniel and MC from Netnod
– Veit Heller
– Patrick Seeburger and Benedikt Rudolph from DE-CIX

Leave a Reply

Your email address will not be published. Required fields are marked *