[OLSR-users] LQ problems

Thomas Lopatic (spam-protected)
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
>> topology
>> table does not contain 192.168.74.2 <--> 192.168.74.1 link anymore. When
>> B
>> 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
second case.

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?

-Thomas




More information about the Olsr-users mailing list