Skip to content

davidu/exabgp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##Summary

Unlike BIRD or Quagga, ExaBGP was not designed to transform a general purpose server into a router, but to allow engineers to control their network easily. Think of it as Software Defined Networking for people with usual BGP routers.

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 :

So have a look and take control your network from any unix servers.

##More information

This program is packaged for Debian, Ubuntu, ArchLinux, Gentoo, Mint, FreeBSD, OSX, OmniOS. Unless you need the latest version, please consider using your distribution's.

If you are using ExaBGP from source (or git), it does not need to be installed on your server ( using "python setup.py install" ). Simply run ExaBGP from the extracted archive, or your local git repository. It allows to run several versions at the same time without conflict.

> wget https://github.com/Exa-Networks/exabgp/archive/3.3.2.tar.gz
> tar zxvf 3.3.2.tar.gz
> cd exabgp-3.3.2
> ./sbin/exabgp --help

My blog may contain some BGP related information, but I tend to post more on G+ about ExaBGP than I blog.

##Who is using it ?

These organisations are speaking of, or using, ExaBGP: FACEBOOK, MICROSOFT, DAILYMOTION, BBC, AMSIX, NEO TELECOM, VIDEOPLAZA, ALCATEL LUCENT, CLOUDFLARE, INTERNAP, researchers [1] [2] [3], and please let us know if you use it too and can list you here ...

##BUG

No software is perfect, so should you encounter a bug please report it so we can resolve it.

##Curious

Want to know how the code is changing ? Have a question ?

follow our Google + Community page where we discuss current developments. 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.

Please consult any of :

This programs 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.

Development is done on python 2.7, the code is kept compatible with python 2.4 in ExaBGP 2.x.x and python 2.5 in ExaBGP 3.1.x. ExaBGP 3.2.x and 3.3.x rely on python 2.7 (as it uses argparse), and we are likely to required python 3.4+ for ExaBGP 4.x.x

> python --version
Python 2.6.7
> pip install argparse

##Features

known ...

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.

new on 3.2 stable ...

  • enhance route refresh support
  • Ful RFC 5575 support, can decode incoming Flow routes
  • An external program to announce a service ( Thank you Vincent ! )
  • accept incoming connections
  • using "next-hop self" is supported via the API
  • new update code generation can group multiple NLRI, from different families, in one update packet
  • NOTIFICATION message generation using the API
  • API message control (limit diffusion to a subset of peers)
  • better --decode option to find out what a hex dump of a route mean
  • new internals ... many, including
    • large rewrite of non-optimal code
    • new non-blocking reactor
    • new Adj-RIB-In and Adj-RIB-Out with scalable watchdog feature
  • many small fixes, see the full CHANGELOG
  • and more ....

The list of supported RFC is available here

The configuration file format changed slightly from 3.1.x to 3.2.x, effort were made to make sure the previous configuration format would still work, however users are encouraged to check their configuration files.

##Commercial support

Should you feel a need for commercial support in order to deploy ExaBGP in your organisation, please feel free to contact Exa Networks using sales AT exa-networks DOT co DOT uk

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

And some self promotion :

  • ExaProxy A non-caching HTTP proxy able to perform complex header manipulations

About

The BGP swiss army knife of networking

Resources

Stars

Watchers

Forks

Packages

No packages published