# ====================================== # Alice-LG configuration example # ====================================== [server] # configures the built-in webserver and provides global application settings listen_http = 127.0.0.1:7340 # configures the built-in webserver timeout in seconds (default 120s) # http_timeout = 60 # enable the prefix-lookup endpoint / the global search feature enable_prefix_lookup = true # Try to refresh the neighbor status on every request to /neighbors enable_neighbors_status_refresh = false # this ASN is used as a fallback value in the RPKI feature and for route # filtering evaluation with large BGP communities asn = 9033 store_backend = postgres # how many route servers will be refreshed at the same time # if set to 0 (or for the matter of fact 1), refresh will be # sequential. # Default: 1 routes_store_refresh_parallelism = 5 neighbors_store_refresh_parallelism = 10000 # how much time should pass between refreshes (in minutes) # Default: 5 routes_store_refresh_interval = 5 neighbors_store_refresh_interval = 5 [postgres] url = "postgres://postgres:postgres@localhost:5432/alice" min_connections = 2 max_connections = 128 [housekeeping] # Interval for the housekeeping routine in minutes interval = 5 # Try to release memory via a forced GC/SCVG run on every housekeeping run force_release_memory = true [theme] path = /path/to/my/alice/theme/files # Optional: url_base = /theme [pagination] # Routes tables can be paginated, which comes in handy with # peers announcing a lot of routes. Set to 0 to disable # pagination. routes_filtered_page_size = 250 routes_accepted_page_size = 250 routes_not_exported_page_size = 250 [rejection_reasons] # a pair of a large BGP community value and a string to signal the processing # results of route filtering 9033:65666:1 = An IP Bogon was detected 9033:65666:2 = Prefix is longer than 64 9033:65666:3 = Prefix is longer than 24 9033:65666:4 = AS path contains a bogon AS 9033:65666:5 = AS path length is longer than 64 9033:65666:6 = First AS in path is not the same as the Peer AS 9033:65666:7 = ECIX prefix hijack 9033:65666:8 = Origin AS not found in IRRDB for Peer AS-SET 9033:65666:9 = Prefix not found in IRRDB for Origin AS 9033:65666:10 = Advertised nexthop address is not the same as the peer 23:42:1 = Some made up reason # # Optional: Define communities which might be filtered # in the future. [rejection_candidates] communities = 6695:1102:14, 6695:1102:15, 23:42:46 [noexport] load_on_demand = true # Default: false [noexport_reasons] # a pair of a large BGP community value and a string to signal the processing # results of route distribution and the distribution policy applied to a route 9033:65667:1 = The target peer policy is Fairly-open and the sender ASN is an exception 9033:65667:2 = The target peer policy is Selective and the sender ASN is no exception 9033:65667:3 = The target peer policy is set to restrictive 9033:65667:4 = The sender has specifically refused export to the target peer, either through sending 65000:AS, or through the portal 9033:65667:5 = The sender has refused export to all peers and the target is no exception, either through sending 65000:0, or through the portal 9033:65667:6 = The Sender has set (peerRTTHigherDeny:ms) and the targets RTT ms >= then the ms in the community 9033:65667:7 = The Sender has set (peerRTTLowerDeny:ms) and the targets RTT ms <= then the ms in the community 23:46:1 = Some other made up reason [rpki] # shows rpki validation status in the client, based on the presence of a large # BGP community on the route enabled = true # Optional, falling back to defaults as defined in: # https://www.euro-ix.net/en/forixps/large-bgp-communities/ valid = 23042:1000:1 unknown = 23042:1000:2 # not_checked = 23042:1000:3 invalid = 23042:1000:4-* # Define other known bgp communities [bgp_communities] 1:23 = some tag 9033:65666:1 = ip bogon detected # Wildcards are supported aswell: 0:* = do not redistribute to AS$1 # # Define columns for neighbours and routes table, # with = # # and := Implicitly referencing the object, # e.g. route.bgp.as_path -> bgp.as_path) # |= A widget with special rendering features, # to which the object is applied. E.g. # Uptime, which will be rendered as # Uptime(neighbour). # # As per convention: Widgets are in Uppercase, object properties are # in lowercase. # # Available Widgets for Neighbours: # # Uptime Displays the relative uptime of this neighbour # Description The neighbour's description with link to routes page # [neighbours_columns] address = Neighbour asn = ASN state = State Uptime = Uptime Description = Description routes_received = Routes Received routes_filtered = Filtered # [routes_columns] flags = network = Network gateway = Gateway interface = Interface metric = Metric bgp.as_path = AS Path [lookup_columns] flags = network = Network gateway = Gateway neighbour.asn = ASN neighbour.description = Description bgp.as_path = AS Path routeserver.name = RS # Routeservers # Birdwatcher Example [source.rs0-example-v4] name = rs1.example.com (IPv4) # Optional: a group for the routeservers list group = FRA blackholes = 10.23.6.666, 10.23.6.665 [source.rs0-example-v4.birdwatcher] api = http://rs1.example.com:29184/ # single_table / multi_table type = multi_table main_table = master4 # default is master in bird1x peer_table_prefix = T pipe_protocol_prefix = M # Timeout in seconds to wait for the status data (only required if enable_neighbors_status_refresh is true) neighbors_refresh_timeout = 2 # Optional: show_last_reboot = true [source.rs1-example-v6] name = rs1.example.com (IPv6) [source.rs1-example-v6.birdwatcher] timezone = Europe/Brussels api = http://rs1.example.com:29186/ # single_table / multi_table type = multi_table peer_table_prefix = T pipe_protocol_prefix = M # Configure optional alternative pipes # alt_pipe_protocol_prefix = "C" # alt_pipe_protocol_suffix = "_lg" # Timeout in seconds to wait for the status data (only required if enable_neighbors_status_refresh is true) neighbors_refresh_timeout = 2 # Optional: Examples for time format # Please see https://golang.org/pkg/time/#pkg-constants for an # explanation on how time parsing in go works. servertime = 2006-01-02T15:04:05Z07:00 servertime_short = 02.01.2006 servertime_ext = Mon, 02 Jan 2006 15:04:05 -0700 # Routeservers # GoBGP Example # [source.rs2-example] # name = rs2.example.com # group = AMS # [source.rs2-example.gobgp] # host is the IP (or DNS name) and port for the remote GoBGP daemon # host = rs2.example.com:50051 # Optional: processing_timeout is a timeout in seconds # configured per gRPC call to a given GoBGP daemon. # Default: 300 # processing_timeout = 300 # [source.rs0-example] # name = rs-example.openbgpd-state-server # [source.rs0-example.openbgpd-state-server] # api = http://165.22.27.105:29111/api # Cache results from openbgpd for n seconds, 0 disables the cache. # cache_ttl = 30 # routes_cache_size = 1024 # Neighbors # [source.rs0-example-bgplgd] # name = rs-example.bgplgd # [source.rs0-example-bgplgd.openbgpd-bgplgd] # api = http://165.22.27.105:29111/api