[Olsr-dev] Some problems found in olsrd code

Hannes Gredler (spam-protected)
Tue Feb 17 14:19:55 CET 2009


Krzysztof,

what version of olsrd code have you been using ?

/hannes

Krzysztof Szuster wrote:
> Hello all,
> I;m working on a medium-distance IP-radio project. Having done some tests on 5-10 node networks I met some problems that may be errors in code or my misunderstending of how it should wark. My configuration is with ETX (LwLevel=2), I use "float" or "fpm" module to calculate ETX (I believe, both are functionally equal). My router has one radio interface with variable link speed. 
> 
> 1. It seems to me, that the LinkQualityMult parameter in config file is wrongly used. I modified the set_loss_link_multiplier()  function as follows:
>   /*
>      * use the default multiplier only if there isn't any entry that
>      * has a matching IP address.
>      */
>     if ((ipequal(&mult->addr, &null_addr) && val == 0) ||  //KS was: < 0.0
> 	ipequal(&mult->addr, &entry->neighbor_iface_addr)) {
>       val = mult->value;
> I changed the condition (... < 0.0) to (...==0). Maybe (...<=0.0) is better?
> 
> 2. Program crashes when the radio interface disappears. I cured the problem by adding a few lines into olsr_calculate_routing_table(). I'm not sure if this is sufficient but so far it works:
> 
>   #endif
>         continue;
>       }
> +     if (! link->inter) {
> + #ifdef DEBUG
> +         OLSR_PRINTF(2, "Interface %s disappeared\n",
> +         	link->if_name ? link->if_name : inet_ntoa (link->local_iface_addr.v4));
> + #endif
> +       continue;
> +     }
>   
>       /*
>        * Now walk all prefixes advertised by that node.
> 
> 3.There is a problem with timers. Once a few minutes a timer callback is not fired (delayed?). I detected it observing Lq's and found out, that Lq drops ocasionally. The reason was, that Hello was not sent. I don't understand the timer code well, but found a quick-and-dirty solution: set TIMER_WHEEL_SLOTS to 1 and all timers are fired as expected.
> 
> I hope it will be easy for authors to fix the problems.
> Krzysztof Szuster
> 





More information about the Olsr-dev mailing list