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