[Tinyos-devel] retransmissions in networking protocols

Andreas Koepke koepke at tkn.tu-berlin.de
Thu Oct 4 08:51:24 PDT 2007


PS: I have not looked into ctp for a while, need to  update my nesc to
compile it ;-)

Omprakash Gnawali wrote:
>>I'm talking about lost ACKs, not lost packets. Whenever only the ACK is
>>lost, a duplicate is created by the hop by hop recovery mechanism of the
>>network protocols. My question is: why is there no mechanism in place to
>>filter duplicates out?
> 
> 
> 
> If you are talking about CTP, it already does duplicate suppression:
> 
> From CtpForwardingEngineP.nc:
> 
> event message_t*
> SubReceive.receive(message_t* msg, void* payload, uint8_t len) {
> 
> ...
> 
>     //See if we remember having seen this packet
>     //We look in the sent cache ...
>     if (call SentCache.lookup(msg)) {
>         call CollectionDebug.logEvent(NET_C_FE_DUPLICATE_CACHE);
>         return msg;
>     }
>     //... and in the queue for duplicates
>     if (call SendQueue.size() > 0) {
>       for (i = call SendQueue.size(); --i;) {
>         qe = call SendQueue.element(i);
>         if (call CtpPacket.matchInstance(qe->msg, msg)) {
>           duplicate = TRUE;
>           break;
>         }
>       }
>     }
> 
>     if (duplicate) {
>         call CollectionDebug.logEvent(NET_C_FE_DUPLICATE_QUEUE);
>         return msg;
>     }
> 
> ...
> 
> 
> - om_p
> 
> 



More information about the Tinyos-devel mailing list