CHANGES 10.8 KB
Newer Older
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
1
9 September 2011: babeld 1.2.0
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
2 3 4 5

  * 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's avatar
Juliusz Chroboczek committed
6 7
  * Fixed a buffer overflow when parsing MAC addresses (Matthieu Boutier).
  * Implemented MAC address parsing for BSD (Matthieu Boutier).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
8

9 10 11 12
27 August 2011: babeld 1.1.4

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

13 14 15 16 17 18 19 20
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).

21
27 July 2011: babeld 1.1.2:
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
22 23 24 25 26 27

  * 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).

28
16 May 2011: babeld 1.1.1:
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
29

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
30
  * Fixed two bugs in the message parser that could cause IPv4 updates to
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
31 32 33
    get lost.
  * Fixed a bug in the monitoring interface that could cause route ids
    to change (thanks to Gabriel Kerneis).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
34
  * INCOMPATIBLE CHANGE: the default wired hello interval is now 4 seconds.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
35 36
  * Ported to Bionic libc.

37
30 January 2011: babeld 1.1.0:
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
38

39 40 41
  * 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's avatar
Juliusz Chroboczek committed
42

43 44 45 46
1 October 2010: babeld 1.0.2:

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

47
2 May 2010: babeld 1.0.1:
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
48 49 50

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

51 52 53 54
22 April 2010: babeld 1.0:

  * Minor portability fixes.

55
8 February 2010: babeld 0.98:
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
56

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
57 58
  * Implement the ability to prefer Babel routes to external routes
    according to the kernel priority (-A).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
59 60
  * Implement the ability to redistribute "boot" routes when the protocol
    is explicitly specified on the "redistribute" line.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
61 62
  * Allow trailing whitespace in config file.

63
5 November 2009: babeld 0.97:
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
64

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
65
  * INCOMPATIBLE CHANGE: rename babel.{conf,log} to babeld.*.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
66 67
  * Use getopt for parsing command-line options.

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
68
11 August 2009: babeld 0.96
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
69

70
  * Renamed babel to babeld.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
71 72 73 74
  * Routes are now automatically flushed when an interface goes down or an
    IPv4 address changes, which avoids desynchronisation between Babel and
    the kernel.

75
21 April 2009: babel 0.95
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
76

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
77 78
  * Fixed a bug that broke link-quality estimation, and could cause
    severe instability when we had both good and marginal neighbours.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
79 80 81
  * 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's avatar
Juliusz Chroboczek committed
82
  * We no longer obey a silent time at startup, instead sending a bunch of
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
83
    retractions.  The silent time is inconvenient, but seldom useful.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
84 85
  * Updates for routes to self are now sent together with other updates
    (they used to be sent more frequently).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
86 87 88
  * 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's avatar
Juliusz Chroboczek committed
89
  * INCOMPATIBLE CHANGE: the update interval is now a per-interface value,
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
90 91
    may be configured manually in the configuraton file, and defaults to
    4 times the hello interval.  The -u flag is gone.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
92

93
10 April 2009: babel 0.94
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
94

95 96
  * Fixed a bug introduced in 0.17 that caused recently retracted routes to
    remain until the routing table entry was flushed.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
97 98 99 100
  * Implemented per-interface configuration of parameters such as link
    cost, hello interval etc.  The command-line flags are now only used to
    set defaults.

101
15 March 2009: babel 0.93
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
102 103 104

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

105
21 January 2009: babel 0.92
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
106 107 108 109 110 111

  * 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.

112
10 November 2008: babel 0.91
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
113 114 115 116 117

  * 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's avatar
Juliusz Chroboczek committed
118
  * Fixed a bug that would cause multi-hop requests to be spuriously resent.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
119 120
  * Made a number of micro-optimisations throughout.

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
121 122 123 124 125 126 127 128 129 130
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.

131
18 October 2008: babel 0.17
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
132 133

  * INCOMPATIBLE CHANGE: removed support for ``inherit'' in redistribution.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
134
  * INCOMPATIBLE CHANGE: a pidfile is now created by default.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
135
  * Increased the default seqno interval.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
136
  * Use a fixed kernel priority for routes installed by babel.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
137

138
29 September 2008: babel 0.16
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
139 140

  * Tweaked cost computation to be slightly slower.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
141
  * Implemented a local interface for GUIs.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
142
  * INCOMPATIBLE CHANGE: the -X command-line option is no more.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
143

144
8 July 2008: babel 0.15
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
145

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
146
  * Fixed a bug that could break link-quality estimation on yo-yo links.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
147
  * Protect against duplicate neighbour ids on the same interface.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
