Thank you very much for your kind reply, I think, I'm on the wrong train with my assumptions. However, I can not spot my mistake on my own. Please help me understand.
> If more than MAX_PKT_GAP beacons are lost, the code will reinitialize > the link information. The code is in the same file. If I understand it correctly, this would require at least one additional beacon from node 1 to be received by node 2, after node 1 has already failed. Because this code is executed, if a beacon is received with a sequencenumber > (MAX_PKT_GAP + lastseq). But in this scenario no more beacons can sent by node 1. Is there any other condition to reset the link costs? Maybe a timestamp based, that resets entries of the NeighborTable, if no beacons have been received from that neighbour for a certain time? > But first you should convince yourself that beacons will not kick in > and drive the link cost up for the scenario you are thinking. Yes. That is my assumption. As node 1 gets down, no more beacons can be received from it. But node 2 will continue sending packets to its next hop (node 1). And data based estimates will increase the costs of the link between node 2 and 1. Thanks in advance Christian On Sun, 18 Sep 2011 01:38:44 -0500 Omprakash Gnawali <gnaw...@cs.stanford.edu> wrote: > On Fri, Sep 9, 2011 at 11:57 AM, Christian <christ...@wwad.de> wrote: > > Dear TinyOS community, > > > > I have a problem understanding, how CTP's updateRouteTask() works, > > if the 4-Bit Link Estimator is used. > > > > Consider the following example: > > Node 2 with costs 70 is currently using node 1 (costs 20) as parent. > > He could also choose node 3, that has costs 60 over a link of costs > > 10. > > > > (1:20) > > ^ > > | > > |50 > > | > > (2:70) -------> (3:60) > > 10 > > > > If I understand it correctly, when node 1 gets down, the costs of > > the link to node 1 will reach the maximum value of DLQ_PKT_WINDOW * > > 10 = 50 (LinkEstimatorP.nc l. 296 in updateDETX()), because no acks > > can be received from node 1 as well as no beacons, that could > > update beacon based link etx. > > The problem, that I see here, is, that the link's costs cannot get > > worse than 50 (limited by DLQ_PKT_WINDOW) and that updateRouteTask() > > would not change to node 3, because the path over node 3 is not > > "significantly" (PARENT_SWITCH_THRESHOLD) better than the path over > > node 1. > > So it will stay with node 1 as parent even if node 1 isn't available > > anymore. > > > > Please explain: is this really the case or what do I miss out? > > If more than MAX_PKT_GAP beacons are lost, the code will reinitialize > the link information. The code is in the same file. > > > Just in case I'm right, one could solve this problem by requiring > > every parent's link costs to be below DLQ_PKT_WINDOW*10 and > > changing to another node in updateRouteTask(), if this is not the > > case. > > But first you should convince yourself that beacons will not kick in > and drive the link cost up for the scenario you are thinking. > > If you notice improvement in experiments, I am happy to consider > changes. Let me know. > > - om_p _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help