2 * This is an example configuration file.
5 # Yes, even shell-like comments work...
8 #log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
13 #router id 198.51.100.1;
15 # You can define your own symbols...
16 #define xyzzy = (120+10);
17 #define '1a-a1' = (30+40);
19 # Define a route filter...
21 # if net ~ 10.0.0.0/16 then accept;
25 #filter sink { reject; }
26 #filter okay { accept; }
28 #include "filters.conf";
30 # Define another routing table
33 # Turn on global debugging of all protocols
36 # The direct protocol automatically generates device routes to
37 # all network interfaces. Can exist in as many instances as you wish
38 # if you want to populate multiple routing tables with device routes.
40 # interface "-eth*", "*"; # Restrict network interfaces it works with
43 # This pseudo-protocol performs synchronization between BIRD's routing
44 # tables and the kernel. If your kernel supports multiple routing tables
45 # (as Linux 2.2.x does), you can run multiple instances of the kernel
46 # protocol and synchronize different kernel tables with different BIRD tables.
48 # learn; # Learn all alien routes from the kernel
49 persist; # Don't remove routes on bird shutdown
50 scan time 20; # Scan kernel routing table every 20 seconds
51 # import none; # Default is import all
52 export all; # Default is export none
53 # kernel table 5; # Kernel table to synchronize with (default: main)
56 # This pseudo-protocol watches all interface up/down events.
58 scan time 10; # Scan interfaces every 10 seconds
61 # Static routes (again, there can be multiple instances, so that you
62 # can disable/enable various groups of static routes on the fly).
64 # disabled; # Disable by default
65 # table testable; # Connect to a non-default table
66 # preference 1000; # Default preference of routes
67 # debug { states, routes, filters, interfaces, events, packets };
69 # route 0.0.0.0/0 via 198.51.100.13;
70 # route 198.51.100.0/25 unreachable;
71 # route 10.0.0.0/8 unreachable;
72 # route 10.1.1.0:255.255.255.0 via 198.51.100.3;
73 # route 10.1.2.0:255.255.255.0 via 198.51.100.3;
74 # route 10.1.3.0:255.255.255.0 via 198.51.100.4;
75 # route 10.2.0.0/24 via "arc0";
78 # Pipe protocol connects two routing tables... Beware of loops.
80 # peer table testable;
81 # Define what routes do we export to this protocol / import from it.
82 # import all; # default is all
83 # export all; # default is none
84 # import none; # If you wish to disable imports
85 # import filter test_filter; # Use named filter
86 # import where source = RTS_DEVICE; # Use explicit filter
89 # RIP aka Rest In Pieces...
90 #protocol rip MyRIP { # You can also use an explicit name
97 # interface "*" { mode broadcast; };
98 # honor neighbor; # To whom do we agree to send the routing table
104 # authentication none;
105 # import filter { print "importing"; accept; };
106 # export filter { print "exporting"; accept; };
109 #protocol ospf MyOSPF {
122 # authentication simple;
134 # strict nonbroadcast yes;
140 # generate to "22-04-2003 11:00:06";
141 # accept to "17-01-2004 12:01:05";
145 # generate from "22-04-2003 11:00:07";
146 # accept from "17-01-2003 12:01:05";
149 # authentication cryptographic;
156 # authentication none;
159 # virtual link 192.168.0.1 {
160 # password "sdsdffsdfg";
161 # authentication cryptographic;
169 # description "My BGP uplink";
171 # neighbor 198.51.100.130 as 64496;
174 # startup hold time 240;
175 # connect retry time 120;
176 # keepalive time 80; # defaults to hold time / 3
177 # start delay time 5; # How long do we wait before initial connect
178 # error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
179 # # errors occur, we increase the delay exponentially ...
180 # error forget time 300; # ... until this timeout expires)
181 # disable after error; # Disable the protocol automatically when an error occurs
182 # next hop self; # Disable next hop processing and always advertise our local address as nexthop
183 # path metric 1; # Prefer routes with shorter paths (like Cisco does)
184 # default bgp_med 0; # MED value we use for comparison when none is defined
185 # default bgp_local_pref 0; # The same for local preference
186 # source address 198.51.100.14; # What local address we use for the TCP connection
187 # password "secret"; # Password used for MD5 authentication
188 # rr client; # I am a route reflector and the neighor is my client
189 # rr cluster id 1.0.0.1; # Use this value for cluster id instead of my router id
190 # export where source=RTS_STATIC;
192 # if source = RTS_STATIC then {
193 # bgp_community = -empty-; bgp_community = add(bgp_community,(65000,5678));
195 # bgp_community = -empty-; bgp_community.add((65000,5678));
196 # if (65000,64501) ~ bgp_community then
197 # bgp_community.add((0, 1));
198 # if bgp_path ~ [= 65000 =] then
199 # bgp_path.prepend(65000);
206 # Template usage example
207 #template bgp rr_client {
212 # rr cluster id 1.0.0.1;
215 #protocol bgp rr_abcd from rr_client {
216 # neighbor 10.1.4.7 as 65000;