Added some lines about the license change
[olsrd.git] / CHANGELOG
1 This file states changes as of version 0.2.4:
2 $Id: CHANGELOG,v 1.14 2004/11/21 14:41:05 kattemat Exp $
3
4 0.4.8 ---------------------------------------------------------------------
5
6 LICENSE CHANGE
7
8 Olsrd is now distributed under a BSD style license. We belive olsrd will
9 be better off using this license as it opens up for commercial players
10 to use olsrd freely in their products. In the end this will lead to
11 this kind of users doing serious testing and bugfixing of olsrd. 
12
13 NO MORE THREADS
14
15 Olsrd no longer uses any thread library on its operation. Everything
16 now happens in the main thread allowing for use of olsrd on platforms
17 with no thread library.
18
19 LINK QUALITY DETECTION
20
21 We can now determine the packet loss on a link by looking at the serial
22 numbers of the OLSR messages received from a neighbour. This tells us how
23 many packets get through from our neighbour to us. We use a new extended
24 kind of HELLO messages (LQ_HELLO messages, LQ = link quality) to broadcast
25 the link quality that we have determined on our end of the link to our
26 neighbours. So do our neighbours, and we as well as they end up with an
27 idea of how good the link is in both directions. From the LQ_HELLOs we
28 also learn the link quality between our neighbours and our two-hop neigh-
29 bours. In this way we can select those neighbours as MPRs that have the
30 best links to our two-hop neighbours. To distribute the link quality
31 throughout the network, we use a new extended version of TC messages
32 (LQ_TC messages). They contain the qualities at both ends of each of our
33 links. Nodes can then run Dijkstra's algorithm to find a path between
34 themselves and other nodes that minimizes the packet loss.
35
36 If the newly introduced "LinkQualityLevel" is set to zero in the
37 configuration file, link quality is not used and the daemon behaves as
38 before, i.e. as specified by the OLSR RFC. If this parameter is set
39 to 1, LQ_HELLOs and LQ_TCs are used instead of HELLOs and TCs, link
40 quality is measured and MPRs are selected based on the link qualities.
41 If this parameter is set to 2, the routing table is additionally
42 calculated based on the link qualities.
43
44 Setting "LinkQualityLevel" to a non-zero value BREAKS COMPATIBILITY. You
45 will then not be able to participate in RFC-conformant OLSR networks
46 any longer. This is because we use LQ_HELLOs and LQ_TCs instead of HELLOs
47 and TCs in this case.
48
49 It's best practice to set "LinkQualityLevel" to the same value on all
50 nodes in a network.
51
52 NEW CONFIGFILE PARSER/FORMAT/SCHEME
53
54 ToDo
55
56 FREEBSD AND MAC OSX PORT
57
58
59 PLUGIN INTERFACE
60
61 There are some changes in the plugin interface. It is now at
62 version 2. Plugin specific parameters from the configfile 
63 will now be passed on to plugins.
64
65 ACPI SUPPORT IN WILLINGNESS CALCULATION(LINUX)
66
67 The willingness calculation for Linux, now also supports the more
68 modern ACPI proc interface in addittion to APM.
69
70 IPC OPTIONS
71
72 Various options regarding IPC connections can now be set in the 
73 configfile. The options are max connections, allowed unicast
74 hosts and allowed net-ranges.
75
76 CODE REWRITES
77
78 Much of the message generation and net output code is rewritten.
79 Sending of partial messages should now work 100%. Also TC, MID 
80 and HNA messages are now cached for a random amount of time
81 before transmitted - this often leads to the situation where these
82 messages are sent together with an HELLO maessage, which is highly
83 desireable since it saves network resources.
84 PLUGIN DEVELOPERS must note that the buffers and size variables
85 used in net output is no longer directly accessible!
86
87 NET OUTPUT CODE REWRITTEN
88
89 Every interface now has one outputbuffer registered. This allows
90 messages to be "cached" as explained above, so that multiple
91 messages are stacked together.
92 Also the outputbuffer and size are no longer accessable directly,
93 an API is available to plugins(and olsr code).
94
95 OS DEPENDENT NETWORK INTERFACE
96
97 The OS dependen network functions are now defined in net_os.h
98 instead of beeing mixed up with internal network functions
99 in net.h.
100
101 NEW MAKEFILE
102
103 The common makefile now includes automatic dependency generation 
104 using makedepend.
105
106 BUGFIXES
107
108 A bug that caused the announced ANSN sequence number to never stop
109 beeing increased when a change in the MPR selector set was detected
110 has been fixed. This bug could cause unstable routes.
111 A bug that in many cases caused the wrong routes to be deleted 
112 when using IPv6 has been fixed.
113
114 PLUGINS
115
116 There are a lot of changes that affects plugins in this release.
117 This has mainly to do with the new outputbuffering and
118 configuration schemes.
119
120 0.4.7 ---------------------------------------------------------------------
121
122 NATIVE WINDOWS GUI AND INSTALLER
123
124 We now have a native Windows GUI. The GTK+ version is no longer
125 supported on Windows. The new native GUI is pretty compact as it does
126 not require the GTK+ runtime DLLs. In addition to monitoring olsrd's
127 state the GUI offers an easy way for novice users to configure
128 olsrd. It's pretty self-explanatory. Have a look at README-WIN32.txt
129 for details. The Windows version now also comes with an installer
130 based on the freely available Nullsoft Scriptable Install System
131 (NSIS). Looks like the Windows port is becoming more and more
132 Windows-ish. :-)
133
134 WIRELESS INTERFACE DETECTION ON WINDOWS
135
136 Like the Linux version the Windows port is now able to tell WLAN
137 interfaces from wired interfaces. We can now, for example, set
138 different HELLO intervals for WLAN interfaces and wired interfaces,
139 respectively.
140
141 ROUTE UPDATES
142
143 The order of updates of calculated routes is swapped. Now new routes
144 are added prior to deleting old ones. This could fix issues where
145 in some very very few cases one could experiment loss of routes.
146
147 BUGFIXES
148
149 There were quite some bugs in IPv6 operation in 0.4.6. These are
150 the bugs that were fixed:
151 - HNA message parsing did not work.
152 - Some IPv6 addresses were printed as IPv4 addresses in the
153   debug output.
154 - The '-dispin' option now works again.
155 - A filedescriptor leak in the IPv6 interface detection caused
156   olsrd to crash.
157
158
159 0.4.6 ---------------------------------------------------------------------
160
161 WINDOWS PORT!
162
163 Read the README-WIN32.txt file!
164
165 DYNAMIC NETWORK INTERFACE UPDATES
166
167 Network interfaces can now be updated and removed/added at
168 runtime. Olsrd will check all interfaces specified in the config 
169 file or on the command-line, every 5 seconds. If updates
170 occure, olsrd will register this and update the necessary data.
171 If interfaces are removed or added, olsrd will detect this
172 and configure the interfaces. If an interface is removed
173 olsrd will continue to check the interface, so if say, a PCMCIA
174 card is removed and later on reinserted(and given the same name),
175 olsrd will detect this and start running on it again.
176
177 Note that olsrd will now run even if no interfaces are detected.
178
179 ROUTE CALCULATION UPDATE
180
181 All 1 hop neighbor addresses that are not directly reachable trough
182 a symmetric link in the link set will now be added with a GW in the 
183 routing table. this GW will be an interface address from a registered
184 symmetric link to the neighbor.
185
186 MID UPDATE
187
188 Alias addresses are now registered in the link set processing
189 if available. This is not to pretty(since the vtime has to
190 be a mere guess) but it gives faster initial route updates.
191 If a HELLO is received(at initial registration) from an IP 
192 that is not the same as the one set as main address in the 
193 received HELLO header, then the IP from which the HELLO was 
194 received will be registered as an alias of the main address 
195 set in the HELLO header. The default vtime is set to 15 secs.
196
197 CODE RESTRUCTURING
198
199 All OS dependent interface configuration code is now located in
200 OS/ifnet.c(that would be linux/ifnet.c if using GNU/Linux).
201 The functions are available trough the headerfile src/ifnet.h
202
203 CODE CLEANUPS
204
205 - Some timer issues fixed
206 - Got rid of the global socket descriptors
207 - Updated indexing of network interfaces
208 - Introduced a global socket to use for ioctl calls(ioctl_s)
209 - Removed upper limit for interfaces to use
210 - Point-to-point interfaces are now allowed
211 - The main select(2) loop now uses a timeout
212 - A small bugfix in the select fd-set update code
213 - Some bugfixes in the configuration file parsing
214 - stdout/stderr are now set to not be buffered
215 - A bugfix in the MID generation regarding seq. numbering
216
217 PLUGIN INTERFCAE
218
219 A new set of functions that are called whenever a change in the 
220 interface configuration(update, addittion, removal) is made is 
221 introduced.
222 These functions are added and removed very much like the ptf
223 functions. Available trough the functions add_ifchgf and del_ifchgf.
224
225 OBS OBS OBS!!! PLUGIN DEVELOPERS READ THIS!!!!
226
227 The interface struct(declared in interfaces.h) has changed.
228 Plugin developers must update plugins that uses the interface
229 struct!
230
231 The headerfile olsr_plugin_io.h which contains the plugin interface
232 commands now contains a revision list where all changes are
233 stated.
234
235
236 0.4.5 ---------------------------------------------------------------------
237
238 PLUGIN: SECURE OLSR
239
240 A plugin that generates and checks message signatures is added.
241 Check lib/secure
242
243 PLUGIN: TOPOLOGY GRAPH
244
245 A plugin that generates output of the topology in the dot format
246 is added. See lib/dot_draw
247
248 OPTIMIZATIONS
249
250 Some optimizations done that should cause fewer route recalculations.
251
252 BUGFIXES
253
254 Some bugs reported by Takafumi Tanaka fixed.
255
256 RESTORATION OF NETWORK SETTINGS
257
258 Network settings like disabling of ICMP redirects and spoof filter, are
259 now restored at exit by olsrd.
260
261 RFC COMPLIANCE FIX
262
263 Nodes would in certain scenarios retransmit messages originating for
264 themselves. This was a RFC incompliance. Reported by Ingmar Baumgart.
265
266 NON-WLAN TIMERS
267
268 No longer setting the HELLO interval of non-wlan interfaces as a multiplier
269 of the wlan interval. The interval is set seperatly now.
270 Due to this there are some updates in the configfile imperatives.
271
272 CODE CLEANUPS
273
274 Some new macros introduced for table insertion and removal and IP
275 copying and comparision.
276
277 FRONT END BUGFIXES
278
279 IPv6 bugfixes in the GUI.
280
281
282 0.4.4 ---------------------------------------------------------------------
283
284 ROUTE CALCULATION
285
286 Routes are no longer added via neighbors declaring a willingness
287 of WILL_NEVER.
288
289 LINK SENSING AND ROUTE CALCULATION
290
291 Link sensing and route calculation has been updated to handle
292 multiple links between hosts in a sane way.
293
294 IP SPOOF FILTERING
295
296 IP spoof filtering is disabled on the interfaces which olsrd runs.
297 These settings are not restored!
298
299 ICMP REDIRECTS
300
301 ICMP redirect message generation is disabled on the interfaces
302 which olsrd runs.
303 These settings are not restored!
304
305 CONFIGFILE OPTIONS FOR MID AND HNA ADDED
306
307 Options to set the MID and HNA emission intervals and
308 validitytime in the configfile added.
309
310 IPv6 ADDRESS SCOPE
311
312 Option to set what IPv6 address type(scope) to use in the 
313 configfile added. It can be set to either global or site-local.
314
315 IPv6 MULTICAST
316
317 Options to set site-local and global multicast addresses
318 in the configfile added.
319
320 EMISSION INTERVAL FUNCTION
321
322 Functions to set emission intervals at runtime added.
323
324 LINK LAYER NOTIFICATIONS
325
326 If started with the -llinfo switch olsrd will collect and display
327 link-layer information on neighbors. This is no longer limited to
328 one interface. But no action is taken based on this info - and
329 there is a upper limit of 8 neighbors from which this info can
330 be collected pr. interface. This limitation is inherited from the
331 WLAN drivers and is not something imposed by the olsrd code!
332
333 IPv6 HNA MESSAGE FORMAT
334
335 IPv6 HNA messages now contains 128-bit netmask instead of prefix.
336
337 PLUGIN FUNCTIONS
338
339 Added "packet transform functions" which allow plugins to alter all
340 outgoing OLSR traffic.
341
342 RESTRUCTURING
343
344 Moved most headers out of OS dependent directories. The tunneling
345 and link-layer notification interface is not yet seperated from
346 the /linux directory.
347
348 MANUALPAGE
349
350 A manpage(olsrd(8)) describing olsrd has been created. It is installed
351 when using 'make install'.
352
353
354 0.4.3 ---------------------------------------------------------------------
355
356 PLUGIN SUPPORT
357
358 Olsrd now supports runtime-loadable plugins! A couple of example plugins
359 are located in the lib/ directory. Read the README files in the various 
360 plugin directories for more info. A directive to load plugins have been
361 added to the configfile as well. 
362 Documentation of the plugin interface can be fount at http://www.olsr.org.
363
364 The plugin interface is designed to be extendable. But it should _always_
365 be backwards compatible with the interface used in this release!
366
367 LINK-LAYER NOTIFICATION
368
369 Some preliminary link-layer notification code has been added. Link quality
370 can be written to stdout if olsrd is started with the -llinfo switch.
371 No action is currently taken based on this info. And info will only
372 be retreived from the interface named "eth1".
373 This code is not usable for users as of yet!
374
375 MPR UPDATES
376
377 Neighbors with willingness set to WILL_ALWAYS is now always added. The
378 MPR selection is optimized as described in RFC3626 section 8.3.1
379 point 5.
380
381 MPR BUGS
382
383 There was a couple of bugs in the MPR selection code. All fixed.
384
385 LINUX 2.6 BUG
386
387 Users could not run olsrd on multiple inerface using the Linux 2.6 kernel
388 series. This is now fixed.
389
390 MINOR BUGS
391
392 One small bug in link hysteresis initialization and one in HNA route
393 deletion.
394
395 MESSAGE-SEQUENCENUMBER INCOMPLIANCE
396
397 Message-seqnos was implementaed on a pr. messagetype and pr. interface
398 basis. This is not RFC3626 compliant and has been updates. All messages
399 and interfaces now uses a global seuencenumber.
400
401 RANDOM SEQUENCENUMBERS
402
403 Sequencenumbers are now initialized using a random value.
404
405 DAEMON MODE
406
407 Fixes for running olsrd in daemon mode(debug 0).
408
409 OPTIMIZATIONS
410
411 Optimizations based on profiling implemented.
412
413 SANITATION
414
415 Message size is checked for every massege before passing it to the
416 appropriate message persing function. If the size is bigger than the
417 remaining size of the olsr packet then the message is discarded.
418
419 GUI FRONT-END
420
421 Some minor modifications done to the gui.
422
423 INTERNAL CHANGES
424
425 Lots of changes in handling of registration and unregistration of
426 scheduler, socketparser, parser and local hna set.
427 Some restructuring and movement of functions.
428
429
430 0.4.2 ---------------------------------------------------------------------
431
432 No public release
433
434 0.4.1 ---------------------------------------------------------------------
435
436 No public release
437
438 0.4.0 ---------------------------------------------------------------------
439
440 LINK HYSTERESIS
441
442 Link hysteresis as described in the RFC added.
443
444 TC REDUNDANCY
445
446 TC redundancy as described in the RFC added
447
448 MPR REDUNDANCY
449
450 MPR redundancy as described in the RFC added
451
452 SCHEDULER REWRITE
453
454 The scheduler has been rewritten to register scheduled
455 events(function pointers) dynamically.
456
457 PARSER REWRITE
458
459 The parser has been rewritten to register parse functions
460 on a pr. messagetype dynamically
461
462 MALLOC WRAPPER
463
464 A wrapper for the malloc(3) syscal has been introduced.
465 olsr_malloc(size_t, const char *) should ALWAYS be used.
466
467 CODE RESTRUCTURING
468
469 Lots of restructuring in headerfiles.
470 Linux spesific code moved to subdirectory linux/
471 FreeBSD code to be put in freebsd/
472 LOTS of code restructured due to the rexrite of the scheduler
473 and parser.
474
475 MPR CALCULATION
476
477 Optimizing the MPR set as suggested in the RFC section
478 8.3.1 point 5 added.
479
480 BUGFIXES
481
482 Some bugs in MPR selection fixed.
483
484
485 0.3.8 ---------------------------------------------------------------------
486
487 CODE REWRITES
488
489 HNA code completeley rewritten!
490 The old code was really bad! Now it is much cleaner implemented and
491 should work fine.
492 One- and two-hop neighbor list structures rewritten. They now use
493 the same hashed double-linked lists as the rest of the information
494 sets use.
495
496 CODE RESTRUCTURING
497
498 Some code restructuing which resulted in the new files: timer.h,
499 mantissa.c, mantissa.h, hashing.c, hashing.h, linux/net.c 
500 linux/net.h, linux/kernel_routes.c, linux/kernel_routes.h and some 
501 renamed files
502
503 BUG FIXES
504
505 The bug causing errormessages on exit is fixed.
506 The bug that caused initial HNA routes in the GUI to display a hopcount
507 of 0 fixed.
508 IPv6 HNA netmasks were all added as /128. It's fixed now.
509
510 IPv6
511
512 Turns out sitelocal address had to be preferred to avoid IPv6 header
513 messing up link-sensing. Bug fixed
514
515
516 0.3.7 ---------------------------------------------------------------------
517
518 CODE REWRITES
519
520 The entire TC set and MPR selector set code rewritten. Hashing and
521 double linked lists added to the MID code.
522 Lots of HNA code has been rewriteen as well.
523
524 HNA bugfix
525
526 When a node lost connectivity to a HNA GW all HNA entries to that gw
527 was deleted. This has been fixed - and HNA entries only gets deleted
528 on timeout now.
529 Other HNA bugs have been fixed as well. But the whole HNA implementation
530 needs a rewrite!
531
532 Holdingtime BUGfix
533
534 There was a bug that caused holdingtime not to be properly recalculated
535 when using non-default emission intervals.
536
537 Forwarding and symmetric neighbors
538
539 Seems I had misread the RFC on what a 1-hop symmetric neighbor is.
540 Now the link-set is checked when a check for a symmetric neighbor
541 is done. Not the 1 hop neighbor set as it used to be. This way
542 the hack when receiving MID messages could be removed.
543
544 IPv6
545
546 Global addresses are now preferred. Sitelocal addresses are only used
547 if no global adresses are found. There have been problems where
548 the address set in the IP header of IPv6 packets do not match the
549 address chosen by OLSR.
550
551 GUI - 0.2.5
552
553 The GUI is finally updated! It can now handle piggybacked messages
554 and link sensing HELLO message format.
555
556
557 0.3.6 ---------------------------------------------------------------------
558
559 HNA support using IPv6
560
561 HNA now works using IPv6 as well! Just add the netwrok address and
562 prefix in the HNA6 section in the configfile. The IPv6 HNA packets differ
563 some from the IPv4 as they don't send the netmask but the prefix.
564
565
566 NEW FILENAME FOR THE BINARY AND CONFIG FILE
567
568 They are now called olsrd and olsrd.conf. I figured I'd use the olsrd
569 name before somebody else started using it ;-)
570
571
572 Config file
573
574 New options: DEBUG, HNA6 and IPC-CONNECT added to config file.
575
576
577 Output
578
579 A printf-wrapper hans been introduced - debug level output handeling
580 is much more uniform now.
581 The daemon sould run fine in detatched mode now(DEBUG 0)
582
583 GUI front-end
584
585 The GUI front-end can now connect and dissconnect at any time while the
586 daemon is running, if started using the -ipc switch or with IPC set to
587 'yes' in the configfile.
588
589
590 BUGS
591
592 A small HNA bug fixed.
593
594
595 0.3.5 ---------------------------------------------------------------------
596
597 Forwarding jitter
598
599 Forwarding jitter added. Messages are piggibacked if they arrive(and are to 
600 be forwarded) while there is data to be forwarded buffered.
601 Added some bugfixes to support parsing of piggybacked messages as well.
602
603 Route calculation
604
605 Fixed route calculation so that 2 hop neighbors are added. This smooths
606 changes from 1 hop to 2 hop neighbor out. The old way one had to wait for 
607 a TC before the 2 hop neighbors were added.
608
609 2 hop neighbor set
610
611 All neighbors recieved in HELLO messages are added to the two hop 
612 neighborhood. This helps smoothing out the 1-to-2 hop transition as well.
613
614 MID calculation
615
616 MID calculation had to be updated due to the registering of two hop neighbors
617 that are already one hop neighbors. They sould not be considered when calculatin
618 two hop coverage.
619
620 Optimalizations
621
622 Deletion of possible one hop neighbors registered on non main-addresses when
623 first registering MID info from a node removed. This can not occure due
624 to the fact that registering of neighbor nodes are done on main addresses
625 from link-sensing
626 Option to not forward messages on wired links on which they arrived removed.
627 This is no longer usable to any degree when adding support for piggybacking
628 of forwarded messages is to be implemented.
629
630 Cleanups
631
632 Some unused parameters and commandline options were removed.
633
634
635
636 0.3.3 ---------------------------------------------------------------------
637
638 TC MESSAGEING
639
640 Added sending of empty TC messages if all MPR selectors are removed. Empty
641 TC messages are sent for a TC_HOLD_TIME period as described in section
642 9.3 in the RFC.
643
644 HNA
645
646 Fixed HNA route calculations for IPv6. I forgot to upgrade this in 0.3.2
647
648 OPTIONS
649
650 -hnaint and -midint command line optionas added to set the interval
651 of HNA and MID generation.
652
653 FORWARDING
654
655 As an optimization messages have not been forwarded on the recieved interface
656 if this is registered as a non-WLAN interface. This causes problems for
657 people using ethernet-to-WLAN adapters. This optimalization is now turned
658 off by default. It can be activated using the -nofwlan option.
659
660 BUGS
661
662 THERE ARE SOME NASTY BUGS IN 0.3.2!
663 Fixed a bug that caused 2 hop neighbors not to time out.
664 Fixed a bug that caused a 1 hop neighbor timeout not to recalculate
665 the routing table.
666 Fixed a small memleak in the MID set
667 Fixed some smaller bugs.
668
669 IPv6 functioning is not well tested in this release.
670
671 0.3.2 ---------------------------------------------------------------------
672
673 HNA
674
675 Updated HNA to be RFC compliant. This means that all recieved HNA tuples
676 are registered and only the subset of uniqe entries(net/netmask) with
677 the smallest hocount is inserted into the routing table.
678
679 Config file
680
681 User can specify configfile name using the -f switch.
682
683 Bugs
684
685 Fixed a link-sensing bug that caused problems when using MID nodes.
686
687 0.3.1 ---------------------------------------------------------------------
688
689 MPR calculation
690
691 MPR calculation is now based on the willingness announced by nodes.
692
693 Neighbor set
694
695 The neighbor set does not have timeouts on entries any more. Creation
696 and deletion af neighbor entries is done from the link-set as suggested
697 in the RFC.
698
699 Cleanups
700
701 Gotten rid of a lot of code that became more or less obsolete due to
702 all the changes introduced in 0.3.0.
703
704 Bugs
705
706 Fixed a nasty bug concerning the sequence numbering of TC packets.
707 Fixed some bugs regarding MPR calculation - and probably introduced 
708 a whole new species when implementing the willingness-based calculation ;-)
709
710
711 0.3.0 ---------------------------------------------------------------------
712
713 Due to the extensive amount of updates this release is versioned 0.3.0
714
715 Duplicate table and forwarding
716
717 The duplicate table functionallity is totally rewritten in 100% RFC
718 compliance. The forward algorithm specified in the RFC is implmented
719 this meant rewriting much of the packet processing code. The daemon
720 also forwards unknown packettypes now.
721
722 Link sensing and neighbor processing
723
724 Link sensing and neighbor processing was done in the same operation in the
725 old code. Link sensing is now a mechanism of its own which is 100% RFC
726 compliant. Neighbor processing and HELLO generation has been partly 
727 rewritten to be RFC compliant. Neighbors are now registered as either
728 SYN or NOT_SYM. The NOT_NEIGH, SYM_NEIGH and MPR_NEIGH values are only
729 used when building HELLO messages. Links are in one of the following states:
730 UNSPEC_LINK, ASYM_LINK or SYM_LINK.
731 HELLO messages now advertise link status of neighbors on the interface
732 the message is transmitted.
733
734 Willingness
735
736 A node now dynamically calculates willingness based on powersource and
737 possibly battery power. If the node is AC powered it announces a willingness
738 of 6. If batterypowered the willingness is calculated as:
739 P / 26
740 Where P is percentage of power left.
741
742 Configuration file
743
744 The daemon now tries to read its configuration from the file /etc/uolsrd.conf
745 A "standard" configuration file is installed when doing 'make install'.
746 This file should be edited to fit your needs.
747 Command-line options can still be used to override the configuration form
748 the file(ore if no config file is present).
749 The -f switch can also be used to specify a configuration file.
750
751 Willingness
752
753 If AdvancedPowerManagemant(APM) is supported on your system the willingness
754 of the node is dynamically calculated based upon the powerstatus of the node.
755 MPR calculation based upon willingness is not done as of yet.
756
757 TC ANSN
758
759 A bugs in the TC processing fixed.
760
761 HNA
762
763 Some serious HNA bugs fixed. These bugs caused a node to always choos the 
764 gateway with the larges hopcout :) More seriousley - a bug caused looping
765 of HNA messages in certain scenarios.
766
767 Package sequence numbers
768
769 These were added. Not much use as of now - but they're there(as specified 
770 in the RFC).
771
772 Broadcast address
773
774 Users can now specify the broadcast address to use. Usefull if one wishes to
775 use the 255.255.255.255 broadcast.
776
777
778
779 0.2.5 ---------------------------------------------------------------------
780
781 Htime and Vtime
782
783 Htime and Vtime processing and handeling added. Holding times used to be 
784 a static value for all nodes. Now every node can signal its vlidity time
785 to others.
786 To achieve this mantissa/exponent calculation functionality was added.
787 Messages now include Vtime(and Htime in HELLO) values in mantissa/exponent
788 format instead of just zero. These values are as stated above, used as holding
789 time for nodes.
790 the GUI should be upgraded as well...
791
792 Jitter
793
794 The use of jitter in message generation intervals vere fixed.
795
796
797 0.2.4 ---------------------------------------------------------------------
798
799 Seqno bugs
800
801 Some bugs concerning sequence numbers in HELLO and MID message handling 
802 was fixed. Newly registered nodes in the neighbor and MID sets were
803 initialized with a seqno of 0. When using a "wraparound" sequencenumber
804 check(as defined in olsr_protocol.h) this can produce errors if a new
805 node joins a network where existing nodes has seqnos >0x00FF.
806
807 IPv6 related bugs
808
809 Some checks and copying of node addresses where done using sizeof(u_olsr32_t)
810 which is 32 bits. This caused only the 32 firs bits of IPv6 addresses to
811 be copied and checked.