Introduction

Warning

The current configuration setup of Rotonda has serious shortcomings. It will very likely change drastically in the near future.

Built-in vs file-based configuration

When Rotonda is compiled, a configuration is built in. The built-in configuration is used when no configuration file is specified when invoking rotonda on the command line with the -c option. You can see the details of the built-in configuration by issuing rotonda --print-config-and-exit on the command line.

If you’ve installed Rotonda through a binary package, the built-in configuration is roughly equivalent to the file you will find in /etc/rotonda/rotonda.conf.

When running with the built-in configuration Rotonda will look for the roto filter scripts in the absolute path /etc/rotonda/filters/. If that directory can not be found, or the required filters cannot be found in that path, no filter scripts can be loaded resulting in a filter-less, accept-everything Rotonda instance.

In contrast: if you are starting Rotonda with an explicit configuration file, by invoking the -c option, and the roto_scripts_path in that configuration file cannot be found, or the required filters cannot be found, then Rotonda will not start.

Tip

the built-in configuration and the configuration files included in the package will look in the absolute path /etc/rotonda/filters/ by default.

Tip

When compiling from source, the file in the repository in etc/rotonda/rotonda.builtin.conf is used to create the built-in configuration. Note that if you comment out the [targets.mqtt] section, mqtt functionality will not be available in the Rotonda build you are going to compile based on it.

This only applies to building with cargo build --release, not cargo install.

Completing the configuration file

The /etc/rotonda/rotonda.conf configuration file that comes with the packaged version of Rotonda is not complete, and Rotonda will abort if you try to use it as-is. You will have to edit it and at the very least fill out the values in the [targets.mqtt] section. Probably you’ll also want to edit the fields my_asn and my_bgp_id in the [units.bgp-in] section.