Skip to content

Other OSS BGP implementations

Thomas Mangin edited this page Apr 8, 2018 · 34 revisions

I am a java coder and I hate Python

   use freerouter http://freerouter.nop.hu/

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 an implementation here
https://github.com/ThomasHabets/eggpd

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

I am an Go coder and I hate Python

Then this is for you !
https://github.com/osrg/gobgp

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

Great, I want one from a router vendor, not a network operator

Then you can have a look at what Cisco did with yabgp
https://github.com/smartbgp/yabgp

I have some PCAP files I need parsing

You could surely do something with ExaBGP but otherwise pbgp-parser will help you
https://github.com/de-cix/pbgp-parser

I want to know what is happening on my network

You could surely do something with ExaBGP and otherwise Piranha can help you
https://github.com/spale75/piranha

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/