[Olsr-dev] Patch Orgy Syncup / Sorting out old TCs [long!]

Sven-Ola Tuecke (spam-protected)
Fri Dec 28 13:39:48 CET 2007


Hi Hannes,

the patchset on 
http://download.berlin.freifunk.net/sven-ola/nylon/packages/olsrd/files/
is for CVS-2007-12-14 and may partly fail or have some unexpected 
differences. The patchsset I wrote about is here: 
http://ff-firmware.cvs.sourceforge.net/*checkout*/ff-firmware/ff-devel/patches-rib2.tgz

122-olsrd-lqnatthresh.patch introduces a new config parameter "NatThreshold" 
defaulting to 1.0 (inactive). It simply compares the ETXes if a gateway 
switch should be done. If activated, the default route is switched only if 
ETX differs substancially and another gateway is addressed (thus breaking 
all NAT connections currently active). The threshold works - because you 
always have an "overlay" host route and some kind of "slope" towards the 
gateways. It's simply mandatory, if you live near a place with a couple of 
gateways in the same ETX range. If you start using a link and transfer 
paylod, the ETX always suffer a bit - which can be releived by traffic 
shaping but not suppressed. Ah - if the defroute change does not change the 
gateway - it's executed of course.

135-opt-lqtc-seqno.patch makes a couple of assumptions. Yes. May trigger 
your voodoo detector <ggg>. If you have a better idea to check for remote 
node restarts a) with a handful of TC's and b) without updating every node 
in a mesh you're welcome <ggg>. Without detecting restarts, a simple 
newseqno > oldseqno will fail as explained...

139-olsrd-magicarprefresh.patch is freifunk specific. At least as long as I 
do not document the necessary linux-2.4.x patch ( 
http://ff-firmware.cvs.sourceforge.net/*checkout*/ff-firmware/ff/freifunk-openwrt/target/linux/linux-2.4/patches/generic/903-arp-magic.patch ) 
Will not do any harm - but I will accept it as not commitable if 
preferred...

// Sven-Ola

----- Original Message ----- 
From: "Hannes Gredler" <(spam-protected)>
To: <(spam-protected)>
Sent: Friday, December 28, 2007 12:01 PM
Subject: Re: [Olsr-dev] Patch Orgy Syncup / Sorting out old TCs [long!]


> hi,
>
> since bernd is on vacation i am the designated patch jockey ;-)
>
>> 102-olsrd-windowsfix.patch
>>   Changes necessary to compile under Win32/MSVC6
>>   Status: Waiting for CVS inclusion
>
> added to CVS and mercurial
>
>> 104-olsrd-verysmallfix.patch
>>   Discards some debug garbage.
>>   Status: Waiting for CVS inclusion
>
> added to CVS and mercurial
>
>> 105-fix-lq-buffer-quirks.patch
>>   Sender side fix for LQHello/LQTC fragmentation.
>>   Status: Waiting for CVS inclusion
>
> added to CVS and mercurial
>
>> 110-bmf-v152.patch
>>   Grabbed a copy of eric's plugin and adapted that to CVS
>>   Status: Waiting for CVS inclusion
>
> added to CVS and mercurial
>
>> 121-olsrd-fib-metric-approx.patch
>>   Adds a new mode for transferring metrics to kernel
>>   Status: Waiting for CVS inclusion
>
> could not find it on
> http://download.berlin.freifunk.net/sven-ola/nylon/packages/olsrd/files/
> pls clarify
>
>> 122-olsrd-lqnatthresh.patch
>>   Adds an option to do route damping for the default
>>   route. In terms of social costs: It does not matter, if
>>   the best gateway is selected when having NAT.
>>   It only matters, it the selection is stable for some time.
>>   Status: Waiting for CVS inclusion (voodoo. But overall
>>   experience is good - no matter who complains)
>
> not included, let me spend some more thought on this one.
>
>> 133-fix-lqneigh.patch
>>   Reverts an idea of hannes (check seqno < newseqno)
>>   because this will lead to not forwarding lqtc if node
>>   is restarted a long time.
>>   Status: Waiting for CVS inclusion (see below, 134)
>
> added to CVS and mercurial
>
>> 134-move-tcset-functions-and-revert-parts-of-133.patch
>>   Reverts 133 and shift some functions between C sources
>>   in order to got a more cleaner 135 patch. I leave that in,
>>   because hannes has applied this to his HG repo AFAIK.
>>   Status: Waiting for CVS inclusion (see below 135)
>
> not included, see comment below
>
>> 135-opt-lqtc-seqno.patch
>>   A new approach to sort out old LQ-TC messages. Checks
>>   ANSN to detect node restarts. If you prefer to read a more
>>   clear version, theres a perl script which realizes that with the
>>   olsrd's "-dispin" output: 
>> http://ff-firmware.cvs.sourceforge.net/*checkout*/ff-firmware/ff-devel/contrib/olsr-seqno5.pl
>>   Status: Waiting for CVS inclusion
>
> not included, as the heuristics are fairly complex for my taste.
> i'd be more in favour of a "newstarting neighbors wrap the sequence space" 
> type of fix.
> let me try to cook up a fix by myself.
>
>> 136-optimize-invalidip-check.patch
>>   Optimize/Corrects the check for invalid IPs
>>   Status: Waiting for CVS inclusion
>
> added to CVS and mercurial
>
>> 138-optimize-message-generation.patch
>>   A multihomed hosts does nameservice announcments with
>>   different seqno - which is not necessary because you cannot
>>   configure different name-interval for ifaces. Also adds flushing
>>   buffer after writing LQ-TC if TC-Interval < Hello-Interval.
>>   Status: Waiting for CVS inclusion
>
> added to CVS and mercurial
>
>> 139-olsrd-magicarprefresh.patch
>>   Adds a flag to the add-arp-request because adding tmp-ARP
>>   it does not work on linux-2.4.x. You need a patched 2.4.x
>>   to make it work. Not needed for linux-2.6.x but it does not
>>   hurt <ggg>
>>   Status: Waiting for CVS inclusion
>
> not included - is a FFF specific addition.
>
> /hannes
> 





More information about the Olsr-dev mailing list