Fixed compilation failure if not using admin interface
[olsrd.git] / CHANGELOG
index ef8a55f..b188f77 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,8 +1,28 @@
 This file states changes as of version 0.2.4:
-$Id: CHANGELOG,v 1.23 2005/01/14 18:20:19 kattemat Exp $
+$Id: CHANGELOG,v 1.34 2005/02/20 15:41:07 kattemat Exp $
 
 0.4.9 ---------------------------------------------------------------------
 
+OPTIMIZATIONS
+
+The MID database is now also indexed by alias addresses. this makes
+lookups of main addresses based on alias addresses _much_ faster.
+The mid_lookup_main_addr function alone has gone from >30% of the
+total CPU time used by olsrd to <1%.
+PLUGIN DEVELOPERS: datatypes for MID entries has been changed.
+
+Routing table calculation in the LQ case now uses balanced binary
+trees instead of linked lists, which makes lookups much faster.
+
+TIMEOUT OF DATASETS
+
+Validity times for dataset entries are now set using the clock_t type
+(used to be struct timeval). This data is now fetched from the times(2)
+function instead of gettimeofday(2). This prevents possible problems
+if the system time is changed.
+PLUGIN DEVELOPERS: Note that datatypes for close to all dataset entries
+(link, neighbor, mid, hna, tc etc.) has been changed!!
+
 CONFIGURATION FILE
 
 Multiple interfaces can now use the same interface configuration block.
@@ -12,18 +32,99 @@ Interface "if0" "if1" "if2"
        .....
 }
 
-MINOR UPDATES
+Interface configurations now also support the "Weight" directive. When
+olsrd finds multiple links to a neighbor it will choose the link
+going via the interface with the lowest weight. Olsrd normally
+sets this weight dynamically based on interface characteristics,
+but if the user wishes to set a fixed weight in a interface(or
+a group of interfaces), this directive is now available.
+
+Moreover, interface configurations now support the "LinkQualityMult"
+directive. It takes an IP address and a multiplier as arguments.
+
+Example:
+
+Interface "if0"
+{
+  [...]
+
+  LinkQualityMult 192.168.0.1 0.7
+  LinkQualityMult default 0.5
+
+  [...]
+}
+
+The idea is to make certain links via the configured interface
+artificially worse or better than they really are. The first parameter
+specifies the IP address of a neighbour interface. The second
+parameter is the multiplier to be applied to the link to the specified
+neighbour interface.
+
+After we have derived the link quality from the packet loss among the
+packets received from the specified neighbour interface, we multiply
+the link quality by the given multiplier. So, the multiplier changes
+the LQ value that we use when determining the ETX, which is 1 / (LQ *
+NLQ).
+
+If "default" is given as the IP address then the multiplier applies to
+all links via the configured interface. Note, however, that olsrd only
+assigns one multiplier to each link. It does so in the following way.
+
+* If there is a "LinkQualityMult" line that matches the IP address of
+  the link's neighbour interface, then use the multiplier in this
+  line.
+
+* If there isn't any matching line, then look for a "default" line. If
+  there is a "default" line, then use the multiplier in this "default"
+  line.
+
+* Otherwise use 1.0, i.e. do not modify the LQ value at all.
+
+Hence, a line with an IP address has priority over a "default" line.
+
+In the above example, the LQ value of the link between the local
+interface if0 and the neighbour interface 192.168.0.1 would be
+multiplied by 0.7. All other links between the local interface if0 and
+a neighbour interface would be multiplied by 0.5.
+
+IPV6 SOCKETS
+
+The socket option IPV6_V6ONLY is now set on IPv6 sockets in linux.
+This means that olsrd will no longer receive IPv4 traffic when
+running in IPv6 mode.
+this should enable users to actually run one olsrd instance using
+IPv6 and one using IPv4 at the same time :)
+
+PLUGINS
+
+The httpinfo, dyn_gw and dot_draw plugins now all include olsrd
+headerfiles directly. A plugin should define OLSR_PLUGIN before
+includeing olsrd headers. Doing things this way removed the 
+redundant datatype definitions that has so often caused trouble
+when things has been updated in olsrd.
+
+OTHER UPDATES
 
+- WLAN devices are now detected in FreeBSD
 - First specified interfaces IP is used as main address.
 - Broadcastflag is not checked on interface if fixed broadcast is
   set in config.
+- Removed Linux link layer code as this was not really in use.
 
 BUGFIXES
 
+- A bug in route addittion/removal that could lead to routes
+  using GWs beeing added before the actual route to the GW
+  was set up has been fixed.
+- A bug in the interface selection in route calculation has been
+  fixed. New routes are no longer added prior to deleting old ones
+  since this caused trouble.
 - A bug in the IPv6 multicast address configuration has been fixed.
   This caused olsrd not to work with global IPv6 addresses.
 - A bug in the IPv6 prefix-from IPaddr function has been fixed. This
   bug caused HNA prefixes to always be calculated to 0.
+- If a 2-hop neighbor is also a 1-hop neighbor, a bug made olsrd
+  prefer a bad direct link to a better link via an MPR.
 
 
 0.4.8 ---------------------------------------------------------------------
@@ -873,4 +974,4 @@ IPv6 related bugs
 
 Some checks and copying of node addresses where done using sizeof(u_olsr32_t)
 which is 32 bits. This caused only the 32 firs bits of IPv6 addresses to
-be copied and checked.
\ No newline at end of file
+be copied and checked.