Skip to content

Other OSS BGP implementations

thomas-mangin edited this page Dec 19, 2014 · 34 revisions

I am a C coder and I hate Python

use Bird http://bird.network.cz/
or Quagga http://www.quagga.net/

I am a Ruby coder and I hate Python

use BGPFeeder https://projects.bytemark.co.uk/projects/bgpfeeder
from the very nice people at ByteMark
hg clone http://projects.bytemark.co.uk/hg/bgpfeeder


or bgp4r https://github.com/jesnault/bgp4r

I am a Perl coder and I hate Python

use bgpsimple
svn checkout http://bgpsimple.googlecode.com/svn/trunk/ bgpsimple-read-only

I am an erlang coder and I hate Python

There is a start of an implementation here
https://github.com/brunorijsman/erlang-bgp

I love Python but I prefer twisted

Then look here at pybgp https://code.launchpad.net/pybgp
bzr branch lp:pybgp

I am not sure if this project existed when I started or not but I clearly missed it !	It does not support many RFC, but has IPv4 and VPNv4/MPLS. I really like twisted and use it a lot but did not want a dependency on it for a BGP daemon.

Better, but I want something for my website resilience

You should look at hearbeat.py in ExaBGP but as you insist on not using it, The wikimedia foundation wrote something cool named pybal

git.wikimedia.org/tree/operations/debs/pybal.git 

I want something which works with OpenStack

In 2014, multiple projects started experimenting with BGP for OpenStack

Orange released BAGPIPE which use ExaBGP's classes to write their own BGP route injector with a clear focus on OpenStack. Some of their code has been ported back in ExaBGP - Thank you for the help.

https://github.com/Orange-OpenSource/bagpipe-bgp

I want something which works with OpenStack but NOT ExaBGP based

Ok .. we got it ... no point in getting agitated :-)
NTT supports the development of Ruy, which you should have a look at too as it added BGP support in 2014.

https://github.com/osrg/ryu

You are sure you listed them all ?

No, and I just found (2012-03-19) another python program from 2005 called announcer

http://www.dia.uniroma3.it/~compunet/bgp-probing/