Skip to content

6.2.1 EXABGP

rod edited this page Aug 15, 2019 · 1 revision

exabgp

ExaBGP is an implementation of BGP protocol which allow us to read BGP messages in plain text or JSON format for further processing.

In NM2, there are two instances running exaBGP (for HA) that peer to a couple of nodes in the backbone. The peering established is for BGP-LS so that link-state information can be collected. Both instances create a queue (one each) in Rabbitmq for publishing the data they receive.

Thanks to exaBGP features, we can run python scripts for processing BGP updates and notifications so that we are able to maintain an up to date sight of the network. Mentioned scripts, after parsing the BGP messages, send the data to the message broker from which another service will get the data for further processing.

Additionally, both instances establish a TCP connection between hem for mastership handling. The master will be informed to a control queue in Rabbitmq from which, eventually, a consumer will subscribe and then get the actual queue it will subscribe for receiving data updates.

For more information about exaBGP please check exaBGP repo

Clone this wiki locally