[Olsr-cvs] olsrd-current CHANGELOG,1.79,1.80
Bernd Petrovitsch
(spam-protected)
Wed Sep 5 18:32:48 CEST 2007
Update of /cvsroot/olsrd/olsrd-current
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28053
Modified Files:
CHANGELOG
Log Message:
* added blurb for the changelog
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/olsrd/olsrd-current/CHANGELOG,v
retrieving revision 1.79
retrieving revision 1.80
diff -C2 -d -r1.79 -r1.80
*** CHANGELOG 29 Aug 2007 23:17:13 -0000 1.79
--- CHANGELOG 5 Sep 2007 16:32:46 -0000 1.80
***************
*** 7,12 ****
--- 7,88 ----
updated to svn version 33
+ PATCH by Hannes Gredler <(spam-protected)> which rewrites the route handling.
+ To quote him:
+ ---- snip ----
+ change list:
+ - get rid of separate routing tables for HNA and per-node routes, everything is
+ now unified in an AVL routing tree (&routingtree)
+
+ - introduce walking macros (OLSR_FOR_ALL_RT_ENTRIES()) that hide the internal
+ structure of the RIB for making life of the plugin authors easier.
+
+ - get rid of different SPF implementations for LQ and non-LQ code paths. a
+ non-LQ edge is simply substituted with a cost of 1.0
+
+ - get rid of host masks - a new data type olsr_prefix is introduced which is
+ basically an ip address plus a prefix length.
+
+ do not install the metric in the kernel FIB - for the kernel its pointless
+ if the route gets installed with a metric of N or M.
+
+ we do not need to update the kernel FIB if we have hop count only changes
+ (for example if there is a reroute action further downstream)
+
+ the only things which triggers a kernel FIB route update is a next hop
+ change (a next hop is neighboring gateway router plus an interface).
+
+ all OLSR routes are installed with a metric of 2
+
+ - separate between rt_entry and rt_path - the former is a route installed in the
+ kernel with an next hop. the latter is a candidate for best path selection
+ after SPF calculation has been done. in the rt_entry we keep a pointer to the
+ best_path and also to the next hop that was installed in the kernel FIB.
+
+ we always keep all originator of a route, if a route originator goes away we
+ can easy recompute the best path for the route.
+
+ the next hop in the rt_entry gets only updated upon a successful route_add
+ call - that way we always remember what next hop to delete.
+
+ stray routes should be history now.
+
+ - tweak the linked list toolkit to operate on circular lists.
+
+ - get rid of malloc calls for building the kernel update list. the list node is
+ now embedded in the rt_entry.
+
+ - introduce three queues (add/chg/del) for kernel updates.
+
+ - for neighbor route dependency tracking the neighbor routes are queued first or
+ last (depending on which queue you work on)
+
+ - rework all the plugins which directly manipulate rt entries.
+
+ - rework the plugins that read from the routing table (most notably nameserver,
+ httpinfo and quagga plugin)
+
+ - lots of comments that explains the intentions and purpose of this code-piece.
+
+ non RT related stuff:
+ - use a list rather than a tree for storing the post-SPF results, which further
+ improves the raw-SPF runtime.
+
+ - add display of SPF runtime (masked behind #ifdef SPF_PROFILING)
+ ---- snip ----
+ And Sven-Ola Tuecke <(spam-protected)> fixed an instability issue on interface
+ up/down operations (see 102-olsrd-rt-refactoring-fixes.patch below).
+
PATCHES by Sven-Ola Tücke to be found on from
http://download-master.berlin.freifunk.net/sven-ola/nylon/packages/olsrd/files/
+ - 102-olsrd-rt-refactoring-fixes.patch
+ Because you changed a lot of basics: It's time to handle a general
+ flaw in the routing system. Plase take a look at chk_if_changed(). This
+ will free() any "struct interface" pointer without warning at any time.
+ This is why it's possile to SEGV olsrd with a simple "ifdown xxx".
+ The patch replaces the (maybe) invalid pointer with an index reference
+ "iif_index". You can always ask the OS for a name. Please note, that I do
+ not have a working BSD toolchain, so I've placed an #error in the IPv6
+ BSD-part where the author/porter has started to hack something funny.
+
- 110-olsrd-double-wlancard-neigh-hack.patch:
This is a hack for Nodes having to wifi cards with the same channel,
***************
*** 26,31 ****
This is a new one. Opens a packet socket and listen to UDP(698), extract
the sender MAC and refreshes the ARP cache whith that. Should speedup
! especially in cases, if you initially try to use a longer routing path which normally
! triggers a "ARP-Lookup-Chain".
- 106-olsrd-nameserviceparams.patch:
This patch converts more plugins to the new interface version.
--- 102,107 ----
This is a new one. Opens a packet socket and listen to UDP(698), extract
the sender MAC and refreshes the ARP cache whith that. Should speedup
! especially in cases, if you initially try to use a longer routing path which
! normally triggers a "ARP-Lookup-Chain".
- 106-olsrd-nameserviceparams.patch:
This patch converts more plugins to the new interface version.
***************
*** 115,120 ****
Sven-Ola Tuecke <(spam-protected)>
! added the spf refactoring patch from Hannes Gredler <(spam-protected)> whicht saves
! a noteworthy amount of CPU time. To quote him:
---- snip ----
1. use of an AVL tree as a min-heap implementation
--- 191,196 ----
Sven-Ola Tuecke <(spam-protected)>
! added the spf refactoring patch from Hannes Gredler <(spam-protected)> which
! saves a noteworthy amount of CPU time. To quote him:
---- snip ----
1. use of an AVL tree as a min-heap implementation
More information about the Olsr-cvs
mailing list