This is an old revision of the document!
BirdPlan
Project repository: https://oscdev.io/software/birdplan
Purpose
Tool to automatically configure Bird and unit test various configurations.
We will be using a new advanced network virtualization system that is capable of spinning up hundreds of routers to create something like this…
Features
- BGP configuration
- Peer types: customer, peer, upstream, rrclient, rrserver, rrserver-rrserver, routecollector, routeserver
- OSPF configuration
- RIPv2 configuration
Technologies
- Python
- BIRD - Bird Internet Routing Daemon
- Networking protocols: BGP, RIPv2, OSPF
- Network simulation using light weight network namespaces
Related software:
- python-nsnetsim - Network simulation
- python-birdclient - Python library for parsing BIRD output
Challenges
- Conversion of code base from python 2 to clean python 3
TODO
Pull in static config- Unit tests
- Pull in RIP configuration
- Cleanup nsnetsim (python-nsnetsim)
- Cleanup birdclient (python-birdclient)
- Pull in OSPF configuration
- Pull in BGP configuration
Usage Ideas
Generate Bird configuration… (takes /etc/birdplan.yml and creates /etc/bird.conf)
birdplan --generate birdplan --load