]> git.ipfire.org Git - thirdparty/bird.git/blob - doc/bird.conf.example2
Doc: BFD update
[thirdparty/bird.git] / doc / bird.conf.example2
1 /*
2 * This is an example configuration file for MB-BGP setting
3 */
4
5
6 log "bird.log" all;
7 # debug protocols all;
8
9 router id 192.168.1.1;
10
11 ipv4 table master4;
12 ipv6 table master6;
13
14 ipv4 table mcast4;
15 ipv6 table mcast6;
16
17 ipv4 table mtab4;
18 ipv6 table mtab6;
19
20 vpn4 table vpntab4;
21 vpn6 table vpntab6;
22
23 vpn4 table vpn4mc;
24 vpn6 table vpn6mc;
25
26 flow4 table flowtab4;
27 flow6 table flowtab6;
28
29
30 protocol device {
31 }
32
33 protocol kernel kernel4 {
34 ipv4 {
35 export all;
36 };
37 }
38
39 protocol kernel kernel6 {
40 ipv6 {
41 export all;
42 };
43 }
44
45
46 protocol static static4 {
47 ipv4;
48
49 route 10.10.0.0/24 via 192.168.1.2;
50 route 10.10.1.0/24 via 192.168.1.2 { bgp_large_community.add((10,20,30)); bgp_large_community.add((10,(20*3),10)); };
51 }
52
53 protocol static static6 {
54 ipv6;
55
56 route 2001:db8:10:10::/64 via 2001:db8:1:1::10;
57 route 2001:db8:10:11::/64 via 2001:db8:1:1::10;
58
59 route 2001:db8:1:1::/64 via fe80::ec9b:67ff:fe60:fd5d % ve1;
60 }
61
62 # VPNv4 routes with MPLS labels
63 protocol static statvpn4 {
64 vpn4;
65
66 route 10:10 10.20.0.0/24 via 192.168.1.2 mpls 210;
67 route 10:10 10.20.1.0/24 via 192.168.1.2 mpls 210;
68 route 10:20 10.20.0.0/24 via 192.168.1.2 mpls 220;
69 route 10:20 10.20.1.0/24 via 192.168.1.2 mpls 220;
70 }
71
72 protocol static statvpn6 {
73 vpn6;
74
75 route 10:10 2001:db8:20:10::/64 via 2001:db8:1:1::10 mpls 200/210;
76 route 10:10 2001:db8:20:11::/64 via 2001:db8:1:1::10 mpls 200/210;
77 route 10:20 2001:db8:20:10::/64 via 2001:db8:1:1::10 mpls 200/220;
78 route 10:20 2001:db8:20:11::/64 via 2001:db8:1:1::10 mpls 200/220;
79 }
80
81 # RFC 5575 flow specification
82 protocol static flowstat4 {
83 flow4;
84
85 route flow4 {
86 dst 10.0.0.0/8;
87 proto = 23;
88 dport > 24 && < 30 || 40..50,60..70,80;
89 sport > 24 && < 30 || = 40 || 50,60..70,80;
90 icmp type 80;
91 icmp code 90;
92 tcp flags 0x03/0x0f;
93 length 2048..65535;
94 dscp = 63;
95 fragment dont_fragment, is_fragment || !first_fragment;
96 };
97
98 route flow4 {
99 dst 11.0.0.0/8;
100 proto = 0x12;
101 sport > 0x5678 && < 0x9abc || 0xdef0 || 0x1234,0x5678,0x9abc..0xdef0;
102 dport = 50;
103 tcp flags 0x000/0xf00;
104 };
105
106 route flow4 {
107 dst 12.0.0.0/32;
108 tcp flags ! 0/0x999;
109 };
110
111 route flow4 {
112 dst 220.0.254.0/24;
113 tcp flags 0x99/0x999;
114 };
115
116 route flow4 {
117 dst 220.0.254.192/28;
118 tcp flags ! 0xfff/0xfff;
119 };
120
121 route flow4 {
122 dst 15.0.0.0/8;
123 tcp flags ! 0x999/0x999;
124 };
125 }
126
127 protocol static flowstat6 {
128 flow6;
129
130 route flow6 {
131 dst fec0:1122:3344:5566::1/128;
132 src 0000:0000:0000:0001:1234:5678:9800:0000/101 offset 63;
133 next header = 23;
134 sport 24..30, 42 || 50,60,70..80;
135 dport = 50;
136 tcp flags 0x03/0x0f, !0/0xff || 0x33/0x33;
137 fragment !is_fragment || !first_fragment;
138 label 0xaaaa/0xaaaa && 0x33/0x33;
139 };
140
141 route flow6 {
142 dst fec0:1122:3344:5566::1/128;
143 src ::1:1234:5678:9800:0/101 offset 63;
144 next header = 23;
145 dport = 50;
146 sport > 24 && < 30 || = 40 || = 50 || = 60 || >= 70 && <= 80;
147 tcp flags 0x3/0x3 && 0x0/0xc;
148 };
149 }
150
151
152 protocol pipe {
153 table master4;
154 peer table mcast4;
155 import none;
156 export where source = RTS_OSPF;
157 }
158
159 protocol pipe {
160 table master6;
161 peer table mcast6;
162 import none;
163 export where source = RTS_OSPF;
164 }
165
166 protocol ospf v2 ospf4 {
167 ipv4 {
168 import all;
169 # export where source = RTS_STATIC;
170 };
171
172 area 0 {
173 interface "ve0" { stub; };
174 interface "ve1" { hello 5; type ptp; };
175 interface "ve2" { hello 5; type bcast; ttl security; };
176 interface "ve3" { hello 5; type bcast; ttl security; };
177 };
178 }
179
180
181 protocol ospf v3 ospf6 {
182 ipv6 {
183 import all;
184 # export where source = RTS_STATIC;
185 };
186
187 area 0 {
188 interface "ve0" { stub; };
189 interface "ve1" { hello 5; type ptp; };
190 interface "ve2" { hello 5; type bcast; };
191 };
192 }
193
194 protocol bgp {
195 local 192.168.11.1 as 1000;
196 neighbor 192.168.11.2 as 2000;
197 # local 192.168.1.1 as 1000;
198 # neighbor 192.168.2.1 as 2000;
199 # multihop;
200 # rr client;
201 # strict bind;
202 # debug all;
203
204 # regular IPv4 unicast (1/1)
205 ipv4 {
206 # connects to master4 table by default
207 import all;
208 export where source ~ [ RTS_STATIC, RTS_BGP ];
209 };
210
211 # regular IPv6 unicast (2/1)
212 ipv6 {
213 # connects to master6 table by default
214 import all;
215 export where source ~ [ RTS_STATIC, RTS_BGP ];
216 # next hop address 2001:db8:1:1::1;
217 };
218
219 # IPv4 multicast topology (1/2)
220 ipv4 multicast {
221 # explicit IPv4 table
222 table mcast4;
223 import all;
224 export all;
225 };
226
227 # IPv6 multicast topology (2/2)
228 ipv6 multicast {
229 # explicit IPv6 table
230 table mcast6;
231 import all;
232 export all;
233 # next hop address 2001:db8:1:1::1;
234 };
235
236 # IPv4 with MPLS labels (1/4)
237 ipv4 mpls {
238 # explicit IPv4 table
239 table mtab4;
240 import all;
241 export all;
242 };
243
244 # IPv6 with MPLS labels (2/4)
245 ipv6 mpls {
246 # explicit IPv6 table
247 table mtab6;
248 import all;
249 export all;
250 # allows IPv4 next hops (6PE)
251 # extended next hop;
252 };
253
254 # VPNv4 with MPLS labels (1/128)
255 vpn4 mpls {
256 # connects to vpntab4 table by default
257 import all;
258 export all;
259 };
260
261 # VPNv6 with MPLS labels (2/128)
262 vpn6 mpls {
263 # connects to vpntab6 table by default
264 import all;
265 export all;
266 };
267
268 # VPNv4 multicast topology (1/129)
269 vpn4 multicast {
270 table vpn4mc;
271 import all;
272 export all;
273 };
274
275 # VPNv6 multicast topology (2/129)
276 vpn6 multicast {
277 table vpn6mc;
278 import all;
279 export all;
280 };
281
282 # IPv4 Flowspec (1/133)
283 flow4 {
284 # connects to flowtab4 table by default
285 import all;
286 export all;
287 };
288
289 # IPv6 Flowspec (2/133)
290 flow6 {
291 # connects to flowtab6 table by default
292 import all;
293 export all;
294 };
295 }
296
297 protocol bgp {
298 local 192.168.1.1 as 1000;
299 neighbor 192.168.3.1 as 1000;
300 multihop;
301 rr client;
302
303 ipv4 {
304 import all;
305 export where source ~ [ RTS_STATIC, RTS_BGP ];
306 };
307
308 ipv6 {
309 import all;
310 export where source ~ [ RTS_STATIC, RTS_BGP ];
311 next hop address 2001:db8:1:1::1;
312 };
313 }
314
315 protocol bgp {
316 local 2001:db8:1:1::1 as 1000;
317 neighbor 2001:db8:4:1::1 as 1000;
318 multihop;
319 rr client;
320
321 ipv4 {
322 import all;
323 export where source ~ [ RTS_STATIC, RTS_BGP ];
324 next hop address 192.168.4.1;
325 };
326
327 ipv6 {
328 import all;
329 export where source ~ [ RTS_STATIC, RTS_BGP ];
330 };
331 }
332