##Overview
ExaBGP was not designed to transform a general purpose server into a router, but to allow engineers to control their network. Think of it as Software Defined Networking using BGP.
This program is packaged for Debian, Ubuntu, ArchLinux, Gentoo, Mint, FreeBSD, OSX, OmniOS, but some features may only be available on latest version.
ExaBGP does not perform any FIB manipulation, you will need to write your own LocalRIB and FIB code if this what you need the feature, or simpler, use another open source BGP daemon such as BIRD or Quagga.
ExaBGP transform BGP messages into friendly plain text or JSON which can be easily manipulate by scripts.
It allows the creation of tools such as :
- advanced looking glasses graphically display the routing of prefix
- service high availability which automatically isolate dead server / broken services
- DDOS mitigation
- or anycasted server
So have a look and take control your network from any unix servers.
> wget https://github.com/Exa-Networks/exabgp/archive/3.4.2.tar.gz
> tar zxvf 3.4.2.tar.gz
> cd exabgp-3.4.2
> ./sbin/exabgp --help
##Who is using it ?
These organisations have spoken of, or are using/have used ExaBGP:
ALCATEL LUCENT, AMSIX, BBC, CLOUDFLARE, DAILYMOTION, FACEBOOK, INTERNAP, OPENDNS, MICROSOFT, NEO TELECOM, RIPE NCC VIDEOPLAZA as well as researchers.
Please let us know if you use it too ...
##Features
- receive / send routes
- support for some drafts
- runs on any Unix server (with no dependencies).
- BSD licence, integrate ExaBGP in your own application stack - no strings attached !
##More information
If you are using ExaBGP from source (or git), it does not need to be installed on your server ( using "python setup.py install" ).
Multiple versions can be used simulteanously without conflict, using them as follow. To do so, please run ExaBGP from its extracted archive, or your local git repository.
##Curious
Want to know how the code is changing ? Have a question ?
I regularly post on ExaBGP G+ Group about ExaBGP current developments and sometimes blog about BGP.
You can as well follow us on twitter, or subscribe to our low volume mailing list. You can as well keep an eye on what we are doing on twitter.
For more information, please consult any of :
- the RFC compliance pages
- the wiki with some some talks and presentations, ...
- and the FAQ
- the changelog
ExaBGP does not have any dependences on any third party libraries and will run out of the box on any Unix system with a recent version of python installed.
##Problem ?
No software is perfect, so should you encounter a bug please report it so we can help you resolve it.
##Commercial support
ExaBGP is supported through Github [https://github.com/Exa-Networks/exabgp/issues](issue tracker) on a best effort basis. We try to be reactive to any problem raised. However commercial support is available if your organisation requires it.
- Important speed improvements
- VPLS, RFC 4762 support
- Better (but sometimes incompatible) JSON format
- new OPEN message
- detailled FlowSpec
- UPDATE sequence number
- new EOR object
- possibility to group raw and parsed information in one object
- new capability configuration section (kept backward compatibility for this release)
- option to respawn dead helper if they die
- removal of the option exabgp.tcp.timeout ( not needed anymore )
- Large rewrite of UPDATE parsing
- Integrate Orange BAGPIPE work
- EVPN NLRI
- RTC, encapsulation attributes
- not yet exposed through the configuration file
- removal of dependency on argparse for python 2.6 ( using docopt )
- many bug fixes
- and surely more ....
The configuration file format changes from version to version effort are made to make sure the previous configuration format should still work, however users are encouraged to check their configuration files after upgrade.
##Related Projects
- GIXLG a looking glass with visualisation using ExaBGP
- BGPAPI an HTTP API to ExaBGP
- ExaBGP Chef Cookbook automate ExaBGP's installation
- IOS2ExaBGP converts Cisco IOS IPv4 BGP LOC Rib dumps to ExaBGP's format
- exabgp-voipbl advertises local or/and voipbl.org blacklist using unicast or flow route.
And some self promotion :
- ExaProxy A non-caching HTTP proxy able to perform complex header manipulations