Blame view

CHANGES 22.7 KB
Juliusz Chroboczek committed
1 2 3 4 5 6
20 August 2019: babeld-1.9.1

  * Fixed a crash that could happen when unicast and RTT estimation are
    both enabled on an interface.  Thanks to Dave Taht.
  * Fixed compilation under BSD.  Thanks to Dave Taht.

Juliusz Chroboczek committed
7
4 August 2019: babeld-1.9.0
Juliusz Chroboczek committed
8 9 10 11 12 13

  * Reworked buffering of unicast packets to use a per-neighbour buffer
    rather than a single buffer per interface.  This makes unicast as
    efficient as multicast, at the cost of slightly higher memory usage.
  * Added option "unicast" that allows sending most TLVs over unicast.
    This is necessary for the DTLS extension.
Juliusz Chroboczek committed
14 15 16 17 18
  * Implemented parsing of unicast Hellos.  This makes it possible to
    interoperate with neighbours that only speak unicast (e.g. over some
    kinds of tunnels that only do unicast).
  * Implemented sending of unscheduled unicast Hellos.  This makes the
    RTT extension work over unicast too.
Juliusz Chroboczek committed
19 20 21 22 23 24
  * Reworked the xroute data structures to use binary search and
    linear-time comparison.
  * Don't attempt to modify the rp_filter sysctl if it already has the
    desired value; this makes it possible to run babeld in an
    unpriviledged container.  Thanks to Christof Schulze.
  * Reinstated logging of late hellos.  Thanks to Dave Taht.
Juliusz Chroboczek committed
25 26 27
  * Don't send wildcard requests or Hellos to newish nodes.  This makes
    acquisition of new neighbours slower, but drastically reduces noise at
    startup.  Thanks to Teco Boot.
Juliusz Chroboczek committed
28
  * Remove an arbitrary limit on the number of interfaces.  Thanks to
Christof Schulze committed
29
    Christof Schulze.
Juliusz Chroboczek committed
30
  * Removed class E from martian filter.  Thanks to Dave Taht.
Juliusz Chroboczek committed
31 32 33
  * Added the ability to set the preferred source address in install filters.
    Thanks to Killian Lufau.
  * Fixed a number of read-only buffer overflows.  Thanks to Leo Stefanesco.
Juliusz Chroboczek committed
34

Juliusz Chroboczek committed
35 36 37 38 39 40 41
22 July 2019: babeld-1.8.5

  * Fixed a bug that caused confustion between learned routes and
    imported routes (thanks to Fabian Bläse).
  * Fixed a bug that prevented install filters from being evaluated
    (thanks to Killian Lufau).

Juliusz Chroboczek committed
42 43 44 45 46 47
9 November 2018: babeld-1.8.4

  * Fixed a bug that discarded pipelined commands received on the local
    configuration interface.
  * Added the per-interface option rfc6126-compatible.

Juliusz Chroboczek committed
48
24 September 2018: babeld-1.8.3
Juliusz Chroboczek committed
49 50 51 52 53 54 55 56 57 58

  * Fixed a read-only two byte buffer overflow in the packet parser.
    This is a read-only overflow, and hence most probably not exploitable.
  * Fixed an issue with creating unreachable routes on recent kernels
    (4.16 and up).  Thanks to Christof Schulze.
  * Notice interface changes faster by listening to more netlink events.
    Thanks to Christof Schulze.
  * Fixed a local interface issue when an interface has no link-local
    address.  Thanks to Christof Schulze.

Juliusz Chroboczek committed
59 60 61 62 63
12 May 2018: babeld-1.8.2

  * Fixed a bug that prevented redistribution of IPv4 routes.  Thanks to
    Niklas Yann Wettengel.

Juliusz Chroboczek committed
64
7 April 2018: babeld-1.8.1
Juliusz Chroboczek committed
65

Juliusz Chroboczek committed
66 67 68 69
  * Implemented parsing of mandatory sub-TLVs and unicast and unscheduled
    Hellos.  This makes this version comply with RFC 6126bis.  However, we
    don't send any of these yet, so this version remains compatible with
    RFC 6126.
