This is an old revision of the document!
BirdPlan
Components | |
---|---|
BirdPlan | ![]() ![]() |
nsnetsim | ![]() ![]() |
birdclient | ![]() ![]() |
<html> <center> <script type='text/javascript' src='https://www.openhub.net/p/birdplan/widgets/project_cocomo?format=js'></script> <script type='text/javascript' src='https://www.openhub.net/p/nsnetsim/widgets/project_cocomo?format=js'></script> <script type='text/javascript' src='https://www.openhub.net/p/birdclient/widgets/project_cocomo?format=js'></script> </center> </html>
Purpose
Tool to automatically configure BIRD and unit test 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:
- nsnetsim - Network simulation
- birdclient - Python library for parsing BIRD output
Challenges
- Conversion of code base from python 2 to clean python 3
TODO
Pull in static configUnit testsPull in RIP configurationPull in OSPF configurationPull in BGP configuration- Tests tests tests!
- Better documentation for nsnetsim code
- Better documentation for birdclient code
- Documentation for birdplan code
Usage Ideas
Generate Bird configuration… (takes /etc/birdplan.yml and creates /etc/bird.conf)
birdplan --generate birdplan --load