Low Cost 10G Router

Thomas Mangin thomas.mangin at exa-networks.co.uk
Wed May 20 16:47:12 UTC 2015


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 at qix.co.uk> wrote:
>> On 20 May 2015 at 15:00, Pavel Odintsov <pavel.odintsov at 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



More information about the NANOG mailing list