The BGP swiss army knife of networking

Clone this repo:
  1. e22d832 Merge pull request #222 from yeled/patch-2 by Thomas Mangin · 8 years ago master
  2. 7c689d2 add as-path option by Charlie Allom · 8 years ago
  3. bb7d1b7 travis-ci can be really slow by Thomas Mangin · 8 years ago
  4. 7e0c536 and more by Thomas Mangin · 8 years ago
  5. 2b44229 more linter work by Thomas Mangin · 8 years ago

##Overview

Gitter PYPI Version Testing Status Coverage Status Scrutinizer Code Quality Landscape Code Quality Codacy Badge License

ExaBGP allows engineers to control their network from commodity servers. Think of it as Software Defined Networking using BGP.

Use cases include:

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.

> wget https://github.com/Exa-Networks/exabgp/archive/3.4.5.tar.gz
> tar zxvf 3.4.5.tar.gz
> cd exabgp-3.4.5
> ./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, POWERDNS, RIPE NCC, VIDEOPLAZA, ...

Please let us know if you use it.

##Features

Extensive RFC support

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

Many drafts

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 :

##Problem ?

No software is perfect.

ExaBGP is supported through Github issue tracker on a best effort basis. So should you encounter a bug please report it so we can help you resolve it.

The configuration file format changes from version to version, but effort are made to make sure backward compatibility is kept, however users are encouraged to read the release note and check their setup after upgrade.

##Support

We try to be reactive to any problem raised, and hopefully are not too bad at it. Some organisation are however unable to deploy an applicatoin without commercial support, therefore it is available if your organisation requires it but is by no way required.

##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.

Self Promotion

Exa Networks has also developed a high-performance and very flexible filtering HTTP proxy (allowing cookie manipulation and other goodies).