Juliusz Chroboczek committed
70 71 72 73
  * Fixed a bug that prevented us from sending requests after we lose
    a route.  This makes convergence much faster in some cases, at the
    cost of slightly increased traffic.
  * Fixed interface addresses on some kinds of point-to-point links.
Juliusz Chroboczek committed
74 75
  * The keep-unfeasible (-u) option has been removed, this is now the
    default behaviour.
Juliusz Chroboczek committed
76

Juliusz Chroboczek committed
77
6 December 2016: babeld-1.8.0
Juliusz Chroboczek committed
78 79 80

  * Added the ability to reconfigure babeld dynamically from the
    monitoring interface.  This is an incompatible change.
Juliusz Chroboczek committed
81 82 83 84
  * Changed the configuration language to use an enumerated type instead
    of the "wired" boolean.  This is an incompatible change.
  * Setting max-rtt-penalty no longer enables timestamps.  This is an
    incompatible change.
Juliusz Chroboczek committed
85
  * Added PF_UNIX support to the local interface.  Thanks to Julien Cristau.
Juliusz Chroboczek committed
86 87
  * Made it possible to have a 0 channel number within the diversity extension,
    which is consistent with draft-chroboczek-babel-diversity-routing-01.
Juliusz Chroboczek committed
88 89
  * Fixed a bug (introduced in 1.7.0) that could cause spurious policy
    rules to be created in the kernel.  Thanks to Matthieu Boutier.
Juliusz Chroboczek committed
90

Juliusz Chroboczek committed
91
14 February 2016: babeld-1.7.1
Juliusz Chroboczek committed
92 93 94

  * Fix compilation under musl.  Thanks to Gabriel Kerneis.

Juliusz Chroboczek committed
95
3 February 2016: babeld-1.7.0
Juliusz Chroboczek committed
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

  * Added the ability to choose the kernel routing table on a per-route
    basis.  Thanks to Matthieu Boutier.
  * Refactored the disambiguation code to live above the kernel interface.
    Thanks to Matthieu Boutier.
  * Reworked the source table to function in log time.
  * Optimised the disambiguation code to avoid scanning all routes in
    non-source-specific networks.  Thanks to Matthieu Boutier.
  * Modified the triggered updates logic to no longer send multihop
    requests.  This makes babeld slightly less noisy, at the cost of
    slightly longer reconvergence after mobility.
  * Increased the token bucket limits, which some large meshes are
    starting to hit.
  * Increased the size of the netlink socket buffer.

Juliusz Chroboczek committed
111
1 October 2015: babeld-1.6.3
Juliusz Chroboczek committed
112 113 114

  * Changed the handling of kernel configuration and added the
    skip-kernel-setup option.  Thanks to Toke Høiland-Jørgensen.
Juliusz Chroboczek committed
115 116
  * Added the option "router-id" and removed the flag "-R".  This is an
    incompatible change.
Juliusz Chroboczek committed
117

Juliusz Chroboczek committed
118
31 July 2015: babeld-1.6.2
Juliusz Chroboczek committed
119

Juliusz Chroboczek committed
120
  * Added the ability to specify a router-id explicitly (-R).
Juliusz Chroboczek committed
121 122 123 124 125
  * Changed router-id computation to use all interfaces, which increases
    the chances of a stable id.
  * Changed the format of babel-state to only contain the seqno -- the
    validation of router-id was useless, and actually harmful when the
    router-id changed multiple times.
Juliusz Chroboczek committed
126 127
  * Fixed a bug with native source-specific routing.  Thanks to Matthieu
    Boutier.
Juliusz Chroboczek committed
128

Juliusz Chroboczek committed
129
16 June 2015: babeld-1.6.1
Juliusz Chroboczek committed
130 131 132 133 134 135 136 137

  * Fixed a buffer overflow in zone_equal.  This is probably not
    exploitable, but might cause incorrect routing tables in the presence
    of source-specific routing.
  * Added support for defaulting ipv6-subtrees automatically based on the
    kernel version.
  * Fixed compilation under musl.

Juliusz Chroboczek committed
138
14 April 2015: babeld-1.6.0
Juliusz Chroboczek committed
139

Juliusz Chroboczek committed
140
  * Added support for source-specific routing.  Thanks to Matthieu Boutier.
