Skip to content

CFLagerfeldt/bts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

BGP Traffic Server (BTS) Traffic Engineering Automation

BGP server implementations using exabgp to complete the architecture described here.

Contact information:
Email: njrusmc@gmail.com
Twitter: @nickrusso42518

Implementations

There are three API implementations in this repository:

  1. Flask/HTTP: This uses Python flask as a front-end to build a simple HTTP API (not RESTful) for announcing and withdrawing routes. This includes a Postman collection and corresponding environment to simplify adoption/testing.

  2. gRPC: This uses a custom protobuf services file to define various RPCs supported by the API. It also includes a compilation script for Python source code. Last, it includes dial-in streaming telemetry to count the number of currently-advertised routes.

  3. FastAPI/REST: This uses Python fastapi as a front-end to build a REST API using HTTP transport for announcing and withdrawing routes. This includes a Postman collection and corresponding environment to simplify adoption/testing. For simplicity, the example database is an ordinary Python dictionary.

Testing

See .travis.yml for an example of a multi-job CI configuration. To reduce repetitive code, each general phase has been generically implemented in a corresponding bash script.

About

BGP Traffic Server automation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.7%
  • Shell 5.3%