On this page

Configuration

Config

peeringdb-query-timeout

PeeringDB query timeout in seconds

Type Default Validation
uint 10

peeringdb-api-key

PeeringDB API key

Type Default Validation
string

peeringdb-cache

Global option to cache PeeringDB network records in memory for the duration of a single run, so peers with the same ASN only query PeeringDB once (this does not disable PeeringDB queries; to stop querying PeeringDB for a peer, disable auto-import-limits and auto-as-set on that peer)

Type Default Validation
bool true

irr-query-timeout

IRR query timeout in seconds

Type Default Validation
uint 30

bird-directory

Directory to store BIRD configs

Type Default Validation
string /etc/bird/

bird-binary

Path to BIRD binary

Type Default Validation
string /usr/sbin/bird

metrics-listen

Listen address for the Prometheus metrics endpoint used by pathvector metrics (e.g. 127.0.0.1:9517; empty uses the --listen default)

Type Default Validation
string

bird-socket

UNIX control socket for BIRD

Type Default Validation
string /run/bird/bird.ctl

backend

Routing daemon backend: bird, cairn or frr

Type Default Validation
string bird

cairn-directory

Directory for Cairn configuration files (cairnd.toml, policy.conf, staticd.toml)

Type Default Validation
string /etc/cairn/

cairnd-binary

Path to the cairnd binary

Type Default Validation
string /usr/sbin/cairnd

cairnctrl-binary

Path to the cairnctrl binary

Type Default Validation
string /usr/bin/cairnctrl

cairn-socket

UNIX control socket for cairnd

Type Default Validation
string /run/cairn/cairnd.sock

staticd-binary

Path to the staticd binary

Type Default Validation
string /usr/sbin/staticd

frr-directory

Directory for FRR configuration files

Type Default Validation
string /etc/frr/

vtysh-binary

Path to the vtysh binary

Type Default Validation
string /usr/bin/vtysh

cache-directory

Directory to store runtime configuration cache

Type Default Validation
string /var/run/pathvector/cache/

keepalived-config

Configuration file for keepalived

Type Default Validation
string /etc/keepalived.conf

web-ui-file

File to write web UI to (disabled if empty)

Type Default Validation
string

log-file

Log file location

Type Default Validation
string syslog

global-config

Global BIRD configuration

Type Default Validation
string

device-scan-time

Time in seconds between interface scans of the BIRD device protocol (BIRD default if 0)

Type Default Validation
int 0

Should the BIRD direct protocol only import routes of interfaces with link up? (check link)

Type Default Validation
bool false

disable-protocols

Built-in BIRD protocols to leave out of the configuration so they can be defined in global-config or manual*.conf instead (device, direct, kernel4, kernel6)

Type Default Validation
[]string

peeringdb-url

PeeringDB API URL, can be set to a local PeeringDB cache server

Type Default Validation
string https://pdb.irrd3.net/api

blocklist

List of ASNs, prefixes, and IP addresses to block

Type Default Validation
[]string

blocklist-urls

List of URLs to fetch blocklists from

Type Default Validation
[]string

blocklist-files

List of files to fetch blocklists from

Type Default Validation
[]string

communities

Map of community names to standard or large communities, names can be used in place of communities in any community option

Type Default Validation
map[string]string

origin-communities

List of communities to accept as locally originated routes

Type Default Validation
[]string

local-communities

List of communities to add to locally originated prefixes

Type Default Validation
[]string

add-on-import

List of communities to add to all imported routes

Type Default Validation
[]string

add-on-export

List of communities to add to all exported routes

Type Default Validation
[]string

hostname

Router hostname (default system hostname)

Type Default Validation
string

asn

Autonomous System Number

Type Default Validation
int 0 required

prefixes

List of prefixes to announce

Type Default Validation
[]string

router-id

Router ID (dotted quad notation)

Type Default Validation
string required

irr-server

Internet routing registry server

Type Default Validation
string irr.irrd3.net

rtr-server

RPKI-to-router server

Type Default Validation
string rtr.irrd3.net:3233

bgpq-args

Additional command line arguments to pass to bgpq4

Type Default Validation
string

keep-filtered

Should filtered routes be kept in memory?

Type Default Validation
bool false

merge-paths

Should best and equivalent non-best routes be imported to build ECMP routes?

Type Default Validation
bool false

source4

Source IPv4 address of BGP routes installed in the kernel (krt_prefsrc), can be overridden per peer

