Realistic benchmarks for GoBGP and BIRD - euro-ix/rs-workshop-july-2017 GitHub Wiki
This page has the progress report of the Realistic benchmarks for GoBGP and BIRD team.
Setting up ARouteServer
Assume you have vagrant set up on your machine.
Build a new virtual machine with ubuntu
vagrant init "bento/ubuntu-16.04
vagrant up
Log into the VM:
vagrant ssh
Then follow the instructions from ARouteServer documentation. These are:
# setup a virtualenv in the current users home directory, change path if desired, use virtualenvwrapper if desired.
# the basic way to set it up
mkdir -p ~/.virtualenvs/arouteserver
virtualenv ~/.virtualenvs/arouteserver
source ~/.virtualenvs/arouteserver/bin/activate
# clone repository. Hint: do not use `~/arouteserver` as this is the default configuration directory. E.g. use `~/development/arouteserver` or something similar.
git clone https://github.com/pierky/arouteserver.git
cd ~/development/arouteserver.
# install requirements through pip
pip install -r requirements.txt
# before running any ARouteServer command you need to tell the python interpreter where to find the sources
export PYTHONPATH="`pwd`"
# setup ARouteServer on your system, see hints below
./scripts/arouteserver setup
# finish working on arouteserver
deactivate
If you want you may install virtualenvwrapper to ease the setup of your development environment. You may add export PYTHONPATH="`pwd`"
to the post-activate hook of virtualenvwrapper. Then all you have to do is cd ~/development/arouteserver
and workon arouteserver
.
Else, if you start working again on the project do:
cd ./arouteserver
export PYTHONPATH="`pwd`"
Building the program configuration
ARouteServer program configuration can be entered manually or generated from various sources (Euro-IX JSON, etc.). source PeeringDB is not meant to generate ready to use configurations as the data quality in PeeringDB has large variations. These need to be inspected manually for sure!
Build configuration based on EURO-IX JSON
$ ./scripts/arouteserver clients-from-euroix --cfg /home/user/arouteserver.yml --url file:///home/user/euroix.json 1 --vlan 1 -o /home/user/arouteserver/clients.yml
Generate GoBGP config
$ ./scripts/arouteserver gobgp --cfg /home/user/arouteserver/arouteserver.yml --ip-ver 4 -o /tmp/gobgp_with_filters.conf