Juliusz Chroboczek committed
141 142
  * Added support for reflecting metrics as kernel priorities.  Thanks to
    Pierre Pfister.
Juliusz Chroboczek committed
143 144
  * Worked around a Linux kernel bug with an infinite EAGAIN loop.  Thanks
    to Dave Taht.
Juliusz Chroboczek committed
145 146
  * Changed wildcard updates to not set flag 0x40.  Reported by Markus
    Stenberg.
Juliusz Chroboczek committed
147
  * Made ipv6-subtrees a runtime option.  Thanks to Matthieu Boutier.
Juliusz Chroboczek committed
148

Juliusz Chroboczek committed
149
4 July 2014: babeld-1.5.1
Juliusz Chroboczek committed
150 151 152 153 154

  * Added support for reading multiple configuration files by specifying
    the -c command-line flag multiple times.
  * Be less noisy about unknown TLV types.  Thanks to Baptiste Jonglez.

Juliusz Chroboczek committed
155
22 May 2014: babeld-1.5.0
Juliusz Chroboczek committed
156 157 158 159 160

  * Added support for an RTT-based metric -- see the description of
    "enable-timestamps" in the manual page.  This work was done by
    Baptiste Jonglez with help from Matthieu Boutier.

Juliusz Chroboczek committed
161
15 November 2013: babeld-1.4.3
Juliusz Chroboczek committed
162 163

  * Added random-id option to config file (equivalent to -r).
Juliusz Chroboczek committed
164 165 166 167 168 169
  * Fixed parsing of compressed IPv4 updates.  Thanks to Matthieu Boutier.
  * Fixed formatting of seqno requests with short prefixes.  Thanks to
    Matthieu Boutier.
  * Fixed possible DoS on the local interface.  Thanks to Baptiste Jonglez.
  * Fixed advertising costs higher than INFINITY on the local interface.
    Thanks to Baptiste Jonglez.
Juliusz Chroboczek committed
170 171
  * Fixed an assertion failure when an interface configuration is
    split into multiple config file directives.
Juliusz Chroboczek committed
172 173
  * Disable atomic route changes on BSD, which are buggy at least under
    Mac OS X.  Thanks to Grégoire Henry.
Juliusz Chroboczek committed
174

Juliusz Chroboczek committed
175 176 177 178 179
19 June 2013: babeld-1.4.2

  * Extensive changes to the configuration parser.  It is now possible
    to set all command-line options from the configuration file, and
    to specify default values for interface parameters.
Juliusz Chroboczek committed
180 181
  * Allow redistributing routes from multiple kernel tables.  Thanks
    to Toke Høiland-Jørgensen.
Juliusz Chroboczek committed
182 183 184 185 186 187 188 189
  * Fix some whitespace issues in the configuration parser.
  * Fix a bug in the configuration parser that could give wrong values
    to some exotic interface parameters (channel and faraway).
  * Fix a bug that could cause some extra traffic at shutdown.  Thanks
    to Matthieu Boutier.
  * Under Linux, set rp_filter explicitly for all interfaces.  This
    avoids mysterious routing failures on distributions that set
    rp_filter by default.  Reported by Baptiste Jonglez.
Juliusz Chroboczek committed
190

Juliusz Chroboczek committed
191 192 193 194 195 196 197 198 199 200
19 June 2013: babeld-1.3.8

  * Fix a bug in the configuration parser that could give wrong values
    to some exotic interface parameters (channel and faraway).
  * Fix a bug that could cause some extra traffic at shutdown.  Thanks
    to Matthieu Boutier.
  * Under Linux, set rp_filter explicitly for all interfaces.  This
    avoids mysterious routing failures on distributions that set
    rp_filter by default.  Reported by Baptiste Jonglez.

Juliusz Chroboczek committed
201 202 203 204 205 206 207 208 209 210
26 May 2013: babeld-1.4.1

  * Fix a bug that would cause the channel list to remain stuck at its
    initial value when running with -z3.

26 May 2013: babeld-1.3.7

  * Fix a bug that would cause the channel list to remain stuck at its
    initial value when running with -z3.