Type Default Validation
string

source6

Source IPv6 address of BGP routes installed in the kernel (krt_prefsrc), can be overridden per peer

Type Default Validation
string

default-route

Add a default route

Type Default Validation
bool true

accept-default

Should default routes be accepted from peers? When false, default routes are rejected by filter-prefix-length. When true, learned default routes are preferred over the locally generated default route and installed in the kernel.

Type Default Validation
bool false

rpki-enable

Enable RPKI protocol

Type Default Validation
bool true

transit-asns

List of ASNs to consider transit providers for filter-transit-asns (default list in config)

Type Default Validation
[]uint32

bogons4

List of IPv4 bogons (default list in config)

Type Default Validation
[]string

bogons6

List of IPv6 bogons (default list in config)

Type Default Validation
[]string

bogon-asns

List of ASNs to consider bogons (default list in config)

Type Default Validation
[]string

blackhole-bogon-asns

Should routes containing bogon ASNs be blackholed?

Type Default Validation
bool false

no-announce

Don't announce any routes to any peer

Type Default Validation
bool false

no-accept

Don't accept any routes from any peer

Type Default Validation
bool false

stun

Don't accept or announce any routes from any peer (sets no-announce and no-accept)

Type Default Validation
bool false

authorized-providers

Map of origin ASN to authorized provider ASN list

Type Default Validation
map[uint32][]uint32

peers

BGP peer configuration

Type Default Validation
map[string]Peer

templates

BGP peer templates

Type Default Validation
map[string]Peer

vrrp

List of VRRP instances

Type Default Validation
map[string]VRRPInstance

bfd

BFD instances

Type Default Validation
map[string]BFDInstance

mrt

MRT instances

Type Default Validation
map[string]MRTInstance

kernel

Kernel routing configuration options

Type Default Validation
Kernel

optimizer

Route optimizer options

Type Default Validation
Optimizer

plugins

Plugin-specific configuration

Type Default Validation
map[string]string

BFDInstance

neighbor

Neighbor IP address

Type Default Validation
string

interface

Interface (pattern accepted)

Type Default Validation
string

interval

RX and TX interval

Type Default Validation
uint 200

multiplier

Number of missed packets for the state to be declared down

Type Default Validation
uint 10

Kernel

accept4

List of BIRD protocols to import into the IPv4 table

Type Default Validation
[]string

accept6

List of BIRD protocols to import into the IPv6 table

Type Default Validation
[]string

reject4

List of BIRD protocols to not import into the IPv4 table

Type Default Validation
[]string

reject6

List of BIRD protocols to not import into the IPv6 table

Type Default Validation
[]string

statics

List of static routes to include in BIRD (always exported to the kernel, BIRD protocols statics4 and statics6)

Type Default Validation
map[string]string

srd-communities

List of communities to filter routes exported to kernel (if list is not empty, all other prefixes will not be exported)

Type Default Validation
[]string

learn

Should routes from the kernel be learned into BIRD?

Type Default Validation
bool false

export

Export routes to kernel routing table

Type Default Validation
bool true

reject-connected

Don't export connected routes (RTS_DEVICE) to kernel?'

Type Default Validation
bool false

table

Kernel table

Type Default Validation
int

tables

Additional kernel tables to export routes to, with the same export policy as the main kernel table (BIRD protocols kernel4_tableN and kernel6_tableN)

Type Default Validation
[]int

scan-time

Time in seconds between scans of the kernel routing table

Type Default Validation
int 10

MRTInstance

file

File to store MRT dumps (supports strftime replacements and %N as table name)

Type Default Validation
string /var/log/bird/%N%F%T.mrt

interval

Number of seconds between dumps

Type Default Validation
uint 300

table

Routing table to read from

Type Default Validation
string

Optimizer

targets

List of probe targets

Type Default Validation
[]string

latency-threshold

Maximum allowable latency in milliseconds

Type Default Validation
uint 100

packet-loss-threshold

Maximum allowable packet loss (percent)

Type Default Validation
float64 0.5

modifier

Amount to lower local pref by for depreferred peers

Type Default Validation
uint 20

probe-count

Number of pings to send in each run

Type Default Validation
int 5

probe-timeout

Number of seconds to wait before considering the ICMP message unanswered

Type Default Validation
int 1

probe-interval

Number of seconds wait between each optimizer run

Type Default Validation
int 120

cache-size

Number of probe results to store per peer

