Skip to content
This repository has been archived by the owner on Apr 22, 2020. It is now read-only.

router.ini file

Lisa Roach edited this page Sep 28, 2016 · 3 revisions

Configuring exaBGP

Confused about the router.ini file? Interested in learning more about exaBGP? This is the wiki page for you!

Check out exaBGP's Wiki for more information direct from the source.

Let's take a look at an example file:

group demo {
        router-id 11.1.1.10;

        process monitor-neighbors {
            encoder json;
            receive {
                parsed;
                updates;
                neighbor-changes;
            }
            run /usr/bin/env python /home/ubuntu/Solenoid/solenoid/edit_rib.py -f '/home/ubuntu/Solenoid/filter.txt';
        }

        neighbor 11.1.1.20 {
                local-address 11.1.1.10;
                local-as 65000;
                peer-as 65000;
        }
}

Let's break down what this file is doing.

group demo {

Defines the exaBGP group, we can have multiple groups doing different things. We only need one group for our purposes.

router-id 11.1.1.10;

Our current router's (the xrv's) ip address.

process monitor-neighbors {

Review exaBGP's documentation for more details on controlling exaBGP. The options for process are documented here.

encoder json;

We want our data to be encoded in JSON.

receive {
         parsed;
         updates;
         neighbor-changes;
}

We want to receive parsed data of update type as well as neighbor-changes (connections to and dropped from the neighbor).

run /usr/bin/env python /home/ubuntu/Solenoid/solenoid/edit_rib.py -f /home/ubuntu/Solenoid/filter.txt;

This line runs a custom script. The /usr/bin/env python is the path to my python instance. If you were running a bash file, something like /bin/bash/ might be more appropriate.

/home/ubuntu/Solenoid/solenoid/edit_rib.py is the file that launches Solenoid. Solenoid can receive as an argument a file (hence the -f denotation). That file will be used for filtering, so -f /home/ubuntu/Solenoid/filter.txt tells Solenoid to look in the filter.txt file for filtering information.

neighbor 11.1.1.20 {

The BGP neighbor's address.

local-address 11.1.1.10;

The current router's IP.

local-as 65000;

The BGP AS of your current BGP instance.

peer-as 65000;

The AS of the BGP neighbor. EBGP and IBGP are supported with exaBGP.

Clone this wiki locally