Skip to content

Large Configuration File

Thomas Mangin edited this page Mar 26, 2014 · 7 revisions

An ExaBGP configuration file with the full internet routing table can have up to nearly 3 million lines and weights over 50 MB.

Parsing such a file take ages, therefore we recommend an alternate approach: there is an undocumented API command in the code "announce attribute", by undocumented we mean not officially supported yet as the code is a bad hack in need of good cleanup.

The syntax would be something like

 announce attribute med 100 next-hop 192.168.0.1 nlri 10.0.0.0/16 192.0.2.0/24

It prevent ExaBGP to have to parse the attribute multiple times and provide an enormous gain on the "normal" internet routing table.

To best use it you should make sure every peer has :

auto-flush false;
group-update true;

It disable automatic update generation: updates will only be sent to the routers when you explicitly request it and make sure NLRI are grouped in the same update when the packet is generated.

Then once you have announced enough route you can force route propagation when useful.

route flush

It should give you much better performance than a single large configuration file, but should you need to have a single file we advise you to use the latest version of ExaBGP and the single line syntax for the routes.