Type Default Validation
int 15

probe-udp

Use UDP probe (else ICMP)

Type Default Validation
bool false

alert-script

Script to call on optimizer event

Type Default Validation
string

exit-on-cache-full

Exit optimizer on cache full

Type Default Validation
bool false

Peer

template

Configuration template (templates may also set a parent template)

Type Default Validation
string

merge-template-lists

Merge list and map options configured on both this peer and its template instead of replacing the template's value (lists are appended to the template's, map entries override the template's)

Type Default Validation
bool

description

Peer description

Type Default Validation
string

tags

Peer tags

Type Default Validation
[]string

disabled

Should the sessions be disabled?

Type Default Validation
bool false

import

Import routes from this peer

Type Default Validation
bool true

export

Export routes to this peer

Type Default Validation
bool true

asn

Local ASN

Type Default Validation
int 0 required

neighbors

List of neighbor IPs

Type Default Validation
[]string required,ip

prepends

Number of times to prepend local AS on export

Type Default Validation
int 0

prepend-path

List of ASNs to prepend

Type Default Validation
[]uint32

clear-path

Remove all ASNs from path (before prepends and prepend-path)

Type Default Validation
bool false

local-pref

BGP local preference

Type Default Validation
int 100

local-pref4

IPv4 BGP local preference (overrides local-pref, not included in optimizer)

Type Default Validation
int

local-pref6

IPv6 BGP local preference (overrides local-pref, not included in optimizer)

Type Default Validation
int

set-local-pref

Should an explicit local pref be set? (iBGP sessions without local-pref, local-pref4/6 or set-local-pref configured keep the local pref received from the neighbor)

Type Default Validation
bool true

multihop

Should BGP multihop be enabled? (255 max hops)

Type Default Validation
bool false

listen4

IPv4 BGP listen address (local address the session is sourced from)

Type Default Validation
string

listen6

IPv6 BGP listen address (local address the session is sourced from)

Type Default Validation
string

source4

Source IPv4 address of routes from this peer installed in the kernel (overrides the global source4)

Type Default Validation
string

source6

Source IPv6 address of routes from this peer installed in the kernel (overrides the global source6)

Type Default Validation
string

local-asn

Local ASN as defined in the global ASN field

Type Default Validation
int

local-port

Local TCP port

Type Default Validation
int 179

neighbor-port

Neighbor TCP port

Type Default Validation
int 179

passive

Should we listen passively?

Type Default Validation
bool false

direct

Specify that the neighbor is directly connected

Type Default Validation
bool false

next-hop-self

Should BGP next-hop-self be enabled?

Type Default Validation
bool false

next-hop-self-ebgp

Should BGP next-hop-self for eBGP be enabled?

Type Default Validation
bool false

next-hop-self-ibgp

Should BGP next-hop-self for iBGP be enabled?

Type Default Validation
bool false

extended-next-hop

Should RFC 8950 extended next hop encoding be enabled?

Type Default Validation
bool false

bfd

Should BFD be enabled?

Type Default Validation
bool false

password

BGP MD5 password

Type Default Validation
string

password-file

Read the BGP MD5 password from this file instead of embedding it in the config (used only when password is unset)

Type Default Validation
string

password-env

Read the BGP MD5 password from this environment variable (used only when password is unset)

Type Default Validation
string

rs-client

Should this peer be a route server client?

Type Default Validation
bool false

rr-client

Should this peer be a route reflector client?

Type Default Validation
bool false

remove-private-asns

Should private ASNs be removed from path before exporting?

Type Default Validation
bool true

l3vpn

Should VPNv4 and VPNv6 (MPLS L3VPN, RFC 4364) routes be exchanged with this peer? Routes are kept in the vpntab4 and vpntab6 tables, e.g. for a route reflector

Type Default Validation
bool false

mp-unicast-46

Should this peer be configured with multiprotocol IPv4 and IPv6 unicast?

Type Default Validation
bool false

allow-local-as

Should routes originated by the local ASN be accepted?

Type Default Validation
bool false

add-path-tx

Enable BGP additional paths on export?

Type Default Validation
bool false

add-path-rx

Enable BGP additional paths on import?

Type Default Validation
bool false

gateway

BGP gateway mode, 'direct' or 'recursive' (BIRD defaults to direct for directly connected eBGP neighbors and recursive otherwise)

Type Default Validation
string

cost

