<div><div dir="auto">Hi Marzieh</div><div class="gmail_quote"><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br></div><div>When I enable the retransmission, this is the log, and the data packet still does not go to relay node from the producer.</div><div><br></div><div><br></div><div></div></div><div style="word-wrap:break-word"><div>2s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=259 interest=/test/prefix/%FE%00<br>2s 0 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00<br>2s 0 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=257 interest=/test/prefix/%FE%00<br>2.00005s 1 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=257 interest=/test/prefix/%FE%00<br>2.00005s 1 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00<br>2.00005s 1 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=256 interest=/test/prefix/%FE%00</div></div></blockquote><div dir="auto">What is this face 256 connected to? For a wireless node, you only need to transmit on one wireless interface, unless they are using different wireless frequencies.</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>2.00005s 1 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=257 interest=/test/prefix/%FE%00</div></div><div style="word-wrap:break-word"><div><br>2.0001s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/test/prefix/%FE%00<br>2.0001s 0 nfd.Forwarder:onInterestLoop(): [DEBUG] onInterestLoop face=256 interest=/test/prefix/%FE%00 send-Nack-duplicate</div></div></blockquote><div dir="auto">This one is normal. Node 0 hears the Interest transmitted by node 1, and drops it due to duplicate Nonce. However, it shouldn't be sending a Nack to an ad hoc wireless face. Did you mistakenly setup the face as point-to-point?</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br>2.0001s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=256 interest=/test/prefix/%FE%00<br>2.0001s 2 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00<br>2.0001s 2 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=259 interest=/test/prefix/%FE%00<br>2.0001s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData face=259 data=/test/prefix/%FE%00<br>2.0001s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData matching=/test/prefix/%FE%00<br>2.0001s 2 nfd.Forwarder:onOutgoingData(): [DEBUG] onOutgoingData face=256 data=/test/prefix/%FE%00</div></div></blockquote><div dir="auto">Node 2 transmitted the Data but it's never received. This is your main problem. It's probably caused by a collision on wireless channel. The Data collided with node 0's Nack transmission.</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br></div></div><div style="word-wrap:break-word"><div>2.00014s 0 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=257 interest=/test/prefix/%FE%00</div></div></blockquote><div dir="auto">Who transmitted this Interest? I guess it's node 1's face 257.</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br>2.00014s 0 nfd.Forwarder:onInterestLoop(): [DEBUG] onInterestLoop face=257 interest=/test/prefix/%FE%00 send-Nack-duplicate<br>2.0003s 1 nfd.Forwarder:onIncomingNack(): [DEBUG] onIncomingNack face=257 nack=/test/prefix/%FE%00~Duplicate OK</div></div><div style="word-wrap:break-word"><div><br>2.1001s 2 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 satisfied<br>4s 0 nfd.Forwarder:onInterestUnsatisfied(): [DEBUG] onInterestUnsatisfied interest=/test/prefix/%FE%00<br>4s 0 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 unsatisfied<br>4.00005s 1 nfd.Forwarder:onInterestUnsatisfied(): [DEBUG] onInterestUnsatisfied interest=/test/prefix/%FE%00<br>4.00005s 1 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize interest=/test/prefix/%FE%00 unsatisfied<br></div></div><div style="word-wrap:break-word"><div>5s -1 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=259 interest=/test/prefix/%FE%00</div></div></blockquote><div dir="auto">This looks like your "consumer retransmission" but it's not correctly implemented. The retransmission should occur before InterestLifetime expires, not after.</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br>5s -1 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss interest=/test/prefix/%FE%00<br>5s -1 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest face=257 interest=/test/prefix/%FE%00</div><div><br></div><div>Can the problem be because there isn't a retransmission for the data?</div></div></blockquote><div dir="auto">On network layer, Data can only be pulled by Interest. LpReliability can retransmit all packets including Data at a lower layer.</div><div dir="auto"><br></div><div dir="auto">Yours, Junxiao</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div></div></div></blockquote></div></div>