nanog mailing list archives

Re: Low Cost 10G Router


From: "Thomas Mangin" <thomas.mangin () exa-networks co uk>
Date: Wed, 20 May 2015 17:47:12 +0100

Hello Pavel,

Using ExaBGP as an SDN already has been done (and in a very large scale). But I would agree with Nick; It is not something I would recommend to everyone.

Once more to echo Nick, to add/remove route/fw entries on Linux please do use netlink. The lastest ExaBGP master has some start of code to implement NetLink in python but I recently found a python module for it: https://github.com/svinota/pyroute2

Before ExaBGP can become a route server, I must complete a number of pieces (like the CLI which I am currently coding). I have spoken with the IX community about making ExaBGP a RR/RS and the idea was not badly received, but no one offered to help so it is on the back burner.

Thomas

On 20 May 2015, at 15:54, Pavel Odintsov wrote:

Hello!

Yes, we could run route add / route del when we got any announce from
external world with ExaBGP directly. I have implemented custom custom
Firewall (netmap-ipfw) management tool which implement in similar
manner. But I'm working with BGP flow spec. It's so complex, standard
BGP is much times simpler.

And I could share my ExaBGP configuration and hook scripts.

ExaBGP config: https://github.com/FastVPSEestiOu/fastnetmon/blob/master/src/scripts/exabgp_firewall.conf

Hook script which put all announces to Redis Queue:
https://github.com/FastVPSEestiOu/fastnetmon/blob/master/src/scripts/exabgp_queue_writer.py

But full BGP route table is enough big and need external processing.

But yes, with some Python code is possible to implement route server
with ExaBGP.

On Wed, May 20, 2015 at 5:25 PM, Aled Morris <aledm () qix co uk> wrote:
On 20 May 2015 at 15:00, Pavel Odintsov <pavel.odintsov () gmail com> wrote:

Yes, you could do filtering with Quagga. But Quagga is pretty old tool without multiple dynamic features. But with ExaBGP you could do really
any significant route table transformations with Python in few lines
of code. But it's definitely add additional point of failure/bug.


Couldn't your back-end scripts running under ExaBGP also manage the FIB,
using standard Unix tools/APIs?

Managing the FIB is basically just "route add" and "route delete" right?

Aled




--
Sincerely yours, Pavel Odintsov


Current thread: