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