Skip to content

nolag/exabgp

 
 

Repository files navigation

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

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

Build Status Thomas

Build Status Exa-Networks

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

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

New on 3.4 stable ...

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

Self Promotion

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

About

The BGP swiss army knife of networking

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.8%
  • Shell 2.0%
  • Perl 0.2%