---
title: RTR Server arguments
+command: rpki_validator
---
# {{ page.title }}
+## Index
+
+1. [Syntax](#syntax)
+1. [Arguments](#arguments)
+ 1. [`-f`](#-f)
+1. [Configuration file](#configuration-file)
+ 1. [`listen`](#listen)
+ 1. [`address`](#address)
+ 1. [`port`](#port)
+ 1. [`queue`](#queue)
+ 1. [`vrps`](#vrps)
+ 1. [`location`](#location)
+ 1. [`checkInterval`](#checkinterval)
+
+## Syntax
+
+```
+{{ page.command }}
+ [-f]
+```
+
+If an argument is declared more than once, the last one takes precedence:
+
+{% highlight bash %}
+$ {{ page.command }} -f="/foo.bar" # f is "foo.bar"
+$ {{ page.command }} -f="/foo.bar" -f="/bar.baz" # f is "bar.baz"
+$ {{ page.command }} -f="/foo.bar" -f="/bar.baz" -f="/baz.qux" # f is "baz.qux"
+{% endhighlight %}
+
+
+## Arguments
+
+### `-f`
+
+- **Type:** String (Path to file)
+- **Required:** Yes
+
+Path to the configuration file. The configuration file must be in JSON format and with the structure as stated in [Configuration file](#configuration-file).
+
+## Configuration file
+
+The configuration file must be in JSON format, and must have the following structure:
+
+```javascript
+{
+ "listen": {
+ "address": "<string>",
+ "port": "<string>",
+ "queue": <numeric>
+ },
+ "vrps": {
+ "location": "<string>",
+ "checkInterval": <numeric>
+ }
+}
+```
+
+The server has default values for the configuration, all of them stated at each of the following sections.
+
+If a property is set at the configuration file, its value will override the default value. If a property is required, then its value MUST be set at the configuration file.
+
+### `listen`
+
+Property to set values related to the service that'll be configured to listen RTR clients (routers). It has 3 attributes:
+- [`address`](#address)
+- [`port`](#port)
+- [`queue`](#queue)
+
+#### `address`
+
+- **Type:** String
+- **Default:** `NULL`
+- **Required:** No
+
+Hostname or numeric host address where the server will be binded, listening to client requests.
+
+If the address is left with 'NULL' value (default value), the service will be binded to `INADDR_ANY` or `IN6ADDR_ANY_INIT`.
+
+#### `port`
+
+- **Type:** String
+- **Default:** `323`
+- **Required:** No
+
+Port or service where the server will be binded. A service alias can be set as a valid value; the alias are commonly located at `etc/services` (read more using '`$ man services`').
+
+>  If the default port will be used to start the server, a superuser MUST start the service since this is a privileged port.
+
+#### `queue`
+
+- **Type:** Numeric (integer value)
+- **Default:** `10`
+- **Required:** No
+
+Number of client connections that will be queued before starting to refuse new ones.
+
+The value must be between 1 and `SOMAXCONN` (read more using '`$ man listen`').
+
+### `vrps`
+
+Property to set values related to the main RTR server input: the validated ROAs generated by the FORT validator. It has 2 attributes:
+- [`location`](#location)
+- [`checkInterval`](#checkinterval)
+
+#### `location`
+
+- **Type:** String
+- **Default:** `NULL`
+- **Required:** Yes
+
+Path to the CSV file with validated ROAs. This file is the one generated by the FORT validator.
+
+#### `checkInterval`
+
+- **Type:** Numeric (integer value)
+- **Default:** `60`
+- **Required:** No
+
+Time interval in seconds to seek for updates at the `vrps.location` configured, must have a value between 60 and 7200 (2 hours).
+
+The default value (and minimum value as well) is set to honour RFC 6810 requirement on Serial Notify PDUs:
+
+> "The cache MUST rate limit Serial Notifies to no more frequently than one per minute"
+