Skip to content
BGP peering with Quagga and ExaBGP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

BGP Peer Demo

This is a rough example of setting up BGP peering using Quagga and ExaBGP. I also tried using GIXLG, primarily as a way to test if ExaBGP was processing received routes.

I barely know anything about BGP so if you see something crazy here, please let me know.

So far I have 2 hosts that establish a connection and Quagga appears to be able to send routes to ExaBGP (though I don't know what it does with them). ExaBGP can send routes to Quagga, but I can't tell that Quagga notices or cares.


Set up 2 Debian VMs. I used VirtualBox with the Bridged Adapter with the following IPs:

  • Quagga:
  • ExaBGP:

Run the ansible playbook:

ansible-playbook -i hosts --user --ask-pass site.yml

Run exabgp on

exabgp -d /opt/gixlg/exabgp/sample.conf

From a separate terminal on you can view the connection status or announce a route:

exabgpcli show neighbor summary
exabgpcli announce route next-hop


debian# configure terminal
debian(config)# router bgp 65321
debian(config-router)# network
debian(config-router)# exit
debian(config)# exit
debian# write
debian# exit

This route should be announced to ExaBGP.

You can’t perform that action at this time.