Juliusz Chroboczek committed
211
3 May 2013: babeld-1.4.0
Juliusz Chroboczek committed
212 213 214 215 216 217 218 219 220 221 222 223 224 225

  * Change the route selection algorithm to used a smoothed metric in
    addition to the "real" metric.  This reduces the amount of route
    flapping without any special case hacks.
  * New flag -r, use a random router-id.  This avoids temporarily
    unreachable nodes after a reboot when persistent storage is not
    available.
  * INCOMPATIBLE CHANGE: the local interface now announces the local
    hostname, and marks the end of the initial route dump.  (Thanks to
    Gabriel Kerneis.)
  * The local interface is now able to accept multiple simultaneous
    connections.
  * Detect BATMAN interfaces, don't assume they are wired.

Juliusz Chroboczek committed
226 227 228 229 230
2 May 2013: babeld-1.3.6

  * Work around recent Linux kernels advertising the IPv6 route cache
    as if it were part of the routing table.  Thanks to Baptiste Jonglez.

Juliusz Chroboczek committed
231 232 233 234 235 236 237 238 239 240
12 April 2013: babeld-1.3.5

  * Fix parsing of "channel interfering".  Reported by Gioacchino
    Mazzurco.
  * Correctly reset rp_filter to its old value at shutdown.  Thanks to
    Matthias Schiffer.
  * Work around a race condition that could cause us to fail to notice
    an interface's link-local address, and hence mark all neighbours
    as unreachable.  Reported by Gabriel Kerneis.

Juliusz Chroboczek committed
241 242 243 244 245 246
8 August 2012: babeld-1.3.4

  * Disable atomic route changes on Linux; this used to cause stuck
    unreachable routes on non-multipath kernels.
  * Improve error checking in command-line and configuration parser.

Juliusz Chroboczek committed
247 248 249 250 251 252 253
12 July 2012: babeld-1.3.3

  * More fixes to IPv4 support on BSD -- pure meshes are now
    supported.
  * Fixed a very rare bug where an unfeasible route could be
    selected.

Juliusz Chroboczek committed
254 255 256 257 258 259 260
30 June 2012: babeld-1.3.2

  * INCOMPATIBLE CHANGE: removed parasitic mode (-P).
  * Fixes to IPv4 support on BSD.
  * More reduction to the rate of sending requests.  

11 February 2012: babeld-1.3.1
Juliusz Chroboczek committed
261 262 263 264 265 266 267 268

  * Made the resend logic less aggressive.  This should lead to fewer
    request messages upon link failure, at the cost of somewhat worse
    behaviour in the presence of heavy packet loss.
  * INCOMPATIBLE CHANGE: removed the idle detection functionality (-i).
    This feature was little used and complicated the code somewhat.
  * Various internal tweaks to bring babeld closer to the Quagga version.

Juliusz Chroboczek committed
269
8 December 2011: babeld-1.3.0
Juliusz Chroboczek committed
270 271 272 273 274 275 276

  * Made the route table into a sorted array, and use binary sort for
    searching for routes.  This makes most route operations O(log n), at
    a slight cost in memory usage.
  * Changed the update sending strategy to use buffers large enough for
    a full update.  This makes the duplicate suppression mechanism
    effective in large networks, at a small cost in memory usage.
Juliusz Chroboczek committed
277 278
  * Rate-limit the reaction to wildcard requests.  This avoids an update
    storm at boot in large networks.
Juliusz Chroboczek committed
279 280 281
  * Fixed a bug that prevented usage of the "default" keyword in
    configuration files.

Juliusz Chroboczek committed
282 283 284 285 286
16 October 2011: babeld-1.2.1

  * Fixed an incorrect assertion that would cause a crash when -w was
    being used (reported by Thomas McLure).

Juliusz Chroboczek committed
287
9 September 2011: babeld 1.2.0
Juliusz Chroboczek committed
288 289 290 291

  * Merged the interference-aware branch ("babelz").  Please see the
    "-z" flag in the manual page.
  * Fixed a memory leak when expiring resent messages.
Juliusz Chroboczek committed
292 293
  * Fixed a buffer overflow when parsing MAC addresses (Matthieu Boutier).
  * Implemented MAC address parsing for BSD (Matthieu Boutier).
