Annotation of embedaddon/bird/doc/bird.conf.example, revision 1.1.1.1
1.1 misho 1: /*
2: * This is an example configuration file.
3: */
4:
5: # Yes, even shell-like comments work...
6:
7: # Configure logging
8: #log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
9: #log stderr all;
10: #log "tmp" all;
11:
12: # Override router ID
13: #router id 198.51.100.1;
14:
15: # You can define your own symbols...
16: #define xyzzy = (120+10);
17: #define '1a-a1' = (30+40);
18:
19: # Define a route filter...
20: #filter test_filter {
21: # if net ~ 10.0.0.0/16 then accept;
22: # else reject;
23: #}
24:
25: #filter sink { reject; }
26: #filter okay { accept; }
27:
28: #include "filters.conf";
29:
30: # Define another routing table
31: #table testable;
32:
33: # Turn on global debugging of all protocols
34: #debug protocols all;
35:
36: # Turn on internal watchdog
37: #watchdog warning 5 s;
38: #watchdog timeout 30 s;
39:
40: # The direct protocol automatically generates device routes to
41: # all network interfaces. Can exist in as many instances as you wish
42: # if you want to populate multiple routing tables with device routes.
43: #protocol direct {
44: # interface "-eth*", "*"; # Restrict network interfaces it works with
45: #}
46:
47: # This pseudo-protocol performs synchronization between BIRD's routing
48: # tables and the kernel. If your kernel supports multiple routing tables
49: # (as Linux 2.2.x does), you can run multiple instances of the kernel
50: # protocol and synchronize different kernel tables with different BIRD tables.
51: protocol kernel {
52: # learn; # Learn all alien routes from the kernel
53: persist; # Don't remove routes on bird shutdown
54: scan time 20; # Scan kernel routing table every 20 seconds
55: # import none; # Default is import all
56: export all; # Default is export none
57: # kernel table 5; # Kernel table to synchronize with (default: main)
58: }
59:
60: # This pseudo-protocol watches all interface up/down events.
61: protocol device {
62: scan time 10; # Scan interfaces every 10 seconds
63: }
64:
65: # Static routes (again, there can be multiple instances, so that you
66: # can disable/enable various groups of static routes on the fly).
67: protocol static {
68: # disabled; # Disable by default
69: # table testable; # Connect to a non-default table
70: # preference 1000; # Default preference of routes
71: # debug { states, routes, filters, interfaces, events, packets };
72: # debug all;
73: # route 0.0.0.0/0 via 198.51.100.13;
74: # route 198.51.100.0/25 unreachable;
75: # route 10.0.0.0/8 unreachable;
76: # route 10.1.1.0:255.255.255.0 via 198.51.100.3;
77: # route 10.1.2.0:255.255.255.0 via 198.51.100.3;
78: # route 10.1.3.0:255.255.255.0 via 198.51.100.4;
79: # route 10.2.0.0/24 via "arc0";
80: }
81:
82: # Pipe protocol connects two routing tables... Beware of loops.
83: #protocol pipe {
84: # peer table testable;
85: # Define what routes do we export to this protocol / import from it.
86: # import all; # default is all
87: # export all; # default is none
88: # import none; # If you wish to disable imports
89: # import filter test_filter; # Use named filter
90: # import where source = RTS_DEVICE; # Use explicit filter
91: #}
92:
93: # RIP aka Rest In Pieces...
94: #protocol rip MyRIP { # You can also use an explicit name
95: # preference xyzzy;
96: # debug all;
97: # port 1520;
98: # period 7;
99: # infinity 16;
100: # garbage time 60;
101: # interface "*" { mode broadcast; };
102: # honor neighbor; # To whom do we agree to send the routing table
103: # honor always;
104: # honor never;
105: # passwords {
106: # password "nazdar";
107: # };
108: # authentication none;
109: # import filter { print "importing"; accept; };
110: # export filter { print "exporting"; accept; };
111: #}
112:
113: #protocol ospf MyOSPF {
114: # tick 2;
115: # rfc1583compat yes;
116: # area 0.0.0.0 {
117: # stub no;
118: # interface "eth*" {
119: # hello 9;
120: # retransmit 6;
121: # cost 10;
122: # transmit delay 5;
123: # dead count 5;
124: # wait 50;
125: # type broadcast;
126: # authentication simple;
127: # password "pass";
128: # };
129: # interface "arc0" {
130: # rx buffer large;
131: # type nonbroadcast;
132: # poll 14;
133: # dead 75;
134: # neighbors {
135: # 10.1.1.2 eligible;
136: # 10.1.1.4;
137: # };
138: # strict nonbroadcast yes;
139: # };
140: # interface "xxx0" {
141: # passwords {
142: # password "abc" {
143: # id 1;
144: # generate to "22-04-2003 11:00:06";
145: # accept to "17-01-2004 12:01:05";
146: # };
147: # password "def" {
148: # id 2;
149: # generate from "22-04-2003 11:00:07";
150: # accept from "17-01-2003 12:01:05";
151: # };
152: # };
153: # authentication cryptographic;
154: # };
155: # };
156: # area 20 {
157: # stub 1;
158: # interface "ppp1" {
159: # hello 8;
160: # authentication none;
161: # };
162: # interface "fr*";
163: # virtual link 192.168.0.1 {
164: # password "sdsdffsdfg";
165: # authentication cryptographic;
166: # };
167: # };
168: #}
169:
170:
171: #protocol bgp {
172: # disabled;
173: # description "My BGP uplink";
174: # local as 65000;
175: # neighbor 198.51.100.130 as 64496;
176: # multihop;
177: # hold time 240;
178: # startup hold time 240;
179: # connect retry time 120;
180: # keepalive time 80; # defaults to hold time / 3
181: # start delay time 5; # How long do we wait before initial connect
182: # error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive
183: # # errors occur, we increase the delay exponentially ...
184: # error forget time 300; # ... until this timeout expires)
185: # disable after error; # Disable the protocol automatically when an error occurs
186: # next hop self; # Disable next hop processing and always advertise our local address as nexthop
187: # path metric 1; # Prefer routes with shorter paths (like Cisco does)
188: # default bgp_med 0; # MED value we use for comparison when none is defined
189: # default bgp_local_pref 0; # The same for local preference
190: # source address 198.51.100.14; # What local address we use for the TCP connection
191: # password "secret"; # Password used for MD5 authentication
192: # rr client; # I am a route reflector and the neighor is my client
193: # rr cluster id 1.0.0.1; # Use this value for cluster id instead of my router id
194: # export where source=RTS_STATIC;
195: # export filter {
196: # if source = RTS_STATIC then {
197: # bgp_community = -empty-; bgp_community = add(bgp_community,(65000,5678));
198: # bgp_origin = 0;
199: # bgp_community = -empty-; bgp_community.add((65000,5678));
200: # if (65000,64501) ~ bgp_community then
201: # bgp_community.add((0, 1));
202: # if bgp_path ~ [= 65000 =] then
203: # bgp_path.prepend(65000);
204: # accept;
205: # }
206: # reject;
207: # };
208: #}
209: #
210: # Template usage example
211: #template bgp rr_client {
212: # disabled;
213: # local as 65000;
214: # multihop;
215: # rr client;
216: # rr cluster id 1.0.0.1;
217: #}
218: #
219: #protocol bgp rr_abcd from rr_client {
220: # neighbor 10.1.4.7 as 65000;
221: #}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>