This is a Proof of Concept (PoC) implementation of an autoconfiguration setup to be used with ARTEMIS.
---------------- ------------- -------------
| ExaBGP Monitor | | MONITOR AS | | CLIENT AS |
| AS65001 | eBGP | AS65003 | eBGP | AS65004 |
| exa | ------ | r03 (goBGP) | ------ | r04 (goBGP) |
| 1.1.1.11 | | 1.1.1.13 | | 1.1.1.14 |
---------------- ------------- -------------
|
ARTEMIS
- AS65004 announces 1K routes.
- AS65003 sees them and relays them to the exaBGP monitor for auto-configuration.
- ARTEMIS writes the configuration file automatically.
-
In
docker-compose.yaml
, edit volumes to point to the PoC's files:version: '3.4' services: configuration: ... volumes: ... - ./poc_autoconf/configs/artemis/:/etc/artemis/ ... ... fileobserver: ... volumes: ... - ./poc_autoconf/configs/artemis/:/etc/artemis/ ...
-
Run the following command and check the ARTEMIS UI:
docker-compose -f docker-compose.yaml -f docker-compose.pocautoconf.yaml up -d
After it is up and running, activate ARTEMIS exabgp tap.
-
Connect to
r04
and announce a new prefix:docker-compose -f docker-compose.yaml -f docker-compose.pocmitigatedeaggregate.yaml exec r04 sh gobgp global rib add 192.168.0.0/16 -a ipv4
-
Check in the UI that the configuration has been updated. You can repeat this to see a corresponding withdrawal:
docker-compose -f docker-compose.yaml -f docker-compose.pocmitigatedeaggregate.yaml exec r04 sh gobgp global rib del 192.168.0.0/16 -a ipv4
-
For stress-testing, create 500 routes of the form 192.$i.$j.0/24 and 500 routes of the form 2001:db8:$i:$j::/64 where i in (1 .. 10) and j in (1 .. 100):
docker-compose -f docker-compose.yaml -f docker-compose.pocmitigatedeaggregate.yaml exec r04 sh ./add_routes.sh
-
Check in the UI that the configuration has been updated. You can repeat this to see all corresponding withdrawals:
docker-compose -f docker-compose.yaml -f docker-compose.pocmitigatedeaggregate.yaml exec r04 sh gobgp global del all -a ipv4 gobgp global del all -a ipv6