Juliusz Chroboczek committed
294

Juliusz Chroboczek committed
295 296 297 298
27 August 2011: babeld 1.1.4

  * Change the default port number to 6696, as allocated by IANA.

Juliusz Chroboczek committed
299 300 301 302 303 304 305 306
3 August 2011: babeld 1.1.3

  * Implemented an option -u to keep unfeasible routes; this is useful
    for giving more data to front-end interfaces.
  * Fixed a number of minor bugs in the front-end interface.
  * Fixed incorrect handling of interfaces with multiple link-local
    addresses (thanks to Matthieu Boutier).

Juliusz Chroboczek committed
307
27 July 2011: babeld 1.1.2:
Juliusz Chroboczek committed
308 309 310 311 312 313

  * Changed the strategy used to tweak an installed route in a way that
    should avoid packet loss (thanks to Dave Taht).
  * Fixed the handling of duplicate interface definitions in the config
    file (thanks to Matthieu Boutier).

Juliusz Chroboczek committed
314
16 May 2011: babeld 1.1.1:
Juliusz Chroboczek committed
315

Juliusz Chroboczek committed
316
  * Fixed two bugs in the message parser that could cause IPv4 updates to
Juliusz Chroboczek committed
317 318 319
    get lost.
  * Fixed a bug in the monitoring interface that could cause route ids
    to change (thanks to Gabriel Kerneis).
Juliusz Chroboczek committed
320
  * INCOMPATIBLE CHANGE: the default wired hello interval is now 4 seconds.
Juliusz Chroboczek committed
321 322
  * Ported to Bionic libc.

Juliusz Chroboczek committed
323
30 January 2011: babeld 1.1.0:
Juliusz Chroboczek committed
324

Juliusz Chroboczek committed
325 326 327
  * INCOMPATIBLE CHANGE: the UDP port number and multicast group have
    been changed to be the ones allocated by IANA.
  * Initial port to OpenBSD, by Vincent Gross.
Juliusz Chroboczek committed
328

Juliusz Chroboczek committed
329 330 331 332
1 October 2010: babeld 1.0.2:

  * Worked around a gcc bug that would cause assertion failures on MIPS.

Juliusz Chroboczek committed
333
2 May 2010: babeld 1.0.1:
Juliusz Chroboczek committed
334 335 336

  * Fixed a bug that could cause input filters to be ignored.

Juliusz Chroboczek committed
337 338 339 340
22 April 2010: babeld 1.0:

  * Minor portability fixes.

Juliusz Chroboczek committed
341
8 February 2010: babeld 0.98:
Juliusz Chroboczek committed
342

Juliusz Chroboczek committed
343 344
  * Implement the ability to prefer Babel routes to external routes
    according to the kernel priority (-A).
Juliusz Chroboczek committed
345 346
  * Implement the ability to redistribute "boot" routes when the protocol
    is explicitly specified on the "redistribute" line.
Juliusz Chroboczek committed
347 348
  * Allow trailing whitespace in config file.

Juliusz Chroboczek committed
349
5 November 2009: babeld 0.97:
Juliusz Chroboczek committed
350

Juliusz Chroboczek committed
351
  * INCOMPATIBLE CHANGE: rename babel.{conf,log} to babeld.*.
Juliusz Chroboczek committed
352 353
  * Use getopt for parsing command-line options.

Juliusz Chroboczek committed
354
11 August 2009: babeld 0.96
Juliusz Chroboczek committed
355

Juliusz Chroboczek committed
356
  * Renamed babel to babeld.
Juliusz Chroboczek committed
357 358 359 360
  * Routes are now automatically flushed when an interface goes down or an
    IPv4 address changes, which avoids desynchronisation between Babel and
    the kernel.

Juliusz Chroboczek committed
361
21 April 2009: babel 0.95
Juliusz Chroboczek committed
362

Juliusz Chroboczek committed
363 364
  * Fixed a bug that broke link-quality estimation, and could cause
    severe instability when we had both good and marginal neighbours.
Juliusz Chroboczek committed
365 366 367
  * We now send retractions after a redistributed route is retracted.
  * Fixed a bug that could cause reliable messages (retractions and
    router-id switches) to only be sent twice.
