[olsr-dev] Fish Eye algorithm bug

Erik Tromp (spam-protected)
Thu Sep 14 15:51:13 CEST 2006


Hello,

I have been testing the fish eye routing algorithm which is available on OLSR 0.4.10. During testing I seemed to have discovered a
bug.

In the file lq_packet.c, function create_lq_tc, an array ttl_list is declared, together with a variable ttl_index.

In the code of that function, ttl_index is incremented every time a TC packet is to be generated.

If there are multiple network interfaces, some interfaces will send TC packets with TTL values that are only a subset of the values
in ttl_list.

Given an extreme example in which we have 14 network interfaces (14 is the number of entries in ttl_list). In that case the first
network interface sends all its TC packets with TTL=255, the second network interface sends all its TC packets with TTL=3, the third
with TTL=2 and so on.

I think the ttl_index variable should only be incremented after all network interfaces have been dealt with. Or alternatively, there
should be one ttl_index variable per network interface.

Regards,
Erik





More information about the Olsr-dev mailing list