Removed olsrd_plugin_io.h
[olsrd.git] / CHANGELOG
index 68e115b..66b6d8a 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,12 +1,98 @@
 This file states changes as of version 0.2.4:
+$Id: CHANGELOG,v 1.15 2004/11/22 01:22:31 tlopatic Exp $
 
 0.4.8 ---------------------------------------------------------------------
 
+LICENSE CHANGE
+
+Olsrd is now distributed under a BSD style license. We belive olsrd will
+be better off using this license as it opens up for commercial players
+to use olsrd freely in their products. In the end this will lead to
+this kind of users doing serious testing and bugfixing of olsrd. 
+
+NO MORE THREADS
+
+Olsrd no longer uses any thread library on its operation. Everything
+now happens in the main thread allowing for use of olsrd on platforms
+with no thread library.
+
+ETX-LIKE LINK QUALITY DETECTION
+
+We can now determine the packet loss on a link by looking at the serial
+numbers of the OLSR messages received from a neighbour. This tells us how
+many packets get through from our neighbour to us. We use a new extended
+kind of HELLO messages (LQ_HELLO messages, LQ = link quality) to broadcast
+the link quality that we have determined on our end of the link to our
+neighbours. So do our neighbours, and we as well as they end up with an
+idea of how good the link is in both directions. From the LQ_HELLOs we
+also learn the link quality between our neighbours and our two-hop neigh-
+bours. In this way we can select those neighbours as MPRs that have the
+best links to our two-hop neighbours. To distribute the link quality
+throughout the network, we use a new extended version of TC messages
+(LQ_TC messages). They contain the qualities at both ends of each of our
+links. Nodes can then run Dijkstra's algorithm to find a path between
+themselves and other nodes that minimizes the packet loss.
+
+If the newly introduced "LinkQualityLevel" is set to zero in the
+configuration file, link quality is not used and the daemon behaves as
+before, i.e. as specified by the OLSR RFC. If this parameter is set
+to 1, LQ_HELLOs and LQ_TCs are used instead of HELLOs and TCs, link
+quality is measured and MPRs are selected based on the link qualities.
+If this parameter is set to 2, the routing table is additionally
+calculated based on the link qualities.
+
+Setting "LinkQualityLevel" to a non-zero value BREAKS COMPATIBILITY. You
+will then not be able to participate in RFC-conformant OLSR networks
+any longer. This is because we use LQ_HELLOs and LQ_TCs instead of HELLOs
+and TCs in this case.
+
+It's best practice to set "LinkQualityLevel" to the same value on all
+nodes in a network.
+
+When determining the quality of a link olsrd only considers a given
+number of most recent OLSR packets received from its neighbours. By
+default, olsrd looks at the 10 most recent OLSR packets. This can be
+changed via the "LinkQualityWinSize" configuration option. Values
+between 3 and 128 are legal.
+
+NEW CONFIGFILE PARSER/FORMAT/SCHEME
+
+ToDo
+
+FREEBSD AND MAC OSX PORT
+
+This version offers an initial port of olsrd to FreeBSD and Mac OS
+X. Like the Windows port it currently does not support IPv6. As this
+is a very first try at supporting FreeBSD and Mac OS X, this port is
+probably not as reliable as the Linux version. We'd greatly appreciate
+feedback and bug reports. To compile you need GNU make. Then simply
+run "gmake OS=fbsd" to build the executable.
+
+CLEAR SCREEN
+
+Adding "ClearScreen yes" to the configuration file clears the screen
+each time before the debug output shows updated information. This
+makes the debug output easier to read in many cases. "ClearScreen no"
+is the default, if no "ClearScreen" directive is given in the
+configuration file.
+
+PLUGIN INTERFACE
+
+There are some changes in the plugin interface. It is now at
+version 2. Plugin specific parameters from the configfile 
+will now be passed on to plugins.
+
 ACPI SUPPORT IN WILLINGNESS CALCULATION(LINUX)
 
 The willingness calculation for Linux, now also supports the more
 modern ACPI proc interface in addittion to APM.
 
+IPC OPTIONS
+
+Various options regarding IPC connections can now be set in the 
+configfile. The options are max connections, allowed unicast
+hosts and allowed net-ranges.
+
 CODE REWRITES
 
 Much of the message generation and net output code is rewritten.
@@ -28,21 +114,28 @@ an API is available to plugins(and olsr code).
 
 OS DEPENDENT NETWORK INTERFACE
 
-The OS dependen ntework functions are now defined in net_os.h
+The OS dependen network functions are now defined in net_os.h
 instead of beeing mixed up with internal network functions
 in net.h.
 
-COMPILER WARNINGS
+NEW MAKEFILE
 
-In the Linux makefile the '-Wmissing-prototypes -Wstrict-prototypes'
-arguments has been added. All the warnings issued by gcc after
-giving these arguments have been fixed for general- and Linux-code.
+The common makefile now includes automatic dependency generation 
+using makedepend.
 
 BUGFIXES
 
+A bug that caused the announced ANSN sequence number to never stop
+beeing increased when a change in the MPR selector set was detected
+has been fixed. This bug could cause unstable routes.
 A bug that in many cases caused the wrong routes to be deleted 
 when using IPv6 has been fixed.
 
+PLUGINS
+
+There are a lot of changes that affects plugins in this release.
+This has mainly to do with the new outputbuffering and
+configuration schemes.
 
 0.4.7 ---------------------------------------------------------------------