Skip to content

Controlling ExaBGP : interacting from the API

Thomas Mangin edited this page Sep 18, 2023 · 18 revisions

There are several commands in order to interact with ExaBGP from the API. Here some of the possibilities are listed.

API to handle ExaBGP

  • shutdown Terminates ExaBGP. > shutdown in progress
  • reload Reload ExaBGP's configuration > reload in progress
  • restart Reloads ExaBGP from scratch > restart in progress
  • reset Reset clears the queue of pending command not yet completed
  • version Show exabgp's version
  • show neighbor [optional neighbor ip] summary
  • show neighbor [optional neighbor ip] extensive
  • show neighbor [optional neighbor ip] configuration
  • show adj-rib in [extensive] (will be integrated in neighbor)
  • show adj-rib out [extensive] (will be integrated in neighbor)
  • announce watchdog
  • announce route (will be deprecated when announce <afi> <safi> is introduced)
  • announce eor
  • announce flow
  • announce operational
  • announce vpls
  • announce route-refresh
  • teardown

every announce command has it withdraw equivalent.

Examples

announce
  • exabgpcli announce route 10.0.0.1/24 next-hop self community [no-export]
  • exabgpcli announce route 10.0.0.1/24 next-hop self community [666:666]
  • exabgpcli neighbor 1.2.3.4 announce route 10.0.0.1/24 next-hop self extended-community [123456:666]
  • exabgpcli neighbor \* announce route 10.0.0.1/24 next-hop self extended-community [123456:666]
withdraw
  • exabgpcli withdraw route 10.0.0.1/24 next-hop self community [666:666]
  • exabgpcli neighbor 1.2.3.4 withdraw route 10.0.0.1/24 next-hop self extended-community [123456:666]
  • exabgpcli neighbor 1.2.3.4 withdraw route 10.0.0.1/24

Show version

Answers in the shape: exabgp <version> where version can be in the form of the release 3.4.20 or the git version like exabgp master-2583e388ee833897b15cb6a653d255b718c183fc

API to handle neighbors

  • announce route ... neighbor 10.0.0.1 , neighbor 10.0.0.2 announce route 1.0.0.0/16 next-hop 101.1.101.1 split /16

BGP Cease Status Codes for Teardown

The ExaBGP "teardown" feature requires the correct/specific status code to notify the "other end" the reason for the teardown. For example, syntax to notify the remote end of a max prefix trip neighbor 10.0.0.1 teardown 1

See list below:

1	Maximum Number of Prefixes Reached
2	Administrative Shutdown
3	Peer De-configured
4	Administrative Reset
5	Connection Rejected
6	Other Configuration Change
7	Connection Collision Resolution
8	Out of Resources