Distance (IGP metric) to the BGP next hop for sessions in direct gateway mode (mainly direct sessions), used in best path selection in place of the IGP metric

Type Default Validation
int

import-next-hop

Rewrite the BGP next hop before importing routes learned from this peer

Type Default Validation
string

export-next-hop

Rewrite the BGP next hop before announcing routes to this peer

Type Default Validation
string

confederation

BGP confederation (RFC 5065)

Type Default Validation
int

confederation-member

Should this peer be a member of the local confederation?

Type Default Validation
bool false

ttl-security

RFC 5082 Generalized TTL Security Mechanism

Type Default Validation
bool false

interpret-communities

Should well-known BGP communities be interpreted by their intended action?

Type Default Validation
bool true

default-local-pref

Default value for local preference

Type Default Validation
int

Advertise hostname capability

Type Default Validation
bool false

disable-after-error

Disable peer after error

Type Default Validation
bool false

prefer-older-routes

Prefer older routes instead of comparing router IDs (RFC 5004)

Type Default Validation
bool false

irr-accept-child-prefixes

Accept prefixes up to /24 and /48 from covering parent IRR objects

Type Default Validation
bool false

irr-prefix-length4

Override the IPv4 max prefix length bound used with irr-accept-child-prefixes (bgpq4 -R; default 32)

Type Default Validation
int

irr-prefix-length6

Override the IPv6 max prefix length bound used with irr-accept-child-prefixes (bgpq4 -R; default 128)

Type Default Validation
int

add-on-import

List of communities to add to all imported routes

Type Default Validation
[]string

add-on-export

List of communities to add to all exported routes

Type Default Validation
[]string

announce

Announce all routes matching these communities to the peer

Type Default Validation
[]string

remove-communities

List of communities to remove before from routes announced by this peer

Type Default Validation
[]string

remove-all-communities

Remove all standard and large communities beginning with this value

Type Default Validation
int

as-prefs

Map of ASN to import local pref (not included in optimizer)

Type Default Validation
map[uint32]uint32

as-prefs4

Map of ASN to import local pref for IPv4 routes (overrides as-prefs, not included in optimizer)

Type Default Validation
map[uint32]uint32

as-prefs6

Map of ASN to import local pref for IPv6 routes (overrides as-prefs, not included in optimizer)

Type Default Validation
map[uint32]uint32

prefix-prefs

Map of prefix (BIRD prefix pattern, IPv4 and IPv6 may be mixed) to import local pref (not included in optimizer, takes precedence over as-prefs and community-prefs)

Type Default Validation
map[string]uint32

community-prefs

Map of community to import local pref (not included in optimizer, as-prefs take precedence)

Type Default Validation
map[string]uint32

as-set

Peer's as-set for filtering

Type Default Validation
string

import-limit4

Maximum number of IPv4 prefixes to import after filtering

Type Default Validation
int 1500000

import-limit6

Maximum number of IPv6 prefixes to import after filtering

Type Default Validation
int 1000000

import-limit-violation

What action should be taken when the import limit is tripped?

Type Default Validation
string disable

receive-limit4

Maximum number of IPv4 prefixes to accept (including filtered routes, requires keep-filtered)

Type Default Validation
int

receive-limit6

Maximum number of IPv6 prefixes to accept (including filtered routes, requires keep-filtered)

Type Default Validation
int

receive-limit-violation

What action should be taken when the receive limit is tripped?

Type Default Validation
string disable

export-limit4

Maximum number of IPv4 prefixes to export

Type Default Validation
int

export-limit6

Maximum number of IPv6 prefixes to export

Type Default Validation
int

export-limit-violation

What action should be taken when the export limit is tripped?

Type Default Validation
string disable

enforce-first-as

Should we only accept routes who's first AS is equal to the configured peer address?

Type Default Validation
bool true

enforce-peer-nexthop

Should we only accept routes with a next hop equal to the configured neighbor address?

Type Default Validation
bool true

force-peer-nexthop

Rewrite nexthop to peer address

Type Default Validation
bool false

allow-blackhole-community

Should this peer be allowed to send routes with the blackhole community? (Blackholed /32 and /128 routes are exempt from filter-prefix-length)

Type Default Validation
bool false

blackhole-in

Should imported routes be blackholed?

Type Default Validation
bool false

blackhole-out

Should exported routes be blackholed?

Type Default Validation
bool false

filter-irr

Should IRR filtering be applied?

Type Default Validation
bool false