Juliusz Chroboczek committed
368
  * We no longer obey a silent time at startup, instead sending a bunch of
Juliusz Chroboczek committed
369
    retractions.  The silent time is inconvenient, but seldom useful.
Juliusz Chroboczek committed
370 371
  * Updates for routes to self are now sent together with other updates
    (they used to be sent more frequently).
Juliusz Chroboczek committed
372 373 374
  * Fixes the configuration parser to interpret hello-interval as a number
    of seconds, as specified in the documentation (it used to be interpreted
    as a number of milliseconds).
Juliusz Chroboczek committed
375
  * INCOMPATIBLE CHANGE: the update interval is now a per-interface value,
Juliusz Chroboczek committed
376 377
    may be configured manually in the configuraton file, and defaults to
    4 times the hello interval.  The -u flag is gone.
Juliusz Chroboczek committed
378

Juliusz Chroboczek committed
379
10 April 2009: babel 0.94
Juliusz Chroboczek committed
380

Juliusz Chroboczek committed
381 382
  * Fixed a bug introduced in 0.17 that caused recently retracted routes to
    remain until the routing table entry was flushed.
Juliusz Chroboczek committed
383 384 385 386
  * Implemented per-interface configuration of parameters such as link
    cost, hello interval etc.  The command-line flags are now only used to
    set defaults.

Juliusz Chroboczek committed
387
15 March 2009: babel 0.93
Juliusz Chroboczek committed
388 389 390

  * No longer update seqno periodically, rely on explicit seqno requests.

Juliusz Chroboczek committed
391
21 January 2009: babel 0.92
Juliusz Chroboczek committed
392 393 394 395 396 397

  * Fixed a bug that could cause a crash if an interface was repeatedly
    brought down and then back up.
  * Implemented some protection against time stepping when POSIX clocks are
    not available.

Juliusz Chroboczek committed
398
10 November 2008: babel 0.91
Juliusz Chroboczek committed
399 400 401 402 403

  * Maintain buffered updates per-interface, which makes multi-interface
    nodes significantly less noisy.
  * Changed the strategy for dealing with unfeasible routes to be slightly
    more generous while still avoiding loops.
Juliusz Chroboczek committed
404
  * Fixed a bug that would cause multi-hop requests to be spuriously resent.
Juliusz Chroboczek committed
405 406
  * Made a number of micro-optimisations throughout.

Juliusz Chroboczek committed
407 408 409 410 411 412 413 414 415 416
23 October 2008: babel 0.90

  * INCOMPATIBLE CHANGE: all new Babel version 2 protocol, which is both
    more robust and less chatty than version 1.
  * Tweaked the strategies for sending triggered updates and unfeasible
    requests to be more conservative.
  * Minor optimisations all over the place.
  * Removed the protocol specification -- the version 2 spec is maintained
    separately.

Juliusz Chroboczek committed
417
18 October 2008: babel 0.17
Juliusz Chroboczek committed
418 419

  * INCOMPATIBLE CHANGE: removed support for ``inherit'' in redistribution.
Juliusz Chroboczek committed
420
  * INCOMPATIBLE CHANGE: a pidfile is now created by default.
Juliusz Chroboczek committed
421
  * Increased the default seqno interval.
Juliusz Chroboczek committed
422
  * Use a fixed kernel priority for routes installed by babel.
Juliusz Chroboczek committed
423

Juliusz Chroboczek committed
424
29 September 2008: babel 0.16
Juliusz Chroboczek committed
425 426

  * Tweaked cost computation to be slightly slower.
Juliusz Chroboczek committed
427
  * Implemented a local interface for GUIs.
Juliusz Chroboczek committed
428
  * INCOMPATIBLE CHANGE: the -X command-line option is no more.
Juliusz Chroboczek committed
429

Juliusz Chroboczek committed
430
8 July 2008: babel 0.15
Juliusz Chroboczek committed
431

Juliusz Chroboczek committed
432
  * Fixed a bug that could break link-quality estimation on yo-yo links.
Juliusz Chroboczek committed
433
  * Protect against duplicate neighbour ids on the same interface.
