<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Junxiao,<div class=""><br class=""></div><div class="">every time that I have tried to upgrade the version of NFD and ndn-cxx used by ndnSIM, there have been a number of unexpected things that go wrong. Some of them have to do with ndnSIM itself, some of them with NS3.</div><div class=""><br class=""></div><div class="">Like I said before, it is not clear to me right now which NFD features might be incompatible with ndnSIM and I do not want to respond to something that I am not 100% sure about. The way to figure out is to upgrade NFD and try to compile ndnSIM. At that point, a number of things will break. Some of them will be trivial to fix, some other not.</div><div class=""><br class=""></div><div class="">I am sorry, but this is the best answer I can give you right now.</div><div class=""><br class=""></div><div class="">Spyros</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></div>
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Oct 29, 2016, at 1:09 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="">Hi Spyros<div class="">(moved to ndnSIM mailing list)</div><div class=""><br class=""></div><div class=""><div class="">Is there a document about ns-3 restrictions and patterns?</div></div><div class="">As I understand, ndnSIM and other modules are required to use RandomVariableStream, Scheduler, Logging as described in <a href="https://www.nsnam.org/docs/release/3.25/manual/html/index.html" class="">ns-3 Manual</a>. Other facilities such as Hash Functions, Callbacks, Object model, Tracing are optional.</div><div class=""><br class=""></div><div class="">ndn-cxx and NFD 0.5.0 has dropped build support on Ubuntu 12.04. ndnSIM 2.1 already does not support Ubuntu 12.04 unless either compiler or Boost is upgraded.</div><div class=""><br class=""></div><div class="">ndn-cxx 0.5.0 release notes list the following changes, excluding bugfixes/deprecations/deletions and changes in tools:<br class=""></div><div class=""><ol class=""><li class="">New transformation API (Issue #3009)<br class=""></li><li class="">Introduce environment variables to set/override transport, pib, and tpm configurations (Issue #2925, Issue #2514)<br class=""></li><li class="">Introduce logging facility based on Boost.Log (Issue #3562)<br class=""></li><li class="">Introduce Name::deepCopy to allow memory optimizations when working with Name objects (Issue #3618)<br class=""></li><li class="">New ndn::security::CommandInterestValidator class (Issue #2376)<br class=""></li><li class="">Add StatusDataset client functionality into ndn::nfd::Controller (Issue #3329)<br class=""></li><li class="">New FaceUpdateCommand structure for NFD management protocols (Issue #3232)<br class=""></li><li class="">breaking change Add Flags and Mask fields to faces/create and faces/update, add Flags field to FaceStatus (Issue #3731, Issue #3732)<br class=""></li><li class="">New SafeBag structure for private key export/import (Issue #3048)<br class=""></li><li class="">ndn::io::loadBlock and saveBlock (Issue #3741)<br class=""></li><li class="">Backport of C++17 std::clamp and std::optional (Issue #3636, Issue #3753)<br class=""></li><li class="">Expose ControlResponse as part of Controller::CommandFailCallback (Issue #3739)<br class=""></li><li class="">Change security constants to corresponding strongly typed enumerations (Issue #3083)<br class=""></li><li class="">Enable KeyChain customization in DummyClientFace (Issue #3435)<br class=""></li><li class="">Add validation of StatusDataset and ControlCommand responses in ndn::nfd::Controller (Issue #3653)<br class=""></li><li class="">Enable handling of NACKs in Validator and NotificationSubscriber classes (Issue #3332, Issue #3662)<br class=""></li><li class="">Several fixes in Scheduler class (Issue #3722, Issue #3691)<br class=""></li><li class="">Add option to override processEvents method in DummyClientFace class (Issue #3769)</li></ol></div><div class="">NFD 0.5.0 release notes list the following changes, excluding bugfixes/deprecations/deletions and changes in tools:</div><div class=""><ol class=""><li class="">Add Adaptive SRTT-based Forwarding strategy (Issue #3566)<br class=""></li><li class="">Introduce configurable policy for admission of unsolicited data packets into the content store (Issue #2181).</li><li class="">Introduce mechanism to update properties (e.g., flags, persistency) of an existing Face (Issue #3731).</li><li class="">Strategy API update. FIB entry is no longer supplied to the Strategy::afterReceiveInterest method (i.e., FIB lookup is not performed by the forwarding pipelines). When necessary, a strategy can request FIB lookup using Strategy::lookupFib (Issue #3664, Issue #3205, Issue #3679, Issue #3205)<br class=""></li><li class="">ForwarderStatus dataset can now be requested only with /localhost/nfd/status/general interest (Issue #3379)<br class=""></li><li class="">Optimizations of tables and forwarding, including reduced usage of shared_ptr (Issue #3205, Issue #3164, Issue #3687)<br class=""></li><li class="">Display extended diagnostic information if NFD crashes (Issue #2541)<br class=""></li><li class="">Visualize NACK counters in nfd-status output (Issue #3569)<br class=""></li><li class="">Extend management to process the new LocalFieldsEnabled attribute when creating/updating Faces (Issue #3731)<br class=""></li><li class="">Switch logging facility to use Boost.Log (Issue #3562)<br class=""></li><li class="">Refactor implementation of RIB Manager to make it uniform with other managers (Issue #2857)<br class=""></li><li class="">Miscellaneous code refactoring (Issue #3738, Issue #3164, Issue #3687, Issue #3205, Issue #3608, Issue #3619, Issue #2181)</li></ol></div><div class=""><br class=""></div><div class="">I wonder what's the major difficulty of integrating NFD 0.5.0 into ndnSIM?</div><div class="">Can you point out which items are in conflict with ns-3 restrictions and patterns, or what updates have made the compliance situation worse than NFD 0.4.1?</div><div class=""><br class=""></div><div class="">Yours, Junxiao<br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Sat, Oct 29, 2016 at 12:16 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word" class="">To clarify things:<div class=""><br class=""></div><div class="">the upcoming release of ndnSIM (v2.2) will be based on NFD 0.4.1. Our initial goal for the release after ndnSIM 2.2 is to be based on NFD 0.5, however, we really hope that it might be based on the latest (at that time) version of NFD.</div><div class=""><br class=""></div><div class="">The reason that ndnSIM 2.2 will be based on NFD 0.4.1 and not 0.5 is that NFD 0.5 contains a lot of internal restructuring that is not clear to us how easy or hard would be to integrate with ndnSIM. ndnSIM is based on NS3 and the NS3 world has some certain restrictions and patterns that sometimes make the integration of NFD features really hard.</div><div class=""><br class=""></div><div class="">I wish we had more manpower to be able to keep up more actively.</div><div class=""><br class=""></div><div class="">Thank you,</div><div class="">Spyros</div></div></blockquote></div></div></div></div>
</div></blockquote></div><br class=""></div></body></html>