filter-rpki

Should RPKI invalids be rejected?

Type Default Validation
bool true

strict-rpki

Should only RPKI valids be accepted?

Type Default Validation
bool false

filter-max-prefix

Should max prefix filtering be applied?

Type Default Validation
bool true

filter-bogon-routes

Should bogon prefixes be rejected?

Type Default Validation
bool true

filter-bogon-asns

Should paths containing a bogon ASN be rejected?

Type Default Validation
bool true

filter-transit-asns

Should paths containing transit-free ASNs be rejected? (Peerlock Lite)'

Type Default Validation
bool false

filter-prefix-length

Should too large/small prefixes (IPv4 8 > len > 24 and IPv6 12 > len > 48) be rejected?

Type Default Validation
bool true

filter-never-via-route-servers

Should routes containing an ASN reported in PeeringDB to never be reachable via route servers be filtered?

Type Default Validation
bool false

filter-as-set

Reject routes that aren't originated by an ASN within this peer's AS set

Type Default Validation
bool false

filter-aspa

Reject routes that aren't originated by an ASN within the authorized-providers map

Type Default Validation
bool false

filter-blocklist

Reject ASNs, prefixes, and IPs in the global blocklist

Type Default Validation
bool true

transit-lock

Reject routes that aren't transited by an AS in this list

Type Default Validation
[]string

dont-announce

Don't announce these prefixes to the peer (IPv4 and IPv6 may be mixed)

Type Default Validation
[]string

only-announce

Only announce these prefixes to the peer (IPv4 and IPv6 may be mixed, an address family with no prefixes in the list will not be announced)

Type Default Validation
[]string

prefix-communities

Map of prefix to community list to add to the prefix

Type Default Validation
map[string][]string

auto-import-limits

Get import limits automatically from PeeringDB?

Type Default Validation
bool false

auto-as-set

Get as-set automatically from PeeringDB? If no as-set exists in PeeringDB, a warning will be shown and the peer ASN used instead.

Type Default Validation
bool false

auto-as-set-members

Get AS set members automatically from the peer's IRR as-set? (independent from auto-as-set)

Type Default Validation
bool false

verify-irr-policy

Check the peer's aut-num object in the IRR (irr-server whois) for import (from us ... accept) and export (to us ... announce) policy, with us listed directly or through an as-set, and disable the peer if it's missing. Checked for each address family the peer has neighbors in; as there's one disabled flag per peer, the whole peer is disabled if any of them lacks policy. If the IRR can't be queried, a warning is shown and the peer is left as configured.

Type Default Validation
bool false

honor-graceful-shutdown

Should RFC8326 graceful shutdown be enabled?

Type Default Validation
bool true

prefixes

Prefixes to accept

Type Default Validation
[]string

as-set-members

AS set members (For filter-as-set)

Type Default Validation
[]uint32

role

RFC 9234 Local BGP role

Type Default Validation
string

require-roles

Require RFC 9234 BGP roles

Type Default Validation
bool false

announce-default

Should a default route be exported to this peer?

Type Default Validation
bool false

announce-originated

Should locally originated routes be announced to this peer?

Type Default Validation
bool true

announce-all

Should all routes be exported to this peer?

Type Default Validation
bool false

session-global

Configuration to add to each session before any defined BGP protocols

Type Default Validation
string

pre-import-filter

Configuration to add before the filtering section of the import policy

Type Default Validation
string

post-import-filter

Configuration to add after the filtering section of the import filter

Type Default Validation
string

pre-import-accept

Configuration to add immediately before the final accept term import

Type Default Validation
string

pre-export

Configuration to add before the export policy

Type Default Validation
string

pre-export-final

Configuration to add after the export policy before the final accept/reject term

Type Default Validation
string

probe-sources

Optimizer probe source addresses

Type Default Validation
[]string

optimize-inbound

Should the optimizer modify inbound policy?

Type Default Validation
bool false

VRRPInstance

state

VRRP instance state ('primary' or 'backup')

Type Default Validation
string required

interface

Interface to send VRRP packets on

Type Default Validation
string required

vrid

RFC3768 VRRP Virtual Router ID (1-255)

Type Default Validation
uint required

priority

RFC3768 VRRP Priority

Type Default Validation
uint required

vips

List of virtual IPs

Type Default Validation
[]string required,cidr

vip-interface

Interface to bind virtual IPs to (defaults to the VRRP interface)

Type Default Validation
string