[OLSR-users] LQ problems
Wed Feb 16 10:23:24 CET 2005
>> Thanks for your quick response. I see clearer now. The route switch
>> occurs, because node B ceases to announce its link to node A; the
>> table does not contain 192.168.74.2 <--> 192.168.74.1 link anymore. When
>> decides to announce the link again, i.e. when the entry returns to the
>> topology tanble, the route switches back.
> IMO the MPR selection has to behave this way regardless of LQ. The
> A<->B link is still found in the two-hop neighor table. A quick look on
> the lq_route calculation seems to reveal that two-hop neighbors are
> never processed in the route calculation which they must be due to the
> MPR scheme. But that was a very quick look, _very_ early in the morning
> :-) So I very well might be missing something.
Hmmm. Let me quickly make sure that I understand this. Let's assume that
we have a network A <--> B <--> C. Suppose that A sees C only sometimes.
We then have two cases.
1. A sees C. Then B is not selected as an MPR by either A or C.
2. A does not see C. Then B is selected as an MPR by A and C.
As by default only MPR selectors are announced in TC messages, B announces
A and C in the first case, but it doesn't announce either of them in the
My initial idea to fix this was to modify MPR selection that B is also
made an MPR in the first case by A and C, *IF* the route via B is better
than the direct link. At the moment, only a symmetric link is necessary,
no matter how good or bad it is. So, as soon as A and C see each other and
the link becomes symmetric, they do not use B as MPR anymore.
You're suggesting, that we also add the edges between one-hop and two-hop
neighbours to the graph on which we run the Dijkstra algorithm, right? At
the moment we only add the edges to our one-hop neighbours and the edges
derived from the TC messages that we've received.
I think that both solutions would fix the problem, although they address
the problem at different places. The only difference that I can see is
that the fix that I had in mind also affects the flooding mechanism,
doesn't it? If B is an MPR, then B retransmits packets from A and from C,
which might be good if the link between A and C is bad.
So, I'd like to implement both ideas, as both seem reasonable to me. Add
the one-hop/two-hop neighbour edges and only give up an MPR if the direct
link is better than the link via the MPR.
Does this make any sense?
More information about the Olsr-users