<div>Adding my two cents:</div><div><br></div>If you are looking for the specific code where NACKs are generated, it is in Nacks::DidReceiveDuplicateInterest() and Nacks::DidExhaustForwardingOptions() under model/fw/nacks.cc. The former generates NACK_LOOP and the latter generates NACK_GIVEUP_PIT. It appears to me that, in the current implementation, congestion also generates NACK_GIVEUP_PIT rather than NACK_CONGESTION.<div>
<br></div><div>Thanks,</div><div>Yaogong</div><br><div class="gmail_quote">On Mon, Feb 11, 2013 at 12:41 PM, Natalya Rozhnova <span dir="ltr"><<a href="mailto:natalya.rozhnova@lip6.fr" target="_blank">natalya.rozhnova@lip6.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Thanks, Alex!</div><div> </div><div> Best,</div><div>Natalya</div><div> </div><div>12.02.2013, 00:22, "Alex Afanasyev" <<a href="mailto:alexander.afanasyev@ucla.edu" target="_blank">alexander.afanasyev@ucla.edu</a>>:</div>
<div class="HOEnZb"><div class="h5"><blockquote>Hi Natalya,<div> </div><div>There is some description about NACKs in our paper <a href="http://dx.doi.org/10.1016/j.comcom.2013.01.005" target="_blank">http://dx.doi.org/10.1016/j.comcom.2013.01.005</a></div>
<div> </div><div>For the implementation, only routers generate NACKs, and this code is part of specialized forwarding strategy extension "ns3::ndn::fw::Nacks" (model/fw/nacks.h and model/fw/nacks.cc).   </div><div>
 </div><div>Currently, all existing forwarding strategies have this extension, but NACKs generation is disabled by default.  At the same time, just enabling NACKs for strategy like BestRoute or Flooding could only trigger NACKs with code NACK_LOOP and NACK_GIVEUP_PIT (in some cases).  For congestion related behavior described in the paper, you would want to use specialized strategy that enforces some kind of Interest limits (e.g., ns3::ndn::fw::BestRoute::PerOutFaceLimits).</div>
<div> </div><div>You can check out and play with the congestion scenario that was used for the paper here: <a href="https://github.com/cawka/ndnSIM-comcom-stateful-fw" target="_blank">https://github.com/cawka/ndnSIM-comcom-stateful-fw</a></div>
<div> </div><div>Sincerely,</div><div>Alex</div><div> </div><div><div><div>On Feb 11, 2013, at 9:09 AM, Natalya Rozhnova <<a href="mailto:natalya.rozhnova@lip6.fr" target="_blank">natalya.rozhnova@lip6.fr</a>> wrote:</div>
<br><blockquote><div><div>Hi all,</div><div> </div><div>I have a question about NACK implementation in NDNSim. I'm just wondering how it is working in existing ndnSIM code. Who generates and sends NACK packets: producer or routers?</div>
<div>Also, could you please refer me to the function generating and sending NACK?</div><div> </div><div>Thanks a lot,</div><div>Natalya</div></div></blockquote></div></div></blockquote></div></div><br>_______________________________________________<br>

ndnSIM mailing list<br>
<a href="mailto:ndnSIM@lists.cs.ucla.edu">ndnSIM@lists.cs.ucla.edu</a><br>
<a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>============================<br>Yaogong Wang, PhD Candidate<br>Department of Computer Science<br>North Carolina State University<br><a href="http://www4.ncsu.edu/~ywang15/" target="_blank">http://www4.ncsu.edu/~ywang15/</a><br>
============================