<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">if you think that the provided face abstraction is not sufficient for your simulations, then feel free to add a custom NetDevice Face implementation and use that for your simulations.</div><div class=""><br class=""></div><div class="">I do not fully understand your previous email and the problem here. Some comments off the top of my head though:</div><div class=""><br class=""></div><div class="">1) a process (i.e., an application running on a host) should communicate with a local face with the local forwarder. The difference between a local and a non-local face has to do only with whether Interests with the /localhost and /localhop prefix can be forwarded through them.</div><div class="">2) Interests with any other prefix can be forwarded through local and non-local faces.</div><div class=""><br class=""></div><div class="">Please take a look at the NFD developer’s guide for all those definitions:</div><div class=""><br class=""></div><div class=""><a href="https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf" class="">https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf</a></div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""><div class="">
<div class=""><div class=""><div class=""><span class="" style="float: none; display: inline !important;">Spyridon (Spyros) Mastorakis</span><br class=""><span class="" style="float: none; display: inline !important;">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" class="">http://cs.ucla.edu/~mastorakis/</a><br class=""><span class="" style="float: none; display: inline !important;">Internet Research Laboratory</span><br class=""><span class="" style="float: none; display: inline !important;">Computer Science Department</span><br class=""><span class="" style="float: none; display: inline !important;">UCLA</span></div><div class=""><br class=""></div></div></div></div><div><blockquote type="cite" class=""><div class="">On Oct 3, 2017, at 10:06 AM, Jason Christian <<a href="mailto:jason.christian.92@gmail.com" class="">jason.christian.92@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi, thank you for the reply.<div class=""><br class=""></div><div class="">I have traced back from the Strategy::sendInterest() to the generic-link-service implementation and compare it between the mobile package's implementation and the one from my machine and I cannot find any differences. Can you also point out which particular commits I should pay attention to?</div><div class=""><br class=""></div><div class="">Another thing I have seen from my custom strategy:</div><div class="">I checked the method <font face="monospace, monospace" class="">violatesScope and wouldViolateScope</font><font face="arial, helvetica, sans-serif" class=""> from <a href="https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/blob/5714833ccce551cf4cd128967a21283bc3ed4319/NFD/daemon/fw/algorithm.cpp#L59" class="">https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package/blob/5714833ccce551cf4cd128967a21283bc3ed4319/NFD/daemon/fw/algorithm.cpp#L59</a>, and it will return true if the face used is a local face. In the custom strategy extending from </font><font face="monospace, monospace" class="">Strategy</font><font face="arial, helvetica, sans-serif" class=""> class, the </font><font face="monospace, monospace" class="">outFace </font><font face="arial, helvetica, sans-serif" class="">from the </font><font face="monospace, monospace" class="">nextHopList </font><font face="arial, helvetica, sans-serif" class="">is always a local face. Perhaps is this the reason why the Interest packet is not forwarded?</font><br class=""></div><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div><div class=""><font face="monospace, monospace" class="">inFace </font><font face="arial, helvetica, sans-serif" class="">is the face from the argument from </font><font face="monospace, monospace" class="">afterReceiveInterest </font><font face="arial, helvetica, sans-serif" class="">method</font></div><div class=""><font face="monospace, monospace" class="">outFace </font><font face="arial, helvetica, sans-serif" class="">is the face from the iteration of </font><font face="monospace, monospace" class="">fib::NextHopList::const_iterator, </font><font face="arial, helvetica, sans-serif" class="">similar to the Broadcast strategy (I based mine on that)</font></div><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div><div class=""><font face="arial, helvetica, sans-serif" class="">Note that the </font><font face="monospace, monospace" class="">outFace </font><font face="arial, helvetica, sans-serif" class="">on the consumer (a.k.a the first node) has non-local face, and thus is able to forward Interest packets to nodes within range. The </font><font face="monospace, monospace" class="">outFace </font><font face="arial, helvetica, sans-serif" class="">from the Producers (a.k.a 2nd - last nodes) always have local face (from the debug msg). If so, how can I obtain the non-local face of producer nodes?</font></div><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div><div class=""><font face="arial, helvetica, sans-serif" class="">Best Regards,</font></div><div class=""><font face="arial, helvetica, sans-serif" class="">Jason</font></div><div class=""><font face="arial, helvetica, sans-serif" class=""><br class=""></font></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, Oct 3, 2017 at 6:03 PM, Spyridon (Spyros) Mastorakis <span dir="ltr" class=""><<a href="mailto:mastorakis@cs.ucla.edu" target="_blank" class="">mastorakis@cs.ucla.edu</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Hi,<div class=""><br class=""></div><div class="">we have done something similar for a mobile simulation package for ndnSIM (it was an NDN hackathon project). We have addressed those issues there, so please take a look at the commits:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/4th-ndn-hackathon/ndnSIM-Mobile-Simulation-Package" target="_blank" class="">https://github.com/4th-ndn-<wbr class="">hackathon/ndnSIM-Mobile-<wbr class="">Simulation-Package</a></div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""><div class="">
<div class=""><div class=""><div class=""><span style="float:none;display:inline!important" class="">Spyridon (Spyros) Mastorakis</span><br class=""><span style="float:none;display:inline!important" class="">Personal Website: </span><a href="http://cs.ucla.edu/~mastorakis/" target="_blank" class="">http://cs.ucla.edu/~<wbr class="">mastorakis/</a><br class=""><span style="float:none;display:inline!important" class="">Internet Research Laboratory</span><br class=""><span style="float:none;display:inline!important" class="">Computer Science Department</span><br class=""><span style="float:none;display:inline!important" class="">UCLA</span></div></div></div>
</div><div class=""><div class="h5">
<br class=""><div class=""><blockquote type="cite" class=""><div class="">On Oct 3, 2017, at 4:17 AM, Jason Christian <<a href="mailto:jason.christian.92@gmail.com" target="_blank" class="">jason.christian.92@gmail.com</a>> wrote:</div><br class="m_-1446284231661727746Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi,<div class=""><br class=""></div><div class="">I am currently doing a scenario using ndnSIM as the simulation tool. The scenario includes:</div><div class="">- several nodes with mobility installed</div><div class="">- Wifi with 802.11a standard, wifiChannel with ns3::RangePropagationLossModel and limited maxRange, and with type adhoc</div><div class=""><br class=""></div><div class="">Basically, the consumer nodes will send the Interest through the wireless face to nodes within the MaxRange. This works perfectly on first transmission, but the Interest is not forwarded to other nodes which is in range with the receiving nodes (In other words, it is not forwarded, there is only 1 hop)</div><div class=""><br class=""></div><div class="">I have already looked into <a href="https://github.com/cawka/ndnSIM-nom-rapid-car2car/tree/master/extensions" target="_blank" class="">https://github.com/cawka/<wbr class="">ndnSIM-nom-rapid-car2car/tree/<wbr class="">master/extensions</a> and the implementation is similar to mine. The problem is, it is using ndnSIM 1.0 and the custom strategy methods have been changed on ndnSIM 2.0+, which I am using right now. I've also read somewhere that nodes do not actually re-broadcast Interest and Data packets on the same face it received the packet from.</div><div class=""><br class=""></div><div class="">I am new to ndnSIM (Have just spent around 3 days working around custom scenario), so can you please guide on possible solutions of this problem?</div><div class="">- Should I create a custom face for this scenario? If so, can u point me on how to do it?</div><div class=""><br class=""></div><div class="">Thank you,</div><div class="">Jason</div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>