[Olsr-dev] Bug fixed in olsrd.0.5.3
Tue Oct 23 01:50:20 CEST 2007
I discovered this problem when I was trying to connect 3 routers in the
A ----- B ----- C
A can get connected to C only through B (and vice versa).
In this scenario A and C have to select B as MPR, but this never happened. I
solved this problem by initializing these variables in the function
I'll try to connect to the CVS repository and submit the changes there.
From: Hannes Gredler [mailto:(spam-protected)]
Sent: Friday, October 19, 2007 4:14 PM
To: David Orchansky
Subject: Re: [Olsr-dev] Bug fixed in olsrd.0.5.3
On Fri, Oct 19, 2007 at 10:10:40AM +1000, David Orchansky wrote:
| Hello everyone,
| I've been having some troubles when using the release of olsrd 0.5.3. I
| cross-compiled (using the OpenWrt SDK) and flashed it in several
| The problem I had was that the TC messages where not being forwarded by
| the routers because for some reason the routers didn't select their own
| MPR's (even when they had several 2-hop neighbors).
| After spending many days tracing the problem I fixed this issue by
| initializing some variables in a function... that was it!
| File: mpr.c
| Function: void olsr_calculate_mpr(void)
| olsr_u16_t two_hop_covered_count=0;
| olsr_u16_t two_hop_count=0;
| Anyway, I don't know if this is gonna be helpful to anyone, but it
| would save some time and effort to many of us.
first of all thanks for your debugging efforts, this is highly appreciated.
could you next time pls submit a unified diff w/ function names
against the CVS repository. (this makes it much more easier
for the maintainers to review the work you have been doing).
1. put the following line in your ~/.cvsrc
diff -u -p
2. run a 'cvs diff'
i am not sure i understand the nature of the problem
IMO the two variables get properly assigned:
olsr_calculate_mpr(void) (line 461 / mpr.c)
OLSR_PRINTF(3, "\n**RECALCULATING MPR**\n\n");
>> two_hop_count = olsr_calculate_two_hop_neighbors();
>> two_hop_covered_count = add_will_always_nodes();
pls elaborate *why* you think this is wrong.
More information about the Olsr-dev