Juliusz Chroboczek committed
434
  * More tweaks to improve scaling with the number of kernel routes.
Juliusz Chroboczek committed
435
  * Tweaked the default update interval.
Juliusz Chroboczek committed
436

Juliusz Chroboczek committed
437
1 July 2008: babel 0.14
Juliusz Chroboczek committed
438 439

  * Use POSIX clocks if available to protect against clock stepping.
Juliusz Chroboczek committed
440 441
  * Made babel use available internal routes straight away when the
    set of redistributed routes changes.
Juliusz Chroboczek committed
442
  * Lifted the arbitrary limit on the number of kernel routes.
Juliusz Chroboczek committed
443
  * Changed the routing metric used on wireless links to plain ETX.
Juliusz Chroboczek committed
444 445 446
  * Bridges are now automatically detected and treated as potential
    wireless interfaces.
  * Reduced the default hello interval.
Juliusz Chroboczek committed
447

Juliusz Chroboczek committed
448
24 May 2008: babel 0.13
Juliusz Chroboczek committed
449

Juliusz Chroboczek committed
450 451
  * Removed all arbitrary limits (interfaces, neighbours, routes,
    xroutes and sources).
Juliusz Chroboczek committed
452 453 454
  * Fixed a bug that prevented expiration of stale sources.
  * Updated the kernel interface to work with recent Linux kernels.
  * More tweaks to the order in which updates are sent.
Juliusz Chroboczek committed
455

Juliusz Chroboczek committed
456
7 April 2008: babel 0.12
Juliusz Chroboczek committed
457

Juliusz Chroboczek committed
458
  * Retractions are now sent multiple times, which should speed up
Juliusz Chroboczek committed
459
    convergence in presence of packet loss.
Juliusz Chroboczek committed
460
  * Optimised the sending of updates to make them smaller.
Juliusz Chroboczek committed
461 462
  * Don't forward requests multiple times; this should reduce the
    noise due to requests with no increase in convergence time.
Juliusz Chroboczek committed
463
  * Fixed a bug that could cause a crash when resending requests.
Juliusz Chroboczek committed
464
  * Added some protection against clock stepping.
Juliusz Chroboczek committed
465

Juliusz Chroboczek committed
466
29 March 2008: babel 0.11
Juliusz Chroboczek committed
467 468 469 470

  * Implemented sub-second hello and update intervals.
  * Fixed a bug that could prevent the best route from being selected
    for extended periods of time.
Juliusz Chroboczek committed
471
  * Implemented protection against out-of-date requests being sent and
Juliusz Chroboczek committed
472
    forwarded when a node loses its sequence number.
Juliusz Chroboczek committed
473 474
  * INCOMPATIBLE CHANGE: reduced the cost of wired networks down to 96
    from 128.
Juliusz Chroboczek committed
475 476
  * Tweaked the frequency at which a router's seqno increases, to make
    it more likely that a feasible route will be available when needed.
Juliusz Chroboczek committed
477
  * Implemented garbage collection of old sources.
Juliusz Chroboczek committed
478
  * Implemented coalescing of unicast messages.
Juliusz Chroboczek committed
479
  * Fixed a bug that could cause a crash when a link's MTU changes.
Juliusz Chroboczek committed
480 481
  * Fixed a bug that could delay noticing that a network is no longer
    idle when running Babel with the -i flag.
Juliusz Chroboczek committed
482 483
  * Fixed a bug that could cause incorrect metrics to be advertised
    when output filtering was used.
Juliusz Chroboczek committed
484 485
  * Fixed a bug that could cause incorrect link costs to be computed when
    a neighbour reduces its hello interval.
Juliusz Chroboczek committed
486
  * Fixed some minor issues with the ordering of outgoing messages.
Juliusz Chroboczek committed
487

Juliusz Chroboczek committed
488
11 March 2008: babel 0.10
Juliusz Chroboczek committed
489

Juliusz Chroboczek committed
490 491
  * Implemented the ability to automatically export local addresses (see
    the ``local'' keyword in redistribute specifications).  This should
Juliusz Chroboczek committed
492 493
    avoid the need to explicitly specify -X on the command line
    (Julien Cristau and Juliusz Chroboczek).
