<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Junxiao,<div class=""><br class=""></div><div class="">The thing that confuses me here is that it seems that the forwarder on the Node 3 accepts unrequested Data “/b” from the application face and forwards it to Node 1. I am looking forward to your reply. Thank you.</div><div class=""><br class=""></div><div class="">Best,</div><div class="">Puming</div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 24, 2021, at 9:20 PM, Puming Fang <<a href="mailto:pfang@engin.umass.edu" class="">pfang@engin.umass.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Junxiao,<div class=""><br class=""></div><div class="">Thanks for your reply.</div><div class=""><br class=""></div><div class="">To guarantee that the Interest “/b" can reach Node 3, I changed the forwarding strategy to broadcast (custom strategy).</div><div class=""><br class=""></div><div class="">Interesting thing happens. Node 1 starts to accept Data “/b" from Node 3.</div><div class=""><br class=""></div><div class="">In this experiment the Interest “/a/b” is forwarded to the application in Node 3, and the application responds with Data “/b”, then Data “/b” is forwarded to node 1 that requests “/b”.</div><div class=""><br class=""></div><div class="">Is that what’s happening in the experiment?</div><div class=""><br class=""></div><div class="">Thank you,</div><div class="">Puming</div><div class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Apr 24, 2021, at 6:18 PM, Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" class="">shijunxiao@email.arizona.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="">Hi Puming</div><div class=""><br class=""></div><div class="">Node1 does not have a route for the /b prefix, so that the Interest is dropped right there without leaving Node1.</div><div class=""><br class=""></div><div class="">Even if the Interest somehow reached Node3, the forwarder on that node would not accept the Data from the application face, because the Interest was never forwarded to the application.</div><div class="">See <a href="https://www.lists.cs.ucla.edu/pipermail/ndn-interest/2018-April/002147.html" class="">https://www.lists.cs.ucla.edu/pipermail/ndn-interest/2018-April/002147.html</a> for rationale.</div><div class=""><br class=""></div><div class="">Yours, Junxiao<br class=""></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Apr 24, 2021 at 5:53 PM Puming Fang <<a href="mailto:pfang@umass.edu" class="">pfang@umass.edu</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" lang="EN-US" class=""><p style="text-align:center" class=""><font color="red" class=""><b class="">External Email</b><br class=""></font></p><div class="gmail-m_2378465359019534856WordSection1"><p class="MsoNormal">Dear NDN team,</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><p class="MsoNormal">My name is  Puming Fang. I am  a newbie to ndnSIM, and have introduced myself to ndnSIM by implementing a few interesting experiments.</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><p class="MsoNormal">Here is one of them and I am very curious about why this happened.</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><p class="MsoNormal" style="text-indent:9.75pt">           Node1</p><p class="MsoNormal" style="text-indent:9.75pt">                 |</p><p class="MsoNormal">Node 0---Node2---Node3</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><ol style="margin-top:0in" type="1" start="1" class=""><li class="gmail-m_2378465359019534856MsoListParagraph" style="margin-left:0in">Node 0 sends out Interest “/a/b” to request Data.</li><li class="gmail-m_2378465359019534856MsoListParagraph" style="margin-left:0in">Node 1 sends out Interest “/b” to request Data.</li><li class="gmail-m_2378465359019534856MsoListParagraph" style="margin-left:0in">Node 3 is initialized with a producer of “/a/b”, but I made a slight change on Node 3 in producing Data: When Node 3 receives the Interest “/a/b”, it removes “/a” from “/a/b” and then responds with Data “/b”.</li></ol><p class="MsoNormal">Below is how node 3 removes “/a” from “/a/b” in Function Producer::OnInterest.</p><p class="MsoNormal">---------------------------------------------------------------</p><p class="MsoNormal">App::OnInterest(interest); // tracing inside</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><p class="MsoNormal">  if (!m_active)</p><p class="MsoNormal">    return;</p><div class="">    <br class="webkit-block-placeholder"></div><p class="MsoNormal">  Name dataName(interest->getName());</p><p class="MsoNormal">  dataName.erase(0);</p><p class="MsoNormal">------------------------------------------------------------------</p><p class="gmail-m_2378465359019534856MsoListParagraph"><u class=""></u> <u class=""></u></p><p class="MsoNormal">Obviously Node 0 didn’t receive the requested Data  from Node 3. The interesting thing is that Node 1 didn’t receive Data “/b” from Node 3 either.  Can anyone please explain to me why this happened?</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><p class="MsoNormal">Your help would be greatly appreciated.</p><p class="MsoNormal"><u class=""></u> <u class=""></u></p><p class="MsoNormal">Thanks,</p><p class="MsoNormal">Puming</p><p class="MsoNormal"> <br class="">
</p></div></div></blockquote></div></div>
</div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></body></html>