Removed olsrd_plugin_io.h
[olsrd.git] / CHANGELOG
index 9381a9a..66b6d8a 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,180 @@
 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.
+Sending of partial messages should now work 100%. Also TC, MID 
+and HNA messages are now cached for a random amount of time
+before transmitted - this often leads to the situation where these
+messages are sent together with an HELLO maessage, which is highly
+desireable since it saves network resources.
+PLUGIN DEVELOPERS must note that the buffers and size variables
+used in net output is no longer directly accessible!
+
+NET OUTPUT CODE REWRITTEN
+
+Every interface now has one outputbuffer registered. This allows
+messages to be "cached" as explained above, so that multiple
+messages are stacked together.
+Also the outputbuffer and size are no longer accessable directly,
+an API is available to plugins(and olsr code).
+
+OS DEPENDENT NETWORK INTERFACE
+
+The OS dependen network functions are now defined in net_os.h
+instead of beeing mixed up with internal network functions
+in net.h.
+
+NEW MAKEFILE
+
+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 ---------------------------------------------------------------------
+
+NATIVE WINDOWS GUI AND INSTALLER
+
+We now have a native Windows GUI. The GTK+ version is no longer
+supported on Windows. The new native GUI is pretty compact as it does
+not require the GTK+ runtime DLLs. In addition to monitoring olsrd's
+state the GUI offers an easy way for novice users to configure
+olsrd. It's pretty self-explanatory. Have a look at README-WIN32.txt
+for details. The Windows version now also comes with an installer
+based on the freely available Nullsoft Scriptable Install System
+(NSIS). Looks like the Windows port is becoming more and more
+Windows-ish. :-)
+
+WIRELESS INTERFACE DETECTION ON WINDOWS
+
+Like the Linux version the Windows port is now able to tell WLAN
+interfaces from wired interfaces. We can now, for example, set
+different HELLO intervals for WLAN interfaces and wired interfaces,
+respectively.
+
+ROUTE UPDATES
+
+The order of updates of calculated routes is swapped. Now new routes
+are added prior to deleting old ones. This could fix issues where
+in some very very few cases one could experiment loss of routes.
+
+BUGFIXES
+
+There were quite some bugs in IPv6 operation in 0.4.6. These are
+the bugs that were fixed:
+- HNA message parsing did not work.
+- Some IPv6 addresses were printed as IPv4 addresses in the
+  debug output.
+- The '-dispin' option now works again.
+- A filedescriptor leak in the IPv6 interface detection caused
+  olsrd to crash.
+
 
 0.4.6 ---------------------------------------------------------------------