Juliusz Chroboczek committed
494 495 496
  * INCOMPATIBLE CHANGE: local routes (local interface addresses) are
    now exported by default.  Specify ``redistribute local deny'' to
    avoid that.
Juliusz Chroboczek committed
497 498
  * Babel will now automatically choose a router id if none is
    specified on the command line.
Juliusz Chroboczek committed
499 500
  * Automatically adapt to interfaces appearing or disappearing at runtime,
    as is usually the case when running over tunnels or VPNs.
Juliusz Chroboczek committed
501 502
  * Changed the link quality computation algorithm to not discard very
    lossy links.
Juliusz Chroboczek committed
503 504 505
  * Multi-hop requests will now be forwarded to an unfeasible successor
    under some circumstances.
  * Send multi-hop requests more aggressively.
Juliusz Chroboczek committed
506 507
  * Send requests for a new seqno upon receiving an unfeasible update
    if it's better than what we have.
Juliusz Chroboczek committed
508
  * No longer consider the age of routes in route selection.
Juliusz Chroboczek committed
509
  * Added ability to run as a daemon.
Juliusz Chroboczek committed
510

Juliusz Chroboczek committed
511
14 February 2008: babel 0.9
Juliusz Chroboczek committed
512 513 514

  * Implemented a proper configuration language to specify input and
    output filters and redistribution policies.
Juliusz Chroboczek committed
515
  * INCOMPATIBLE CHANGE: the flags -4, -x and -c are no longer supported.
Juliusz Chroboczek committed
516

Juliusz Chroboczek committed
517
8 February 2008: babel 0.8
Juliusz Chroboczek committed
518 519

  * Babel will now automatically check for interfaces' up/down status,
Juliusz Chroboczek committed
520
    IPv4 address, and optionally for carrier sense.
Juliusz Chroboczek committed
521 522
  * Implemented the -w option, which disables all optimisations for
    wired interfaces.
Juliusz Chroboczek committed
523
  * Implemented support for non-default routing tables.
Juliusz Chroboczek committed
524 525
  * Fixed a bug that could spuriously remove IPv4 routes (thanks to
    Julien Cristau).
Juliusz Chroboczek committed
526

Juliusz Chroboczek committed
527
3 January 2008: babel 0.7
Juliusz Chroboczek committed
528 529

  * Implemented support for IPv4.
Juliusz Chroboczek committed
530
  * Fixed sending of unicast requests.
Juliusz Chroboczek committed
531 532
  * Don't send poison when receiving a request for an unknown route.
  * Basic filtering infrastructure.
Juliusz Chroboczek committed
533
  * Removed support for broadcast IHU.
Juliusz Chroboczek committed
534
  * Changed the behaviour of -d.
Juliusz Chroboczek committed
535

Juliusz Chroboczek committed
536 537 538 539 540 541
16 October 2007: babel 0.6

  * Implemented resending of unsatisfied requests, with exponential backoff.
  * Fixed a potential crash in the request handling code.
  * Send IHUs more aggressively.

Juliusz Chroboczek committed
542 543 544 545 546 547 548 549 550
9 October 2007: babel 0.5

  * Implemented forwarding of requests and replies.
  * Fixed a bug that prevented requests from being parsed correctly.
  * Fixed a bug that prevented IHU intervals from being sent.
  * Respect reboot_time even after an id change.
  * Deal with neighbours rebooting and losing their hello seqno when
    computing link quality.

Juliusz Chroboczek committed
551 552 553 554 555
23 September 2007: babel 0.4

  * Fixed incorrect expiration of old sources.  This could prevent
    convergence in some cases.

Juliusz Chroboczek committed
556
16 September 2007: babel 0.3
Juliusz Chroboczek committed
557 558 559

  * Fixes to Mac OS X support (Grégoire Henry).

Juliusz Chroboczek committed
560 561 562 563 564 565 566 567 568 569 570
29 August 2007: babel 0.2

  * Made jitter computation depend on how urgent a given message is.
    This dramatically improves convergence speed, without increasing
    network load.
  * Fixed a bug that prevented neighbour associations from being
    discarded at shutdown.

22 August 2007: babel 0.1

  * Initial public release.