]> git.ipfire.org Git - thirdparty/bird.git/blob - NEWS
Perf: Prune the table after every loop to have clean state.
[thirdparty/bird.git] / NEWS
1 Version 2.0.3 (2019-01-05)
2 o MRT table dumps (RFC 6396)
3 o BGP Long-lived graceful restart
4 o BGP: Optional import table (Adj-RIB-In)
5 o BGP: Extend 'next hop keep' and 'next hop self' options
6 o BGP: Improved VRF support
7 o OSPF: Authentication trailer for OSPFv3 (RFC 7166)
8 o Babel: New option to randomize router ID
9 o Filter: Custom route attributes
10 o Filter: Support for src accessor to SADR source prefix
11 o Filter: Support for VPN_RD sets
12 o Filter: Make ifname attribute modifiable
13 o Perf: Protocol to measure BIRD performance internally
14 o More verbose error messages in config processing
15 o Log file size limit / log rotation
16 o Many bugfixes
17
18 Notes:
19
20 Export of routes to RS EBGP (route server) sessions from other sources than
21 RS EBGP sessions was changed that ASN is no longer prepended to BGP_PATH in
22 that case. The change does not affect regular BGP configurations or regular
23 route servers that have only RS EBGP peers.
24
25 For BGP route servers and route reflectors, the default value of option
26 'next hop keep' was changed to a more appropriate value.
27
28 Attributes for OSPF and Babel metrics are no longer reset when exported to
29 these protocols and could be set anywhere in BIRD. As a result, OSPF metric is
30 kept when a route is reannounced between OSPF instances. Also, when route is
31 exported to OSPF with both ospf_metric1 and ospf_metric2 attributes it is now
32 propagated as OSPF-E2 route instead of as OSPF-E1 route.
33
34 Compiling BIRD with --enable-debug no longer automatically activates debug
35 mode (-d option) nor local mode (-l option). Also, debug mode with output to
36 file (-D option) no longer not forces foreground mode (-f option).
37
38 The configure script now uses standard option --runstatedir, the old option
39 --with-runtimedir is deprecated.
40
41
42 Version 2.0.2 (2018-03-22)
43 o Source-specific routing support for Linux kernel and Babel
44 o BGP: New option 'disable after cease'
45 o Filter: Allow silent filter execution
46 o Filter: Fixed stack overflow in BGP mask expressions.
47 o Several bugfixes
48
49 Notes:
50
51 Syntax prefix:netmask for IPv4 prefixes was dropped. Just use prefix/pxlen.
52
53
54 Version 2.0.1 (2018-01-16)
55 o Linux MPLS kernel support
56 o Better handling of channels inherited from templates
57 o Default EBGP Route Propagation Behavior without Policies (RFC 8212)
58 o Many bugfixes
59
60 Notes:
61
62 To satisfy requirements of RFC 8212, external BGP protocols now require
63 explicit configuration of import and export policies.
64
65
66 Version 2.0.0 (2017-12-11)
67 o Integrated IPv4 + IPv6 design
68 o Support for MPLS next hops
69 o Support for VPNv4 and VPNv6 networks
70 o Microsecond timers infrastructure
71 o Basic VRF support
72 o Babel: Support for dual-stack IPv4/IPv6
73 o Babel: Many improvements and bugfixes
74 o Major BGP protocol redesign
75 o Full support for Multiprotocol BGP
76 o BGP multicast support (SAFI 2)
77 o BGP flowspec support (RFC 5575)
78 o BGP with MPLS labels (RFC 3107)
79 o BGP MPLS/VPN support (RFC 4364)
80 o BGP 6PE - IPv6 NLRI over IPv4 MPLS (RFC 4798)
81 o BGP IPv4 NLRI with an IPv6 Next Hop (RFC 5549)
82 o BGP Confederations (RFC 5065)
83 o BGP Shutdown communication (RFC 8203)
84 o BGP: Allow exchanging LOCAL_PREF with eBGP peers
85 o BGP: Allow to specify interface for regular sessions
86 o OSPF: Support of address families in OSPFv3
87 o OSPF: Enable ECMP and Link detection by default
88 o RAdv: Support for more specific routes (RFC 4191)
89 o RAdv: Proper handling of prefix retraction
90 o RIP: Enable ECMP and Link detection by default
91 o Redesign of RPKI handling
92 o New RPKI-Router protocol
93 o Static: Minor overhaul
94 o Static: Support for all new route types
95 o Kenrel: Default Linux kernel metric changed to 32
96 o Kernel: Fix IPv6 ECMP handling with Linux 4.11+
97 o Update of show route command
98 o BIRD client persistent history
99 o New build system
100 o Unit tests
101 o ...
102
103 Notes:
104
105 Tables are now defined with appropriate net type keyword. Protocols and tables
106 are now connected by explicit channels, most related protocol options (table,
107 import, export, ...) are now channel options. See doc/bird.conf.example2 for
108 configuration examples. Some options were removed/replaced.
109
110
111 Version 1.6.3 (2016-12-21)
112 o Large BGP communities
113 o BFD authentication (MD5, SHA1)
114 o SHA1 and SHA2 authentication for RIP and OSPF
115 o Improved documentation
116 o Several bug fixes
117
118 Version 1.6.2 (2016-09-29)
119 o Fixes serious bug introduced in the previous version
120
121 Version 1.6.1 (2016-09-22)
122 o Support for IPv6 ECMP
123 o Better handling of IPv6 tentative addresses
124 o Several updates and fixes in Babel protocol
125 o Filter: New !~ operator
126 o Filter: ASN ranges in bgpmask
127 o KRT: New kernel protocol option 'metric'
128 o KRT: New route attribute 'krt_scope'
129 o Improved BIRD help messages
130 o Fixes memory leak in BGP multipath
131 o Fixes handling of empty path segments in BGP AS_PATH
132 o Several bug fixes
133
134 Version 1.6.0 (2016-04-29)
135 o Major RIP protocol redesign
136 o New Babel routing protocol
137 o BGP multipath support
138 o KRT: Add support for plenty of kernel route metrics
139 o KRT: Allow more than 256 routing tables
140 o Static: Allow to specify attributes for static routes
141 o Static: Support for BFD controlled static routes
142 o FreeBSD: Setup password for BGP MD5 authentication
143 o IO: Remove socket number limit
144 o Plenty of bug fixes
145
146 Upgrade notes:
147
148 For RIP, most protocol options were moved to interface blocks.
149
150
151 Version 1.5.0 (2015-04-20)
152 o Major OSPF protocol redesign.
153 o OSPFv2 multi-instance extension (RFC 6549).
154 o BGP AS-wide unique router ID (RFC 6286).
155 o BGP enhanced route refresh (RFC 7313).
156 o Link state support in BGP.
157 o Latency tracking and internal watchdog.
158 o Uses high port range for BFD on BSD.
159 o Increase max symbol length to 64.
160 o Allows to define unnamed protocols from templates.
161 o Fixes two serious bugs in BGP.
162 o Several bugfixes and minor improvements.
163 o Several minor option changes:
164 - OSPF: Protocol-wide 'instance id' option added.
165 - BGP: Parameters to option 'neighbor' extended.
166 - BGP: Separate option 'interface' added.
167 - BGP: Option 'start delay time' renamed to 'connect delay time'.
168 - BGP: Option 'route limit' deprecated.
169
170 Upgrade notes:
171
172 For OSPF, there are deep internal changes, but user-visible changes
173 are limited to log messages and minor changes in formatting of command
174 output.
175
176 For BGP, version 1.5.0 is essentially a minor release. There are two
177 deprecated options ('start delay time' and 'route limit') and some
178 minor formatting changes.
179
180
181 Version 1.4.5 (2014-10-06)
182 o New 'show route noexport' command option.
183 o Port option for BGP sessions.
184 o Better constant handling in set literals.
185 o Better rate filtering of log messages.
186 o Several minor bugfixes.
187
188 Version 1.4.4 (2014-07-09)
189 o Extended OSPF multipath support.
190 o Default router preference for RAdv.
191 o Significant changes in socket layer.
192 o Important bugfix in BGP.
193 o Several minor bugfixes.
194
195 Version 1.4.3 (2014-04-14)
196 o Important bugfix in IPv6 BGP.
197
198 Version 1.4.2 (2014-04-02)
199 o Important bugfix in BFD.
200
201 Version 1.4.1 (2014-03-31)
202 o BGP add-path support (RFC draft).
203 o BGP graceful restart (RFC 4724).
204 o OSPF: many changes in socket layer.
205 o OSPF: support for secondary addresses in BSD.
206 o OSPF: names for vlink pseudointerfaces (vlinkX).
207 o Several bugfixes.
208
209 Version 1.4.0 (2013-11-25)
210 o BFD protocol (RFC 5880).
211 o BFD support for OSPF and BGP.
212 o New 'allow local as' option for BGP.
213 o Filters allows setting gw, ifname and ifindex.
214 o Filter operator 'delete/filter' extended to bgp_paths.
215 o Filter operator 'len' extended to [e]clists.
216 o BIRD client now allows shorthands for noninteractive commands.
217 o Flag -P for PID file support.
218 o Flag -f added to force BIRD to run in foreground.
219 o Protocol export/import/receive limits are checked during reconfiguration.
220 o Several bugfixes and minor improvements.
221 o Several minor but incompatible changes:
222 - IBGP is multihop by default.
223 - Changes primary address selection on BSD to the first one.
224 - Integers in filters are handled as unsigned.
225 - ISO 8601 time formats used by default.
226 - Import of device routes from kernel protocol allowed.
227 - Last state change now tracks just protocol state change.
228 - Minor changes to default router ID calculation.
229
230 Version 1.3.11 (2013-07-27)
231 o OSPF stub router option (RFC 3137).
232 o TTL security for OSPF and RIP.
233 o Protocol packet priority and traffic class handling.
234 o Multiple routing tables support for FreeBSD and OpenBSD.
235 o Extends constants to all filter data types.
236 o Implements eval command.
237 o 'bgppath ~ int set' filter operation.
238 o Several bugfixes.
239
240 Version 1.3.10 (2013-04-30)
241 o Lightweight BIRD client for embedded environments.
242 o Dynamic IPv6 router advertisements.
243 o New 'next hop keep' option for BGP.
244 o Smart default routing table for 'show route export/preexport/protocol'.
245 o Automatic router ID selection could be configured to use address of loopback.
246 o Allows configured global addresses of NBMA neighbors in OSPFv3.
247 o Allows BIRD commands from UNIX shell even in restricted mode.
248 o Route limits inherited from templates can be disabled.
249 o Symbol names enclosed by apostrophes can contain dots.
250 o Several bugfixes.
251
252 Version 1.3.9 (2013-01-11)
253 o BIRD can be configured to keep and show filtered routes.
254 o Separate receive and import limits.
255 o Several new reconfiguration cmd options (undo, timeout, check).
256 o Configurable automatic router ID selection.
257 o Dragonfly BSD support.
258 o Fixed OSPFv3 vlinks.
259 o Several minor bugfixes.
260
261 Version 1.3.8 (2012-08-07)
262 o Generalized import and export route limits.
263 o RDNSS and DNSSL support for RAdv.
264 o Include in config file support wildcards.
265 o History deduplication in BIRD client.
266 o New route attributes krt_source, krt_metric.
267 o Different instance ID support for OSPFv3.
268 o Real broadcast mode for OSPFv2.
269 o Several minor bugfixes.
270
271 Version 1.3.7 (2012-03-22)
272 o Route Origin Authorization basics.
273 o RIPng working again.
274 o Extended clist operations in filters.
275 o Fixes several bugs in BSD iface handling.
276 o Several minor bugfixes and enhancements.
277
278 Version 1.3.6 (2012-01-20)
279 o Important bugfix in BGP.
280
281 Version 1.3.5 (2012-01-10)
282 o Protocol templates.
283 o Deterministic MED option for BGP.
284 o Support for link-local addresses in BGP and static protocols.
285 o Several bugfixes.
286
287 Version 1.3.4 (2011-10-10)
288 o Static recursive routes.
289 o Several bugfixes.
290
291 Version 1.3.3 (2011-09-11)
292 o OSPF NSSA.
293 o BGP extended communities.
294 o BGP TTL security.
295 o Configuration option "include" added (based on patch from Alexander V. Chernikov).
296 o Some minor bugfixes.
297
298 Version 1.3.2 (2011-07-08)
299 o Allows run with restricted privileges.
300 o Community list filter operation.
301 o Fixes several problems in filter syntax:
302 - Fixes several conflicts in the grammar.
303 - Fixes a bug in (a..b, c) pair patterns.
304 - Makes pair patterns orthogonal.
305 - Allows term expressions in pair patterns without additional ( ).
306 - Allows several comma separated values in switch cases.
307 o Many bugfixes.
308
309 Version 1.3.1 (2011-05-02)
310 o Added Linux kernel route attributes krt_prefsrc and krt_realm.
311 o Added BGP option 'med metric' related to MED handling.
312 o Allows to use constants from /etc/iproute2/rt_* files.
313 o Several bugfixes.
314
315 Version 1.3.0 (2011-03-31)
316 o Proper iBGP (can be used with IGP).
317 o Multipath support (OSPF and static).
318 o L2 link state detection.
319 o IPv6 router advertisements.
320 o Much improved OSPF reconfiguration.
321 o Point-to-MultiPoint interfaces (OSPF).
322 o Minor changes and improvements in config file grammar.
323 o Better community list matching.
324 o Changes default behavior of BGP IPv6 socket to v6only.
325 Use 'listen bgp dual' for the old behavior.
326 o Changes default for handling missing link-local addresses on
327 route servers. Use 'missing lladdr drop' for the old behavior.
328 o Important bugfix for OSPF.
329 o Several minor bugfixes.
330
331 Version 1.2.5 (2010-10-10)
332 o Several mostly minor bugfixes.
333
334 Version 1.2.4 (2010-08-03)
335 o Added 'show memory' command.
336 o Important bugfix in IPv6 BGP.
337 o Several minor bugfixes.
338
339 Version 1.2.3 (2010-06-01)
340 o Pattern matching for community lists.
341 o Many fixes in OSPF protocol (esp. in multi-areas and vlinks).
342 o Several minor bugfixes.
343
344 Version 1.2.2 (2010-04-10)
345 o Much better BSD kernel support (IPv6, alien routes, ...).
346 o Deep OSPF socket changes, fixes OSPFv2/v3 behavior on BSD.
347 o OSPFv2 in Linux now supports more non-stub IP prefixes
348 on one physical iface.
349 o Export of device routes to the kernel is more restricted.
350 o Routes with strange scope not allowed in BIRD routing tables.
351 o New filterable route attributes bgp_originator_id,
352 bgp_cluster_list and ospf_router_id.
353 o Restricted read-only CLI (option -r).
354 o Pattern matching for 'show protocols' command.
355 o BGP protocol details in 'show protocols all' command.
356 o Configurable syslog name (and default on IPv6 changed).
357 o Statistic counters for pipes were fixed.
358 o Many bugfixes in BGP, OSPF, filters, ...
359
360 Version 1.2.1 (2010-02-11)
361 o Option 'interpret communities' allows to override implicit handling
362 of well-known communities.
363 o 'configure' command uses route reload when filters change.
364 o Adds router ID of advertising router as OSPF route attribute.
365 o 'show route' command indicates primary route and shows OSPF Router ID.
366 o Configurable date/time formats.
367 o Symbol names can be enclosed by '' and so include hyphen and start with number.
368 o Several minor bugfixes.
369
370 Version 1.2.0 (2010-01-05)
371 o Implements OSPFv3 (IPv6 support for OSPF). Because the code is
372 shared with OSPFv2 and there were deep changes in it, we suggest
373 caution during upgrade to OSPF users. Some advanced features
374 (like NSSA, vlinks and authentication) are not yet implemented.
375 o Implements MRTdump - binary logging protocol compatible with other
376 routing daemons. Only BGP part of MRTdump is yet implemented.
377 o Changes default value of BGP attribute LOCAL_PREF from 0 to 100.
378 Use 'default bgp_local_pref 0' BGP protocol option for the old
379 behavior. The new value is suggested by RFC 4277.
380 o Changes default mode of pipes from opaque to transparent.
381 Use 'mode opaque' protocol option if the old behavior is needed.
382 Opaque pipe mode is deprecated and might be removed in the future.
383
384 Version 1.1.7 (2009-12-20)
385 o Implements BGP Route Refresh (RFC 2918).
386 o Implements route reload command.
387 o Deep changes and bugfixes in pipe protocol.
388 o Bugfix in OSPF premature aging of LSA.
389 o Bugfix in OSPF next hop calculation.
390 o Bugfix in core related to route withdraws.
391 o Several minor bugfixes.
392
393 Version 1.1.6 (2009-11-19)
394 o Implements RFC 5004 - prefer older external routes.
395 o There is a change how route servers handle missing IPv6 link
396 local addresses in next hop atribute - see 'missing lladdr'
397 option.
398 o Several minor features (description field, parse check option).
399 o Several minor bugfixes.
400
401 Version 1.1.5 (2009-10-29)
402 o Better scalability of BGP.
403 o New accessors for AS path - first and last.
404 o Allows to set protocol-specific router ID.
405 o Allows import kernel 'onlink' routes.
406 o Endianity check in buildsystem changed.
407
408 Version 1.1.4 (2009-10-02)
409 o BGP passive option.
410 o Several minor bugfixes.
411
412 Version 1.1.3 (2009-09-11)
413 o Bugfix in core
414 o Bugfix in BGP related to AS2->AS4 conversion.
415
416 Version 1.1.2 (2009-08-23)
417 o Allow more kernel routing tables in IPv6.
418 o Bugfix in core
419
420 Version 1.1.1 (2009-08-14)
421 o 'more' style paging in BIRD client.
422 o Important core bug fixed.
423 o Portability to non-x86 related bugfixes.
424 o As usual, miscellaneous bugfixes.
425
426 Version 1.1.0 (2009-06-28)
427 o Parametrized pair and path mask expressions in the filter language.
428 o Transparent pipe mode allows to implement BGP route server with
429 independent route policy for each peer.
430 o Kernel route table synchronization does not allow overwriting
431 of alien routes.
432 o Configurable BGP import route limits.
433 o During BGP error delay, incoming connections are rejected.
434 o BGP route statistics.
435 o Better support for multiple network addresses on OSPF interfaces.
436 o As usual, miscellaneous bugfixes.
437
438 Version 1.0.15 (2009-05-25)
439 o FreeBSD and NetBSD port renewed. OpenBSD port introduced.
440 o import/preimport 'show route' modifiers was renamed to export/preexport
441 for consistency with filters.
442 o Minor change in the grammar of 'interface' config option.
443 o Many bugfixes in IPv6 BGP.
444 o As usual, miscellaneous bugfixes.
445
446 Version 1.0.14 (2009-04-28)
447 o A lot of bugfixes in BGP, OSPF and core.
448 o A bugfix in filters in the pipe protocol. It is recommended to
449 check whether the new behavior of used pipe filters is consistent
450 with expectations.
451 o Reimplementation of prefix sets and a slight change in the meaning
452 of some prefix set patterns.
453
454 Version 1.0.13 (2009-03-14)
455 o A lot of bugfixes in BGP, OSPF and core
456 o A new syntax for BGP masks
457
458 Version 1.0.12 (2008-11-12)
459 o new BGP features: BGP MD5, ASN32, BGP route reflector
460 o BGP bugfixes
461
462 ...
463
464 Version 1.0.9 (2004-07-15)
465 o Minor bugfix in RIP
466 o A lot of OSPF code rewritten, OSPF supports multiple areas,
467 virtual links, MD5 authentication. It is fully compatible
468 with rfc2329.
469
470 Version 1.0.8 (2004-06-07)
471 o A lot of bug fixes in RIP, OSPF and BGP (thanx to Andreas Steinmetz)
472 o FreeBSD and NetBSD port introduced
473 o Complete code clean up
474
475 Version 1.0.7 (2003-08-20)
476 o OSPF bug fixes
477
478 Version 1.0.6 (2003-04-06)
479
480 o No more byte order problems in RIP authentication. Thanks to
481 Eric Leblond <eleblond@init-sys.com> for a patch.
482 o Fixed interoperability problems with Cisco and Zebra when talking
483 IPv6 BGP.
484 o Handle more primary addresses with different scopes gracefully.
485 IPv6 needs that.
486 o Comparison of prefixes in filters doesn't ignore their lengts.
487 o As usually, OSPF bug fixes.
488 o Documentation building tools now work with recent linuxdoc-tools.
489
490 Version 1.0.5 (2001-06-09)
491
492 o Minor cleanups in the libraries.
493 o Removed a couple of warnings when compiling with newer glibc.
494 o OSPF bug fixes.
495
496 Version 1.0.4 (2000-09-04)
497
498 o Fixed a serious bug in 1.0.3.
499
500 Version 1.0.3 (2000-09-03)
501
502 o OSPF works better on NBMA networks. Some configuration tags added.
503
504 Version 1.0.2 (2000-08-24)
505
506 o Minor bug fixes to OSPF.
507
508 Version 1.0.1 (2000-06-22)
509
510 o Updated documentation and fixed a couple of bugs.
511
512 Version 1.0.0 (2000-06-09)
513
514 o First stable release.
515
516 Version 0.0.0 (2000-05-13)
517
518 o First public development release.