##Overview
ExaBGP was not designed to transform a general purpose server into a router, but to allow engineers to control their network from commodity servers. Think of it as Software Defined Networking using BGP.
Use cases include:
- sql backed looking glasses with prefix routing visualisation
- service high availability automatically isolating dead server / broken services
- DDOS mitigation solutions
- anycasted server
The program is BSD licenced and packaged for Debian, Ubuntu, ArchLinux, Gentoo, Mint, FreeBSD, OSX, OmniOS, but some features may only be available on latest version.
ExaBGP transforms BGP messages into friendly plain text or JSON which can be easily manipulate by scripts, it does not perform any FIB manipulation. If this what you need, use another open source BGP daemon such as BIRD or Quagga.
So have a look and take control your network from any unix servers.
> wget https://github.com/Exa-Networks/exabgp/archive/3.4.4.tar.gz
> tar zxvf 3.4.4.tar.gz
> cd exabgp-3.4.4
> ./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, MAXCDN, MICROSOFT, NEO TELECOM, RIPE NCC, VIDEOPLAZA, ...
Please let us know if you use it.
##Features
IPv6 RFC 4760, ASN4 RFC 4893, Flow RFC 5575, MPLS RFC 4659 (with vpnv6), VPLS RFC 4762, Graceful Restart support, RFC 4724, Enhanced Route Refresh, RFC 7313, AIGP, RFC 7311, more
draft-raszuk-idr-flow-spec-v6-03, draft-ietf-idr-flowspec-redirect-ip-00, draft-ietf-idr-add-paths-08, partial draft-ietf-idr-bgp-multisession-07, draft-scudder-bmp-01
##More information
ExaBGP from source (or git) runs on any Unix server and has no dependencies.
Multiple versions can be used simulteanously without conflict, if ran ExaBGP from the extracted archive, or a local git repository.
##Curious
Want to know how the code is changing ? Have a question ?
The way way to keep informed is to follow ExaBGP's G+ Group. You can as well follow us on twitter, or subscribe to our low volume mailing list.
For more information, please consult any of :
- the RFC compliance pages
- the wiki with some some talks and presentations, ...
- and the FAQ
- the changelog
##Problem ?
No software is perfect.
ExaBGP is supported through Github [https://github.com/Exa-Networks/exabgp/issues](issue tracker) on a best effort basis. So should you encounter a bug please report it so we can help you resolve it.
##Commercial support
We try to be reactive to any problem raised, and hopefully are not too bad at it. 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.
Exa Networks has also developed a high-performance and very flexible filtering HTTP proxy (allowing cookie manipulation and other goodies).