[ndnSIM] Question about updating name prefix list of the routers

Ashlesh Gawande (agawande) agawande at memphis.edu
Mon Mar 6 11:17:54 PST 2017


face->receive is for the unit tests (written for testing purpose). Remove it.

After that call whatever the equivalent of face->processEvents is in ndnSIM (I am not familiar with ndnSIM).


Also look at nlsrc tools - which is a real application to send advertise/withdraw command and would be closer to what you want than the test (however, one thing missing in nlsrc is that it will sign the interest with default identity - so you have to make sure that default identity is set to operator to do the advertise/withdraw request This should not matter if security is turned off in nlsr.conf file - iirc ndnSIM-NLSR has it turned off).

(https://github.com/named-data/NLSR/tree/master/tools)

But yes, to advertise/withdraw prefix this is the functionality you would use.


Ashlesh

________________________________
From: Mahsa Aghajani <mahsa.aghajani at gmail.com>
Sent: Monday, March 6, 2017 12:47:00 PM
To: Alex Afanasyev
Cc: Ashlesh Gawande (agawande); ndnsim; Anil Jangam
Subject: Re: [ndnSIM] Question about updating name prefix list of the routers

The error I got is that face class does not have a member receive().
I do not know exactly how to send the cammand advertise/withdraw.
Thank you a lot dear Alex for your attention.

On Mar 6, 2017 22:11, "Alex Afanasyev" <aa at cs.ucla.edu<mailto:aa at cs.ucla.edu>> wrote:
Dear Mahsa,

Can you give a bit more details on what errors you're getting?  What exactly is not working when you trying to send the command?

--
Alex

On Mar 5, 2017, at 5:53 AM, Mahsa Aghajani <mahsa.aghajani at gmail.com<mailto:mahsa.aghajani at gmail.com>> wrote:

Dear ndnSIM users

I want to update name prefix lists of routers during a simulation including adding/removing some name  prefixes to/from a router. Should I use advertise or withdraw functions of NLSR for doing this?
If so, how can I use these functions in ndnSIM-NLSR? I have written this code in
ndn-nlsr-exec.cpp file, but I got some errors relating to sending interest from face :

void
Nlsr::withdraw()
{
  m_nlsr.getPrefixUpdateProcessor().updateProcessor.enable();

  ndn::nfd::ControlParameters parameters;
  parameters.setName("/prefix/to/advertise/");

  ndn::Name withdrawCommand("/localhost/nlsr/prefix-update/withdraw");
  withdrawCommand.append(parameters.wireEncode());

  shared_ptr<Interest> withdrawInterest = make_shared<Interest>(withdrawCommand);
  keyChain.signByIdentity(*withdrawInterest, opIdentity);

  face->receive(*withdrawInterest);
  face->processEvents(ndn::time::milliseconds(1));
}

Thanks and regards.


Mahsa Aghajani
M.Sc. Student
Department of Computer Engineering
Sharif University of Technology

_______________________________________________
ndnSIM mailing list
ndnSIM at lists.cs.ucla.edu<mailto:ndnSIM at lists.cs.ucla.edu>
http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170306/e97a4c8f/attachment-0001.html>


More information about the ndnSIM mailing list