148
  * More tweaks to improve scaling with the number of kernel routes.
149
  * Tweaked the default update interval.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
150

151
1 July 2008: babel 0.14
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
152 153

  * Use POSIX clocks if available to protect against clock stepping.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
154 155
  * Made babel use available internal routes straight away when the
    set of redistributed routes changes.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
156
  * Lifted the arbitrary limit on the number of kernel routes.
157
  * Changed the routing metric used on wireless links to plain ETX.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
158 159 160
  * Bridges are now automatically detected and treated as potential
    wireless interfaces.
  * Reduced the default hello interval.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
161

162
24 May 2008: babel 0.13
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
163

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
164 165
  * Removed all arbitrary limits (interfaces, neighbours, routes,
    xroutes and sources).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
166 167 168
  * 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's avatar
Juliusz Chroboczek committed
169

170
7 April 2008: babel 0.12
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
171

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
172
  * Retractions are now sent multiple times, which should speed up
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
173
    convergence in presence of packet loss.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
174
  * Optimised the sending of updates to make them smaller.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
175 176
  * Don't forward requests multiple times; this should reduce the
    noise due to requests with no increase in convergence time.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
177
  * Fixed a bug that could cause a crash when resending requests.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
178
  * Added some protection against clock stepping.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
179

180
29 March 2008: babel 0.11
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
181 182 183 184

  * 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's avatar
Juliusz Chroboczek committed
185
  * Implemented protection against out-of-date requests being sent and
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
186
    forwarded when a node loses its sequence number.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
187 188
  * INCOMPATIBLE CHANGE: reduced the cost of wired networks down to 96
    from 128.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
189 190
  * 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's avatar
Juliusz Chroboczek committed
191
  * Implemented garbage collection of old sources.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
192
  * Implemented coalescing of unicast messages.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
193
  * Fixed a bug that could cause a crash when a link's MTU changes.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
194 195
  * Fixed a bug that could delay noticing that a network is no longer
    idle when running Babel with the -i flag.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
196 197
  * Fixed a bug that could cause incorrect metrics to be advertised
    when output filtering was used.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
198 199
  * Fixed a bug that could cause incorrect link costs to be computed when
    a neighbour reduces its hello interval.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
200
  * Fixed some minor issues with the ordering of outgoing messages.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
201

202
11 March 2008: babel 0.10
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
203

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
204 205
  * Implemented the ability to automatically export local addresses (see
    the ``local'' keyword in redistribute specifications).  This should
206 207
    avoid the need to explicitly specify -X on the command line
    (Julien Cristau and Juliusz Chroboczek).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
208 209 210
  * INCOMPATIBLE CHANGE: local routes (local interface addresses) are
    now exported by default.  Specify ``redistribute local deny'' to
    avoid that.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
211 212
  * Babel will now automatically choose a router id if none is
    specified on the command line.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
213 214
  * Automatically adapt to interfaces appearing or disappearing at runtime,
    as is usually the case when running over tunnels or VPNs.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
215 216
  * Changed the link quality computation algorithm to not discard very
    lossy links.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
217 218 219
  * Multi-hop requests will now be forwarded to an unfeasible successor
    under some circumstances.
  * Send multi-hop requests more aggressively.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
220 221
  * Send requests for a new seqno upon receiving an unfeasible update
    if it's better than what we have.
222
  * No longer consider the age of routes in route selection.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
223
  * Added ability to run as a daemon.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
224

225
14 February 2008: babel 0.9
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
226 227 228

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

231
8 February 2008: babel 0.8
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
232 233

  * Babel will now automatically check for interfaces' up/down status,
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
234
    IPv4 address, and optionally for carrier sense.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
235 236
  * Implemented the -w option, which disables all optimisations for
    wired interfaces.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
237
  * Implemented support for non-default routing tables.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
238 239
  * Fixed a bug that could spuriously remove IPv4 routes (thanks to
    Julien Cristau).
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
240

241
3 January 2008: babel 0.7
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
242 243

  * Implemented support for IPv4.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
244
  * Fixed sending of unicast requests.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
245 246
  * Don't send poison when receiving a request for an unknown route.
  * Basic filtering infrastructure.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
247
  * Removed support for broadcast IHU.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
248
  * Changed the behaviour of -d.
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
249

250 251 252 253 254 255
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.

256 257 258 259 260 261 262 263 264
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.

265 266 267 268 269
23 September 2007: babel 0.4

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

270
16 September 2007: babel 0.3
Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
271 272 273

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

Juliusz Chroboczek's avatar
Juliusz Chroboczek committed
274 275 276 277 278 279 280 281 282 283 284
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.