From rdeshmukh at umass.edu Wed Mar 1 06:54:03 2017 From: rdeshmukh at umass.edu (Rajvardhan) Date: Wed, 01 Mar 2017 09:54:03 -0500 Subject: [ndnSIM] Inducing waiting delay in nodes In-Reply-To: <51dbe53d52d3efea2429649e87973d91@umail.it.umass.edu> References: <51dbe53d52d3efea2429649e87973d91@umail.it.umass.edu> Message-ID: <66b8fea7-7d9d-4cba-be4f-61c3cfb0bb93@typeapp.com> hi Spyridon, I am implementing something similar to delay induction depending on distance,so I was going through the code base for car-to-car https://github.com/cawka/ndnSIM-nom-rapid-car2car?files=1 I was wondering where the delay induction depending on distance was implemented, as there was no mention of the afterrecieveinterest method(heavily used in ndnSIM2.0 version). I observed the tracer observed this delay. Regards, Raj ? ? On 28 Feb 2017 11:25, at 11:25, Rajvardhan Deshmukh wrote: >hi Spyros, >I have written a new forwarding strategy and >included following in z-strategy.cpp >const Name >ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); >NFD_REGISTER_STRATEGY(ZStrategy); > >after saving the files z-strategy.cpp and z-strategy.hpp in >/NFD/daemon/fw >i used ./waf >then included the below method in my main(network simulation)program. > >How do i call it in my main program(#include >"NFD/daemon/fw/z-strategy.hpp") that implements this strategy? >1. >StrategyChoiceHelper::InstallAll("/", >"/localhost/nfd/strategy/ZStrategy"); >-------------------------------------------------------------------------------------------------------------- >Problem: Can't test if this is implemented or not > >OR > >2. >I moved the random-load-balancer-strategy.hpp and >random-load-balancer-strategy.cpp to /NFD/daemon/fw/ >and was able to use >StrategyChoiceHelper::Install(nodes,"/"); > >I tried using: >StrategyChoiceHelper::Install(nodes,"/"); >--------------------------------------------------------------------------------------------------------------- >Gives error: >scratch/rvanet.cc.2.o: In function `void >ns3::ndn::StrategyChoiceHelper::Install(ns3::Ptr, > >ndn::Name const&)': >/home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:122: > >undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' >/home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:126: > >undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' >scratch/rvanet.cc.2.o: In function `std::unique_ptr >std::default_delete > >ndn::make_uniquestd::reference_wrapper > >(std::reference_wrapper&&)': >/home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: > >undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' >/home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: > >undefined reference to `nfd::fw::ZStrategy::ZStrategy(nfd::Forwarder&, >ndn::Name const&)' >collect2: error: ld returned 1 exit status >---------------------------------------------------------------------------------------------------------------- > > > > >Let me know if further details are required to debug this problem. > >Thanks a lot. > >Regards, >Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Wed Mar 1 17:15:37 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 1 Mar 2017 17:15:37 -0800 Subject: [ndnSIM] Inducing waiting delay in nodes In-Reply-To: <66b8fea7-7d9d-4cba-be4f-61c3cfb0bb93@typeapp.com> References: <51dbe53d52d3efea2429649e87973d91@umail.it.umass.edu> <66b8fea7-7d9d-4cba-be4f-61c3cfb0bb93@typeapp.com> Message-ID: <64816DCF-091F-40EE-9FDD-8D72EBE24FC1@cs.ucla.edu> Hi Raj, the code that you referred to is very old. I would suggest you schedule events using NS-3?s scheduler after the desired amount time: https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 1, 2017, at 6:54 AM, Rajvardhan wrote: > > hi Spyridon, > I am implementing something similar to delay induction depending on distance,so I was going through the code base for car-to-car > https://github.com/cawka/ndnSIM-nom-rapid-car2car?files=1 > I was wondering where the delay induction depending on distance was implemented, as there was no mention of the afterrecieveinterest method(heavily used in ndnSIM2.0 version). I observed the tracer observed this delay. > > Regards, > Raj > > > On 28 Feb 2017, at 11:25, Rajvardhan Deshmukh > wrote: > hi Spyros, > I have written a new forwarding strategy and > included following in z-strategy.cpp > const Name > ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); > NFD_REGISTER_STRATEGY(ZStrategy); > > after saving the files z-strategy.cpp and z-strategy.hpp in > /NFD/daemon/fw > i used ./waf > then included the below method in my main(network simulation)program. > > How do i call it in my main program(#include > "NFD/daemon/fw/z-strategy.hpp") that implements this strategy? > 1. > StrategyChoiceHelper::InstallAll("/", > "/localhost/nfd/strategy/ZStrategy"); > > Problem: Can't test if this is implemented or not > > OR > > 2. > I moved the random-load-balancer-strategy.hpp and > random-load-balancer-strategy.cpp to /NFD/daemon/fw/ > and was able to use > StrategyChoiceHelper::Install(nodes,"/"); > > I tried > using: > StrategyChoiceHelper::Install(nodes,"/"); > > Gives error: > scratch/rvanet.cc .2.o: In function `void > ns3::ndn::StrategyChoiceHelper::Install(ns3::Ptr, > ndn::Name const&)': > /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:122: > undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' > /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:126: > undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' > scratch/rvanet.cc .2.o: In function `std::unique_ptr std::default_delete > > ndn::make_unique std::reference_wrapper > (std::reference_wrapper&&)': > /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: > undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' > /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: > undefined reference to `nfd::fw::ZStrategy::ZStrategy(nfd::Forwarder&, > ndn::Name const&)' > collect2: error: ld returned 1 exit status > > > > > > Let me know if further details are required to debug this problem. > > Thanks a lot. > > Regards, > Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Wed Mar 1 19:33:13 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Wed, 01 Mar 2017 22:33:13 -0500 Subject: [ndnSIM] New forwarding Strategy Message-ID: Hi Spyridon, Thank you for helping me.I apologize for the back to back emails. I have written a new forwarding strategy and included following in z-strategy.cpp const Name ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); NFD_REGISTER_STRATEGY(ZStrategy); after saving the files z-strategy.cpp and z-strategy.hpp in /NFD/daemon/fw i used ./waf then included the below method in my main(network simulation)program. How do i call it in my main program(#include "NFD/daemon/fw/z-strategy.hpp") that implements this strategy? 1. StrategyChoiceHelper::InstallAll("/", "/localhost/nfd/strategy/ZStrategy"); -------------------------------------------------------------------------------------------------------------- Problem: Can't test if this is implemented or not OR 2. I moved the random-load-balancer-strategy.hpp and random-load-balancer-strategy.cpp to /NFD/daemon/fw/ and was able to use StrategyChoiceHelper::Install(nodes,"/"); I tried using: StrategyChoiceHelper::Install(nodes,"/"); --------------------------------------------------------------------------------------------------------------- Gives error: scratch/rvanet.cc.2.o: In function `void ns3::ndn::StrategyChoiceHelper::Install(ns3::Ptr, ndn::Name const&)': /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:122: undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:126: undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' scratch/rvanet.cc.2.o: In function `std::unique_ptr > ndn::make_unique >(std::reference_wrapper&&)': /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: undefined reference to `nfd::fw::ZStrategy::ZStrategy(nfd::Forwarder&, ndn::Name const&)' collect2: error: ld returned 1 exit status ---------------------------------------------------------------------------------------------------------------- Let me know if further details are required to debug this problem. Thanks a lot. Regards, Raj From 15mcen09 at nirmauni.ac.in Thu Mar 2 01:35:41 2017 From: 15mcen09 at nirmauni.ac.in (AEMI KALARIA) Date: Thu, 2 Mar 2017 15:05:41 +0530 Subject: [ndnSIM] I want to do packet classification in NDN. Can NDN packet contains any field like identification?? Message-ID: -------------- next part -------------- An HTML attachment was scrubbed... URL: From gorghino at gmail.com Thu Mar 2 07:41:08 2017 From: gorghino at gmail.com (Davide Aguiari) Date: Thu, 02 Mar 2017 15:41:08 +0000 Subject: [ndnSIM] [ChronoSync] How to publishData and get it Message-ID: Hi everyone, I'm using this ChronoSync scenario: https://github.com/named-data/ChronoSync I build a tree where the leaves produce data and Chronosync sync them with all the tree node. (7 nodes in my case). The non-leaves nodes get the data and they get the average from the values. I would like to publish them in the same ChronoSync application, e.g. with name /ndn/peer[id]/average So any node, randomly, may send an Interest to the average Producers sending an Interest. I edited Socket::publishData and Socket::fetchData to avoid sync flow in case of "my Interests". Socket.cpp: http://pastebin.com/y48veyEd publishData check the prefix, if it's DEFAULT_PREFIX, it syncs, else it only insert into m_ims. fetchData doesn't append seqNo if I'm exchanging average (seqNo is NULL). The problem now is how to set the correct face for the Application. If I try with *ns3::ndn::FibHelper::AddRoute(thisNode, "/ndn/peer8/average", m_face, 1);* [[ Note that thisNode is get from: *ChronoSync::ChronoSync(const int minNumberMessages, const int maxNumberMessages, ns3::Ptr thisNode, bool _producer)* and in chronosync-app.hpp I do: *m_instance.reset(new ::ndn::ChronoSync(m_minNumberMessages, m_maxNumberMessages, GetNode(), m_periodicPublishing)); ]]* I get: --------------------------------------------------------------------------------------------------------------------------- ../extensions/chronosync.cpp: In constructor ?ndn::ChronoSync::ChronoSync(int, int, ns3::Ptr, bool)?: ../extensions/chronosync.cpp:41:74: error: no matching function for call to ?ns3::ndn::FibHelper::AddRoute(ns3::Ptr&, const char [19], ndn::Face&, int)? ns3::ndn::FibHelper::AddRoute(thisNode, "/ndn/peer8/average", m_face, 1); ^ In file included from /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-stack-helper.hpp:31:0, from /usr/local/include/ns3-dev/ns3/ndn-all.hpp:23, from /usr/local/include/ns3-dev/ns3/ndnSIM-module.h:10, from /home/gorgo/ndnSIM/scenario-ChronoSync/ChronoSync/src/logic.hpp:40, from /home/gorgo/ndnSIM/scenario-ChronoSync/ChronoSync/src/socket.hpp:32, from ../extensions/chronosync.hpp:22, from ../extensions/chronosync.cpp:22: /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:56:3: note: candidate: static void ns3::ndn::FibHelper::AddRoute(ns3::Ptr, const ndn::Name&, std::shared_ptr, int32_t) AddRoute(Ptr node, const Name& prefix, shared_ptr face, int32_t metric); ^ /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:56:3: note: no known conversion for argument 3 from ?ndn::Face? to ?std::shared_ptr? /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:67:3: note: candidate: static void ns3::ndn::FibHelper::AddRoute(const string&, const ndn::Name&, uint32_t, int32_t) AddRoute(const std::string& nodeName, const Name& prefix, uint32_t faceId, int32_t metric); ^ /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:67:3: note: no known conversion for argument 1 from ?ns3::Ptr? to ?const string& {aka const std::__cxx11::basic_string&}? /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:78:3: note: candidate: static void ns3::ndn::FibHelper::AddRoute(ns3::Ptr, const ndn::Name&, uint32_t, int32_t) AddRoute(Ptr node, const Name& prefix, uint32_t faceId, int32_t metric); ^ /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:78:3: note: no known conversion for argument 3 from ?ndn::Face? to ?uint32_t {aka unsigned int}? /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:89:3: note: candidate: static void ns3::ndn::FibHelper::AddRoute(ns3::Ptr, const ndn::Name&, ns3::Ptr, int32_t) AddRoute(Ptr node, const Name& prefix, Ptr otherNode, int32_t metric); ^ /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:89:3: note: no known conversion for argument 3 from ?ndn::Face? to ?ns3::Ptr? /usr/local/include/ns3-dev/ns3/ndnSIM/helper/ndn-fib-helper.hpp:101:3: note: candidate: static void ns3::ndn::FibHelper::AddRoute(const string&, const ndn::Name&, const string&, int32_t) AddRoute(const std::string& nodeName, const Name& prefix, const std::string& otherNodeName, --------------------------------------------------------------------------------------------------------------------------- To store the average I do in chronosync.cpp: *m_socket->publishData(reinterpret_cast(std::to_string(avg).c_str()),* * std::to_string(avg).size(), ndn::time::milliseconds(1000*60), m_routableUserPrefix.append("average"));* and I try to get it with: *m_socket->fetchData("/ndn/peer8/average", NULL,* * bind(&ChronoSync::printData, this, _1),* * 2);* Is it possible? All this application seems very "ad-hoc solution" to me. Yes sync works but I'm not able (and I'm skilled) to do anything else here :( Thank you, Davide -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Fri Mar 3 12:27:06 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Fri, 3 Mar 2017 12:27:06 -0800 Subject: [ndnSIM] New forwarding Strategy In-Reply-To: References: Message-ID: Hi, use the strategy choice helper. If there is not such a strategy implemented, NFD will log an appropriate error message: https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.5.0-30-g934f505-ndnSIM/daemon/mgmt/strategy-choice-manager.cpp#L58-L59 Enable the ?StrategyChoiceManager" logging component to be able to see that. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 1, 2017, at 7:33 PM, Rajvardhan Deshmukh wrote: > > Hi Spyridon, > Thank you for helping me.I apologize for the back to back emails. > I have written a new forwarding strategy and > included following in z-strategy.cpp > const Name ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); > NFD_REGISTER_STRATEGY(ZStrategy); > > after saving the files z-strategy.cpp and z-strategy.hpp in /NFD/daemon/fw > i used ./waf > then included the below method in my main(network simulation)program. > > How do i call it in my main program(#include "NFD/daemon/fw/z-strategy.hpp") that implements this strategy? > 1. > StrategyChoiceHelper::InstallAll("/", "/localhost/nfd/strategy/ZStrategy"); > -------------------------------------------------------------------------------------------------------------- > Problem: Can't test if this is implemented or not > > OR > > 2. > I moved the random-load-balancer-strategy.hpp and random-load-balancer-strategy.cpp to /NFD/daemon/fw/ > and was able to use StrategyChoiceHelper::Install(nodes,"/"); > > I tried using: > StrategyChoiceHelper::Install(nodes,"/"); > --------------------------------------------------------------------------------------------------------------- > Gives error: > scratch/rvanet.cc.2.o: In function `void ns3::ndn::StrategyChoiceHelper::Install(ns3::Ptr, ndn::Name const&)': > /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:122: undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' > /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:126: undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' > scratch/rvanet.cc.2.o: In function `std::unique_ptr > ndn::make_unique >(std::reference_wrapper&&)': > /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: undefined reference to `nfd::fw::ZStrategy::STRATEGY_NAME' > /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: undefined reference to `nfd::fw::ZStrategy::ZStrategy(nfd::Forwarder&, ndn::Name const&)' > collect2: error: ld returned 1 exit status > ---------------------------------------------------------------------------------------------------------------- > > > > > Let me know if further details are required to debug this problem. > > Thanks a lot. > > Regards, > Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Fri Mar 3 12:28:54 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Fri, 3 Mar 2017 12:28:54 -0800 Subject: [ndnSIM] I want to do packet classification in NDN. Can NDN packet contains any field like identification?? In-Reply-To: References: Message-ID: Hi, yes, an NDN packet can contain whatever field you want. You have to modify the packet format in the ndn-cxx library to achieve that. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 2, 2017, at 1:35 AM, AEMI KALARIA <15mcen09 at nirmauni.ac.in> wrote: > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Sat Mar 4 02:21:06 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Sat, 4 Mar 2017 15:51:06 +0530 Subject: [ndnSIM] request Message-ID: hello sir when i run NS_LOG=DumbRequester:ndn.cs.Freshness.Lru ./waf --run=ndn-simple-with-content-freshness i get below type error Command ['/home/mtechcse/Downloads/ndnSIM-examples-master/ns-3/ build/src/ndnSIM/examples/ns3-dev-ndn-simple-with-content-freshness-debug'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --command-template="gdb --args %s "). how could i solve it? Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Sat Mar 4 11:31:03 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Sat, 4 Mar 2017 11:31:03 -0800 Subject: [ndnSIM] request In-Reply-To: References: Message-ID: <5BCB120E-5C4C-4D28-AD6B-F60C4FC2A5CC@cs.ucla.edu> Hi, unfortunately, you do not provide any useful context for me to help you. The problem can be literally anything... Moreover, this file has been replaced by the OneInterestRequester app: https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/examples/ndn-simple-with-content-freshness/one-interest-requester.cpp https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/examples/ndn-simple-with-content-freshness/one-interest-requester.hpp Please use the OneInterestRequest as the logging component to see the output. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 4, 2017, at 2:21 AM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in> wrote: > > hello sir > when i run > NS_LOG=DumbRequester:ndn.cs.Freshness.Lru ./waf --run=ndn-simple-with-content-freshness > > i get below type error > > Command ['/home/mtechcse/Downloads/ndnSIM-examples-master/ns-3/build/src/ndnSIM/examples/ns3-dev-ndn-simple-with-content-freshness-debug'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --command-template="gdb --args %s "). > > > > how could i solve it? > > > > Thanks & Regards > Prajapati Zalak > Institute of Technology, > Nirma University, Ahmedabad > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Sun Mar 5 05:53:28 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Sun, 5 Mar 2017 17:23:28 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers Message-ID: 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 withdrawInterest = make_shared(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 -------------- next part -------------- An HTML attachment was scrubbed... URL: From renpei.bupt at qq.com Sun Mar 5 06:03:21 2017 From: renpei.bupt at qq.com (=?gb18030?B?yM7F5g==?=) Date: Sun, 5 Mar 2017 22:03:21 +0800 Subject: [ndnSIM] curve of app-delays-trace DelayUS Message-ID: Hi NDNer, I am using the API "app-delays-trace" to record the response time of the Interest, and I'm confused of it's results. The simulation scenarios is ndn-grid in the ndnSIM 1.0, forwarding strategy i choose GreenYellowRed, consumer node install the "consumerWindow" and the windows size i make it to 1 and do not increase with consumer received the response Data packet. In the "app-delays-tracce.txt" file, I painted the DelaysUS curve through the Excel, and what makes me confused is the curve is not a straight line, and Curve at two nodes DelayUS occurred mutations, i don't know why it is and i experiemt under the ndnSIM 2.0 environment and other scenairos, same situation still occurs, i'm appreciate if any one can help me what happened the what it means. The result picture can check the website http://okbhpmphp.bkt.clouddn.com/2017-03-05_140013.png Best regards, pei ren -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/octet-stream Size: 5717 bytes Desc: not available URL: From mastorakis at CS.UCLA.EDU Sun Mar 5 11:25:04 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Sun, 5 Mar 2017 11:25:04 -0800 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: Message-ID: <02E1E102-EBEA-4F9E-ADE5-D326A271BD9A@cs.ucla.edu> Hi, you can use the FibHelper to add/remove/update routes to/from NFD: https://github.com/named-data-ndnSIM/ndnSIM/blob/master/helper/ndn-fib-helper.cpp Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 5, 2017, at 5:53 AM, Mahsa Aghajani 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 withdrawInterest = make_shared(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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Sun Mar 5 11:55:44 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Sun, 5 Mar 2017 23:25:44 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: <02E1E102-EBEA-4F9E-ADE5-D326A271BD9A@cs.ucla.edu> References: <02E1E102-EBEA-4F9E-ADE5-D326A271BD9A@cs.ucla.edu> Message-ID: Actually I want to add/remove name prefixes in a router, so nlsr routing messages became generated and disseminated toward other routers. I appreciate your suggestion dear Spyridon but I think FibHelper will not do this in the way I need. On Mar 5, 2017 22:55, "Spyridon (Spyros) Mastorakis" wrote: > Hi, > > you can use the FibHelper to add/remove/update routes to/from NFD: > > https://github.com/named-data-ndnSIM/ndnSIM/blob/master/ > helper/ndn-fib-helper.cpp > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > > On Mar 5, 2017, at 5:53 AM, Mahsa Aghajani > 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 withdrawInterest = make_shared( > 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 > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From renpei.bupt at qq.com Sun Mar 5 18:21:36 2017 From: renpei.bupt at qq.com (=?gb18030?B?yM7F5g==?=) Date: Mon, 6 Mar 2017 10:21:36 +0800 Subject: [ndnSIM] ndnSIM1.0 GreenYellowRed Message-ID: Hi everyone! I want to use the GreenYellowRed forwarding strategy, so i simulate my scenarios with the ndnSIM1.0 and replace "ndnHelper.SetForwardingStrategy ("ns3::ndn::fw::BestRoute");" with "ndnHelper.SetForwardingStrategy ("ns3::ndn::fw::GreenYellowRed");", then i run and get the error "msg="Requested constructor for ns3::ndn::fw::GreenYellowRed but it does not have one.", file=../src/core/model/type-id.cc, line=333 terminate called without an active exception", what should i do? the green-yello-red.cc exist in /model/fw filed same as best-route.cc, why i use "ns3::ndn::fw::BestRoute" is ok and "ns3::ndn::fw::GreenYellowRed" occurs error? thank you! pei ren -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Sun Mar 5 22:55:34 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Mon, 6 Mar 2017 12:25:34 +0530 Subject: [ndnSIM] help In-Reply-To: References: Message-ID: hello i want to do caching at router. for that i store popular content using multicast suggestion techniques.and after that i apply LFU policy on content store.so help me how to i implement in ndnsim. Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad On Sat, Mar 4, 2017 at 11:05 AM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in > wrote: > hello > i want to do caching at router. for that i store popular content using > multicast suggestion techniques.and after that i apply LFU policy on > content store.so help me how to i implement in ndnsim. > > > Thanks & Regards > Prajapati Zalak > Institute of Technology, > Nirma University, Ahmedabad > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Mon Mar 6 03:11:42 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Mon, 6 Mar 2017 17:11:42 +0600 Subject: [ndnSIM] How to find the Interfaces to which an Interest has been forwarded Message-ID: Dear All, Let me explain my problem pictorially. Say, node A has three five interfaces as shown: i-1 i-2 \ / \ / \ / A / | \ / | \ / | \ o-1 o-2 o-3 An Interest I has been received on interface i-1 (and some moments later on interface i-2) and forwarded to all the outgoing faces i.e. o-1, o-2, and o-3. Suppose, the corresponding Data packet has been reached on interface o-1. Now, how can I find the name of the other two interfaces where the interest I has been forwarded. I mean, which function in which file is appropirate to find the interfaces o-2 and o-3. I want to send a packet to those interfaces. Thanks in advance Asif -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Mon Mar 6 09:16:13 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Mon, 06 Mar 2017 12:16:13 -0500 Subject: [ndnSIM] Fwd: Re: Inducing waiting delay in nodes In-Reply-To: References: Message-ID: > Thanks Spyridon i renamed the strategy and the .cpp and hpp names and it > worked. > > Also, i wanted to get the position of the nodes in the forwarding > strategy. > 1.i tried directly using the > > using namespace ns3; > using namespace fw; > > Ptrmodel=GetObject(); > Vector position= model.GetPosition(); > > ------------------------- > > error: 'GetObject' was not declared in this scope > > https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 > > 2.also inducing delay using following: > > Simulator::Schedule(Seconds(Ndelay), &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > > void WaitStrategy::SendAfterDelay(shared_ptr& pitEntry,const Face outFace,const Interest& interest) > { > this->sendInterest(pitEntry, outFace, interest); > } > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > --------------------------------------------------------------------------------------------------- > gives error: > error: use of deleted function 'nfd::face::Face::Face(const nfd::face::Face&)' > Simulator::Schedule(Seconds(Ndelay), &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > > error: candidate is: void nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, nfd::face::Face, const ndn::Interest&) > > Thanks, > Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Mon Mar 6 10:41:17 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Mon, 6 Mar 2017 10:41:17 -0800 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: Message-ID: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> 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 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 withdrawInterest = make_shared(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 > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Mon Mar 6 10:47:00 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Mon, 6 Mar 2017 22:17:00 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: 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" 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 > 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 withdrawInterest = make_shared( > 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 > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Mon Mar 6 11:17:54 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Mon, 6 Mar 2017 19:17:54 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu>, Message-ID: 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 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.EDU Mon Mar 6 12:17:40 2017 From: shijunxiao at email.arizona.EDU (Junxiao Shi) Date: Mon, 6 Mar 2017 13:17:40 -0700 Subject: [ndnSIM] How to find the Interfaces to which an Interest has been forwarded In-Reply-To: References: Message-ID: Hi Shahid You may inspect PIT out-records. https://github.com/named-data/NFD/blob/a274292b93d62c78a58246be5cbc2bd4dad6acf5/daemon/table/pit-entry.hpp#L158-L159 Yours, Junxiao On Mon, Mar 6, 2017 at 4:11 AM, Shahid Md. Asif Iqbal wrote: > Dear All, > Let me explain my problem pictorially. Say, node A has three five > interfaces as shown: > i-1 i-2 > \ / > \ / > \ / > A > / | \ > / | \ > / | \ > o-1 o-2 o-3 > An Interest I has been received on interface i-1 (and some moments later > on interface i-2) and forwarded to all the outgoing faces i.e. o-1, o-2, > and o-3. Suppose, the corresponding Data packet has been reached on > interface o-1. Now, how can I find the name of the other two interfaces > where the interest I has been forwarded. I mean, which function in which > file is appropirate to find the interfaces o-2 and o-3. I want to send a > packet to those interfaces. > > Thanks in advance > Asif > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Mon Mar 6 22:14:29 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Tue, 7 Mar 2017 11:44:29 +0530 Subject: [ndnSIM] Request Message-ID: Hello sir I am zalak and i am working on named data networking with specification of caching.i used ndnsim for implementation.in that i cache popular content in CS and after that i planning to use LFU policy for content replacement. So i need help regarding this.so can anyone help me how could i implement in ndnsim or simulate it. if possible then give me guide line or reference further. Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Mar 7 09:21:22 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 7 Mar 2017 09:21:22 -0800 Subject: [ndnSIM] Request In-Reply-To: References: Message-ID: Hi, please take a look at the NFD developer?s guide that includes the description of the CS and the policies (section 3.3): http://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 6, 2017, at 10:14 PM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in> wrote: > > Hello sir > > I am zalak and i am working on named data networking with specification > of caching.i used ndnsim for implementation.in that i cache popular content > in CS and after that i planning to use LFU policy for content replacement. > So i need help regarding this.so can anyone help me how could i implement > in ndnsim or simulate it. > if possible then give me guide line or reference further. > > > Thanks & Regards > Prajapati Zalak > Institute of Technology, > Nirma University, Ahmedabad > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Tue Mar 7 11:04:04 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Tue, 7 Mar 2017 22:34:04 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" wrote: > 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 > *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" 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 >> 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 withdrawInterest = make_shared(withdraw >> Command); >> 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 >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> >> > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Tue Mar 7 11:10:49 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Tue, 7 Mar 2017 19:10:49 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From scott1091 at yahoo.com Tue Mar 7 12:26:03 2017 From: scott1091 at yahoo.com (John Scott) Date: Tue, 7 Mar 2017 20:26:03 +0000 (UTC) Subject: [ndnSIM] Modifying Interest and Data packets References: <929482352.667509.1488918363755.ref@mail.yahoo.com> Message-ID: <929482352.667509.1488918363755@mail.yahoo.com> Hi, I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM.Could you please point me to some references? Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Tue Mar 7 12:50:13 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Tue, 07 Mar 2017 15:50:13 -0500 Subject: [ndnSIM] Fwd: Re: Inducing waiting delay in nodes and no member named GetObject error In-Reply-To: References: Message-ID: <9f1788fb0aeff7b4aba74aea8624a5a3@umail.it.umass.edu> -------- Original Message -------- Subject: Fwd: Re: Inducing waiting delay in nodes Date: 2017-03-06 12:16 From: Rajvardhan Deshmukh To: ndnsim at lists.cs.ucla.edu > Thanks Spyridon i renamed the strategy and the .cpp and hpp names and > it > worked. > > Also, i wanted to get the position of the nodes in the forwarding > strategy. > 1.i tried directly using the > > using namespace ns3; > using namespace fw; > > Ptrmodel=GetObject(); > Vector position= model.GetPosition(); > > ------------------------- > > error: 'GetObject' was not declared in this scope > > https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 > > 2.also inducing delay using following: > > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > > void WaitStrategy::SendAfterDelay(shared_ptr& > pitEntry,const Face outFace,const Interest& interest) > { > this->sendInterest(pitEntry, outFace, interest); > } > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > > --------------------------------------------------------------------------------------------------- > gives error: > error: use of deleted function 'nfd::face::Face::Face(const > nfd::face::Face&)' > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > > error: candidate is: void > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, > nfd::face::Face, const ndn::Interest&) > > Thanks, > Raj From mastorakis at CS.UCLA.EDU Tue Mar 7 15:53:46 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 7 Mar 2017 15:53:46 -0800 Subject: [ndnSIM] Modifying Interest and Data packets In-Reply-To: <929482352.667509.1488918363755@mail.yahoo.com> References: <929482352.667509.1488918363755.ref@mail.yahoo.com> <929482352.667509.1488918363755@mail.yahoo.com> Message-ID: <755DE6A8-DF9C-4EDF-A5B7-EAD6530EE2DA@cs.ucla.edu> Hi, take a look at the ndn-cxx library used by ndnSIM: https://github.com/named-data-ndnSIM/ndn-cxx Modify the data and interest classes to add the fields that you want: https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp Make sure that you also modify the way that you encode and decode an NDN packet to/from its wire format (methods wireEncode and wireDecode). Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 7, 2017, at 12:26 PM, John Scott wrote: > > Hi, > > I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM. > Could you please point me to some references? > > Thank you > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Mar 7 15:56:41 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 7 Mar 2017 15:56:41 -0800 Subject: [ndnSIM] Inducing waiting delay in nodes and no member named GetObject error In-Reply-To: <9f1788fb0aeff7b4aba74aea8624a5a3@umail.it.umass.edu> References: <9f1788fb0aeff7b4aba74aea8624a5a3@umail.it.umass.edu> Message-ID: Hi, unfortunately, I am not familiar with the mobility models of NS-3. You can try to use the ScheduleWithContext method and see if that will work: https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh wrote: > > > > -------- Original Message -------- > Subject: Fwd: Re: Inducing waiting delay in nodes > Date: 2017-03-06 12:16 > From: Rajvardhan Deshmukh > To: ndnsim at lists.cs.ucla.edu > >> Thanks Spyridon i renamed the strategy and the .cpp and hpp names and >> it >> worked. >> Also, i wanted to get the position of the nodes in the forwarding >> strategy. >> 1.i tried directly using the >> using namespace ns3; >> using namespace fw; >> Ptrmodel=GetObject(); >> Vector position= model.GetPosition(); >> ------------------------- >> error: 'GetObject' was not declared in this scope > https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 >> 2.also inducing delay using following: >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> void WaitStrategy::SendAfterDelay(shared_ptr& >> pitEntry,const Face outFace,const Interest& interest) >> { >> this->sendInterest(pitEntry, outFace, interest); >> } > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > --------------------------------------------------------------------------------------------------- >> gives error: >> error: use of deleted function 'nfd::face::Face::Face(const >> nfd::face::Face&)' >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> error: candidate is: void > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, >> nfd::face::Face, const ndn::Interest&) >> Thanks, >> Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: From j.manolopoulos at gmail.com Tue Mar 7 17:29:06 2017 From: j.manolopoulos at gmail.com (=?UTF-8?B?zpPOuc6xzr3Ovc63z4IgzpzOsc69z4nOu86/z4DOv8+FzrvOv8+C?=) Date: Wed, 8 Mar 2017 03:29:06 +0200 Subject: [ndnSIM] Manually change face state Message-ID: Hello, I am trying to model link failure between a router and a particular consumer. The consumer has issued an interest, but the link fails while awaiting for the data packet. I tried using LinkControlHelper, but it only sets the error rate of the channel to maximum and won't change consumer application's face state to DOWN. So, when the data packet arrives at the router, as far as the forwarder/strategy is concerned, it is forwarded correctly to the consumer and the pit entry gets deleted eventually, whereas I want to maintain it for the duration of InterestLifetime or at least until the link is up again (for experimental purposes). So I was wondering if there is a way to schedule for this particular face to change its state to DOWN at a given time, and then change it back to UP when the link is up again. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Tue Mar 7 20:01:59 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Wed, 8 Mar 2017 10:01:59 +0600 Subject: [ndnSIM] How to find the Interfaces to which an Interest has been forwarded In-Reply-To: References: Message-ID: Thanks Junxiao, started to work with that. On Tue, Mar 7, 2017 at 2:17 AM, Junxiao Shi wrote: > Hi Shahid > > You may inspect PIT out-records. > https://github.com/named-data/NFD/blob/a274292b93d62c78a58246be5cbc2b > d4dad6acf5/daemon/table/pit-entry.hpp#L158-L159 > > Yours, Junxiao > > > On Mon, Mar 6, 2017 at 4:11 AM, Shahid Md. Asif Iqbal > wrote: > >> Dear All, >> Let me explain my problem pictorially. Say, node A has three five >> interfaces as shown: >> i-1 i-2 >> \ / >> \ / >> \ / >> A >> / | \ >> / | \ >> / | \ >> o-1 o-2 o-3 >> An Interest I has been received on interface i-1 (and some moments later >> on interface i-2) and forwarded to all the outgoing faces i.e. o-1, o-2, >> and o-3. Suppose, the corresponding Data packet has been reached on >> interface o-1. Now, how can I find the name of the other two interfaces >> where the interest I has been forwarded. I mean, which function in which >> file is appropirate to find the interfaces o-2 and o-3. I want to send a >> packet to those interfaces. >> >> Thanks in advance >> Asif >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From scott1091 at yahoo.com Wed Mar 8 13:00:29 2017 From: scott1091 at yahoo.com (John Scott) Date: Wed, 8 Mar 2017 21:00:29 +0000 (UTC) Subject: [ndnSIM] Modifying Interest and Data packets In-Reply-To: <755DE6A8-DF9C-4EDF-A5B7-EAD6530EE2DA@cs.ucla.edu> References: <929482352.667509.1488918363755.ref@mail.yahoo.com> <929482352.667509.1488918363755@mail.yahoo.com> <755DE6A8-DF9C-4EDF-A5B7-EAD6530EE2DA@cs.ucla.edu> Message-ID: <1539863604.1490205.1489006829518@mail.yahoo.com> Hi Spyros, The title of the email is misleading, sorry. What I want to accomplish is the following: At t=0s, Consumer node sends out an Interest with the prefix /name/segment_1. The application itself adds to the Interest /timestamp_1/some_other_field_1 At t=2s, the Consumer nodes sends out another Interest with the prefix /name/segment_2/timestamp_2/some_other_field_2 And so on. The Producer node then interprets the Interest name, parses, and reply with the Data packet /name/segment_1/timestamp_3/some_other_field_3. So a node can decide to drop a packet if (currentTime - timestamp_n) > threshold, for instance. Can this be accomplish by modifying the Interest/Data packet in the ndn-cxx library or by using Interest filters and selectors? Thank you On Tuesday, March 7, 2017 6:53 PM, Spyridon (Spyros) Mastorakis wrote: Hi, take a look at the ndn-cxx library used by ndnSIM: https://github.com/named-data-ndnSIM/ndn-cxx Modify the data and interest classes to add the fields that you want: https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpphttps://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp Make sure that you also modify the way that you encode and decode an NDN packet to/from its wire format (methods wireEncode and wireDecode). Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website:?http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA On Mar 7, 2017, at 12:26 PM, John Scott wrote: Hi, I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM.Could you please point me to some references? Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Wed Mar 8 13:25:52 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 8 Mar 2017 13:25:52 -0800 Subject: [ndnSIM] Modifying Interest and Data packets In-Reply-To: <1539863604.1490205.1489006829518@mail.yahoo.com> References: <929482352.667509.1488918363755.ref@mail.yahoo.com> <929482352.667509.1488918363755@mail.yahoo.com> <755DE6A8-DF9C-4EDF-A5B7-EAD6530EE2DA@cs.ucla.edu> <1539863604.1490205.1489006829518@mail.yahoo.com> Message-ID: <63070180-AD0D-4A75-96A0-C6FA6CC8A19B@cs.ucla.edu> Hi, I do not see how you could achieve that by modifying the packet format? I would suggest you modify NFD directly or write your own application that will be running on each node and implement the required logic. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 8, 2017, at 1:00 PM, John Scott wrote: > > Hi Spyros, > > The title of the email is misleading, sorry. What I want to accomplish is the following: > > At t=0s, Consumer node sends out an Interest with the prefix /name/segment_1. The application itself adds to the Interest /timestamp_1/some_other_field_1 > At t=2s, the Consumer nodes sends out another Interest with the prefix /name/segment_2/timestamp_2/some_other_field_2 > And so on. > > The Producer node then interprets the Interest name, parses, and reply with the Data packet /name/segment_1/timestamp_3/some_other_field_3. > > So a node can decide to drop a packet if (currentTime - timestamp_n) > threshold, for instance. > > Can this be accomplish by modifying the Interest/Data packet in the ndn-cxx library or by using Interest filters and selectors? > > Thank you > > > > > > > On Tuesday, March 7, 2017 6:53 PM, Spyridon (Spyros) Mastorakis wrote: > > > Hi, > > take a look at the ndn-cxx library used by ndnSIM: > > https://github.com/named-data-ndnSIM/ndn-cxx > > Modify the data and interest classes to add the fields that you want: > > https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp > https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp > > Make sure that you also modify the way that you encode and decode an NDN packet to/from its wire format (methods wireEncode and wireDecode). > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > >> On Mar 7, 2017, at 12:26 PM, John Scott > wrote: >> >> Hi, >> >> I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM. >> Could you please point me to some references? >> >> Thank you >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Wed Mar 8 13:38:12 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 8 Mar 2017 13:38:12 -0800 Subject: [ndnSIM] Manually change face state In-Reply-To: References: Message-ID: <227D4CF2-F1D9-4B70-B2CA-9FC148094C26@cs.ucla.edu> Hi, each application has a corresponding face, so you could extend your application logic to set the state of its face to the local forwarder to DOWN. You will also have to modify NFD to be able to set the state of a Face based on its transport instance, similar to this getState method (create a setState method): https://github.com/named-data-ndnSIM/NFD/blob/38111cde9bab698f6eaf1a9d430130c2cbb3eca4/daemon/face/face.hpp#L289 There is an enumeration for the state of a Face transport available here: https://github.com/named-data-ndnSIM/NFD/blob/38111cde9bab698f6eaf1a9d430130c2cbb3eca4/daemon/face/transport.hpp#L41 Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 7, 2017, at 5:29 PM, ??????? ???????????? wrote: > > Hello, > > I am trying to model link failure between a router and a particular consumer. The consumer has issued an interest, but the link fails while awaiting for the data packet. I tried using LinkControlHelper, but it only sets the error rate of the channel to maximum and won't change consumer application's face state to DOWN. So, when the data packet arrives at the router, as far as the forwarder/strategy is concerned, it is forwarded correctly to the consumer and the pit entry gets deleted eventually, whereas I want to maintain it for the duration of InterestLifetime or at least until the link is up again (for experimental purposes). > > So I was wondering if there is a way to schedule for this particular face to change its state to DOWN at a given time, and then change it back to UP when the link is up again. > > Thanks! > -------------- next part -------------- An HTML attachment was scrubbed... URL: From binbs.khan at gmail.com Thu Mar 9 03:35:17 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Thu, 9 Mar 2017 16:35:17 +0500 Subject: [ndnSIM] change router on run time Message-ID: [image: Inline image 1] Hi I attached my scenario model. During simulation I used "best-route" for prefix but when Producer move from AP1 to AP2 the interest packet still goes to AP1. What should I do that Router send the interest packets to AP2 when producer connect with it. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Network Model.jpg Type: image/jpeg Size: 29004 bytes Desc: not available URL: From mastorakis at CS.UCLA.EDU Thu Mar 9 09:34:36 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Thu, 9 Mar 2017 09:34:36 -0800 Subject: [ndnSIM] change router on run time In-Reply-To: References: Message-ID: <7B60F7F2-D57B-4EB6-BBD6-242A4335E5E5@cs.ucla.edu> Hi, make sure that AP2 registers the correct prefix, so that the network can forward Interests towards it. Then, you can either use the multi-cast strategy or some custom strategy that you can create to forward Interests towards AP2. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 9, 2017, at 3:35 AM, Naveed Khan wrote: > > > Hi I attached my scenario model. During simulation I used "best-route" for prefix but when Producer move from AP1 to AP2 the interest packet still goes to AP1. What should I do that Router send the interest packets to AP2 when producer connect with it. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Mar 9 09:39:37 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 9 Mar 2017 09:39:37 -0800 Subject: [ndnSIM] change router on run time In-Reply-To: References: Message-ID: <801103AE-D5C7-4A8C-93AA-5219695D8E80@cs.ucla.edu> What do you mean by "producer moved"? Best-route strategy relies on information from routing to make the forwarding decision. Depending on how you define "move" in your simulation, you may need to recalculate routing tables. How to do it depends on how you define routing tables in the first place. If you used global routing helper, then you need to schedule re-calculation of routes after the "move". --- Alex > On Mar 9, 2017, at 3:35 AM, Naveed Khan wrote: > > > Hi I attached my scenario model. During simulation I used "best-route" for prefix but when Producer move from AP1 to AP2 the interest packet still goes to AP1. What should I do that Router send the interest packets to AP2 when producer connect with it. > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From asifcsep at gmail.com Thu Mar 9 22:22:09 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Fri, 10 Mar 2017 12:22:09 +0600 Subject: [ndnSIM] Problem with sequence number Message-ID: Dear All, When I tried to execute the line uint32_t seq = data.getName().at(-1).toSequenceNumber(); from the onIncomingData(.......) function of the fowarder.cpp file, it is producing the error 'content marker is not present or value is not a nonnegative integer'. Can anyone please provide a remedy to the problem? -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Thu Mar 9 22:42:12 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Fri, 10 Mar 2017 12:12:12 +0530 Subject: [ndnSIM] request Message-ID: Hello sir when i run NS_LOG=DumbRequester:ndn.cs.Freshness.Lru ./waf --run=ndn-simple-with-content-freshness i get error like Command ['/home/mtechcse/Desktop/ndnSIM/ns-3/build/src/ndnSIM/examples/ns3-dev-ndn-simple-with-content-freshness-debug'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --command-template="gdb --args %s "). Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Fri Mar 10 03:48:39 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Fri, 10 Mar 2017 17:48:39 +0600 Subject: [ndnSIM] Problem with sequence number Message-ID: Dear All, When I tried to execute the line uint32_t seq = data.getName().at(-1).toSequenceNumber(); from the onIncomingData(.......) function of the fowarder.cpp file, it is producing the error 'valid marker is not present or value is not a nonnegative integer'. Can anyone please provide a remedy to the problem? Sincerely Asif -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Fri Mar 10 09:25:33 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Fri, 10 Mar 2017 09:25:33 -0800 Subject: [ndnSIM] Problem with sequence number In-Reply-To: References: Message-ID: <62CC0C40-6358-4828-B36E-9A0296BB4AA9@cs.ucla.edu> Hi, this means that the last name component of your data packet is not a sequence number (or in any case a valid sequence number). Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal wrote: > > Dear All, > When I tried to execute the line > uint32_t seq = data.getName().at(-1).toSequenceNumber(); > from the onIncomingData(.......) function of the fowarder.cpp file, it is producing the error 'valid marker is not present or value is not a nonnegative integer'. Can anyone please provide a remedy to the problem? > > Sincerely > Asif -------------- next part -------------- An HTML attachment was scrubbed... URL: From scott1091 at yahoo.com Fri Mar 10 20:36:31 2017 From: scott1091 at yahoo.com (John Scott) Date: Sat, 11 Mar 2017 04:36:31 +0000 (UTC) Subject: [ndnSIM] Modifying Interest and Data packets In-Reply-To: <63070180-AD0D-4A75-96A0-C6FA6CC8A19B@cs.ucla.edu> References: <929482352.667509.1488918363755.ref@mail.yahoo.com> <929482352.667509.1488918363755@mail.yahoo.com> <755DE6A8-DF9C-4EDF-A5B7-EAD6530EE2DA@cs.ucla.edu> <1539863604.1490205.1489006829518@mail.yahoo.com> <63070180-AD0D-4A75-96A0-C6FA6CC8A19B@cs.ucla.edu> Message-ID: <590543521.3325188.1489206991738@mail.yahoo.com> Hi Spyros, After reading a few threads in this mailing list, I think the packet tag can be used to do what I want. I have a Consumer/Producer applications, followed by a new forwarding strategy.The examples of packet tagging vary, however.? My Consumer SendPacket() looks like this: #include #include #include "utils/ndn-ns3-packet-tag.hpp" // ... void NewConsumer::SendPacket(){? // ...? shared_ptr interest = make_shared(); ? interest->setNonce(m_rand->GetValue(0, std::numeric_limits::max())); ? interest->setName(*nameWithSequence); ? time::milliseconds interestLifeTime(m_interestLifeTime.GetMilliSeconds()); ? interest->setInterestLifetime(interestLifeTime); ? interest->setTag(??);// ...} The API defines a tag as `void ndn::TagHost::setTag shared_ptr< T >? tag) const`. How can I create a TagHost? Thank you On Wednesday, March 8, 2017 4:25 PM, Spyridon (Spyros) Mastorakis wrote: Hi, I do not see how you could achieve that by modifying the packet format? I would suggest you modify NFD directly or write your own application that will be running on each node and implement the required logic. Thanks, Spyridon (Spyros) Mastorakis Personal Website:?http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA On Mar 8, 2017, at 1:00 PM, John Scott wrote: Hi Spyros, The title of the email is misleading, sorry. What I want to accomplish is the following: At t=0s, Consumer node sends out an Interest with the prefix /name/segment_1. The application itself adds to the Interest /timestamp_1/some_other_field_1 At t=2s, the Consumer nodes sends out another Interest with the prefix /name/segment_2/timestamp_2/some_other_field_2 And so on. The Producer node then interprets the Interest name, parses, and reply with the Data packet /name/segment_1/timestamp_3/some_other_field_3. So a node can decide to drop a packet if (currentTime - timestamp_n) > threshold, for instance. Can this be accomplish by modifying the Interest/Data packet in the ndn-cxx library or by using Interest filters and selectors? Thank you On Tuesday, March 7, 2017 6:53 PM, Spyridon (Spyros) Mastorakis wrote: Hi, take a look at the ndn-cxx library used by ndnSIM: https://github.com/named-data-ndnSIM/ndn-cxx Modify the data and interest classes to add the fields that you want: https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpphttps://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp Make sure that you also modify the way that you encode and decode an NDN packet to/from its wire format (methods wireEncode and wireDecode). Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website:?http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA On Mar 7, 2017, at 12:26 PM, John Scott wrote: Hi, I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM.Could you please point me to some references? Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Fri Mar 10 21:07:55 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Sat, 11 Mar 2017 11:07:55 +0600 Subject: [ndnSIM] Problem with sequence number In-Reply-To: <62CC0C40-6358-4828-B36E-9A0296BB4AA9@cs.ucla.edu> References: <62CC0C40-6358-4828-B36E-9A0296BB4AA9@cs.ucla.edu> Message-ID: Thanks Spyridon, Then, how the same line is working fine in the consumer.cpp. As, it is the consumer who is defining the sequence number. Sincerely Asif On Fri, Mar 10, 2017 at 11:25 PM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > this means that the last name component of your data packet is not a > sequence number (or in any case a valid sequence number). > > Thanks, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal > wrote: > > Dear All, > When I tried to execute the line > uint32_t seq = data.getName().at(-1).toSequenceNumber(); > from the onIncomingData(.......) function of the fowarder.cpp file, it is > producing the error 'valid marker is not present or value is not a > nonnegative integer'. Can anyone please provide a remedy to the problem? > > Sincerely > Asif > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.EDU Fri Mar 10 21:14:43 2017 From: shijunxiao at email.arizona.EDU (Junxiao Shi) Date: Fri, 10 Mar 2017 22:14:43 -0700 Subject: [ndnSIM] Problem with sequence number In-Reply-To: References: <62CC0C40-6358-4828-B36E-9A0296BB4AA9@cs.ucla.edu> Message-ID: Hi Shahid Forwarder::onIncomingInterest processes not only Interests from your consumer, but also Interests from management protocol and routing protocol. Those Interests may not have a sequence number at the end, and thus fails at that line. Yours, Junxiao On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" wrote: Thanks Spyridon, Then, how the same line is working fine in the consumer.cpp. As, it is the consumer who is defining the sequence number. Sincerely Asif > > On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal > wrote: > > Dear All, > When I tried to execute the line > uint32_t seq = data.getName().at(-1).toSequenceNumber(); > from the onIncomingData(.......) function of the fowarder.cpp file, it is > producing the error 'valid marker is not present or value is not a > nonnegative integer'. Can anyone please provide a remedy to the problem? > > Sincerely > Asif > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Fri Mar 10 21:20:30 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Sat, 11 Mar 2017 11:20:30 +0600 Subject: [ndnSIM] Problem with sequence number In-Reply-To: References: <62CC0C40-6358-4828-B36E-9A0296BB4AA9@cs.ucla.edu> Message-ID: Thanks Junxiao, that sounds nice. On Sat, Mar 11, 2017 at 11:14 AM, Junxiao Shi wrote: > Hi Shahid > > Forwarder::onIncomingInterest processes not only Interests from your > consumer, but also Interests from management protocol and routing protocol. > Those Interests may not have a sequence number at the end, and thus fails > at that line. > > Yours, Junxiao > > > On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" > wrote: > > Thanks Spyridon, > Then, how the same line is working fine in the consumer.cpp. As, it is the > consumer who is defining the sequence number. > > Sincerely > Asif > >> >> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >> wrote: >> >> Dear All, >> When I tried to execute the line >> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >> from the onIncomingData(.......) function of the fowarder.cpp file, it is >> producing the error 'valid marker is not present or value is not a >> nonnegative integer'. Can anyone please provide a remedy to the problem? >> >> Sincerely >> Asif >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ilyaslahmer93 at gmail.com Sat Mar 11 15:56:08 2017 From: ilyaslahmer93 at gmail.com (lahmer ilyas) Date: Sat, 11 Mar 2017 23:56:08 +0000 Subject: [ndnSIM] (no subject) Message-ID: Hi guys, I'm trying to delay sending of an Interest. In my forwarding strategy class, I created a method sendPacket(const Face& inFace, interest, pit); and in the strategy method afterReceiveInterest(...) I make a call nns3::Simulator::Schedule(ns3::Seconds(1.0),&MyStrategy::sendPacket,this,inFace,interest,pitEntry); and this cause me a compiler error: use of deleted function ?nfd::face::Face::Face(const nfd::face::Face&)? I tried passing a pointer to the inFace and it compiles successfully but at runtime when I insert pitEntry I got bad weak pointer exception -------------- next part -------------- An HTML attachment was scrubbed... URL: From ilyaslahmer93 at gmail.com Sat Mar 11 16:06:01 2017 From: ilyaslahmer93 at gmail.com (lahmer ilyas) Date: Sun, 12 Mar 2017 00:06:01 +0000 Subject: [ndnSIM] Inducing waiting delay in nodes and no member named GetObject error In-Reply-To: References: <9f1788fb0aeff7b4aba74aea8624a5a3@umail.it.umass.edu> Message-ID: Hi To get The position of a node you can do the following : #include #include ns3::Ptr node = ns3::NodeList::GetNode(ns3::Simulator::GetContext()); ns3::Ptr mobility = node->GetObject(); ns3::Vector current = mobility->GetPosition(); std::cout<<"Node Position"< wrote: Hi, unfortunately, I am not familiar with the mobility models of NS-3. You can try to use the ScheduleWithContext method and see if that will work: https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh wrote: -------- Original Message -------- Subject: Fwd: Re: Inducing waiting delay in nodes Date: 2017-03-06 12:16 From: Rajvardhan Deshmukh To: ndnsim at lists.cs.ucla.edu Thanks Spyridon i renamed the strategy and the .cpp and hpp names and it worked. Also, i wanted to get the position of the nodes in the forwarding strategy. 1.i tried directly using the using namespace ns3; using namespace fw; Ptrmodel=GetObject(); Vector position= model.GetPosition(); ------------------------- error: 'GetObject' was not declared in this scope https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 2.also inducing delay using following: Simulator::Schedule(Seconds(Ndelay), &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); void WaitStrategy::SendAfterDelay(shared_ptr& pitEntry,const Face outFace,const Interest& interest) { this->sendInterest(pitEntry, outFace, interest); } https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 --------------------------------------------------------------------------------------------------- gives error: error: use of deleted function 'nfd::face::Face::Face(const nfd::face::Face&)' Simulator::Schedule(Seconds(Ndelay), &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); error: candidate is: void nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, nfd::face::Face, const ndn::Interest&) Thanks, Raj _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Sat Mar 11 16:44:58 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Sat, 11 Mar 2017 16:44:58 -0800 Subject: [ndnSIM] Modifying Interest and Data packets In-Reply-To: <590543521.3325188.1489206991738@mail.yahoo.com> References: <929482352.667509.1488918363755.ref@mail.yahoo.com> <929482352.667509.1488918363755@mail.yahoo.com> <755DE6A8-DF9C-4EDF-A5B7-EAD6530EE2DA@cs.ucla.edu> <1539863604.1490205.1489006829518@mail.yahoo.com> <63070180-AD0D-4A75-96A0-C6FA6CC8A19B@cs.ucla.edu> <590543521.3325188.1489206991738@mail.yahoo.com> Message-ID: <1CBE3981-1A70-49A2-8330-8A3730317B9F@cs.ucla.edu> Hi, please take a look at the following commits that I have done something similar: https://github.com/named-data-ndnSIM/ndn-cxx/commit/e53204419c51356dab70e0e5450ff5dcf587827a https://github.com/named-data-ndnSIM/NFD/commit/d0abae38024a6aecf6f956f4bbea36f4a9ff6d6f Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 10, 2017, at 8:36 PM, John Scott wrote: > > Hi Spyros, > > After reading a few threads in this mailing list, I think the packet tag can be used to do what I want. I have a Consumer/Producer applications, followed by a new forwarding strategy. > The examples of packet tagging vary, however. My Consumer SendPacket() looks like this: > > #include > #include > #include "utils/ndn-ns3-packet-tag.hpp" > > // ... > void > NewConsumer::SendPacket() > { > // ... > shared_ptr interest = make_shared(); > interest->setNonce(m_rand->GetValue(0, std::numeric_limits::max())); > interest->setName(*nameWithSequence); > time::milliseconds interestLifeTime(m_interestLifeTime.GetMilliSeconds()); > interest->setInterestLifetime(interestLifeTime); > > interest->setTag(??); > // ... > } > > The API defines a tag as `void ndn::TagHost::setTag shared_ptr< T > tag) const`. How can I create a TagHost? > > Thank you > > > > On Wednesday, March 8, 2017 4:25 PM, Spyridon (Spyros) Mastorakis wrote: > > > Hi, > > I do not see how you could achieve that by modifying the packet format? > > I would suggest you modify NFD directly or write your own application that will be running on each node and implement the required logic. > > Thanks, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > >> On Mar 8, 2017, at 1:00 PM, John Scott > wrote: >> >> Hi Spyros, >> >> The title of the email is misleading, sorry. What I want to accomplish is the following: >> >> At t=0s, Consumer node sends out an Interest with the prefix /name/segment_1. The application itself adds to the Interest /timestamp_1/some_other_field_1 >> At t=2s, the Consumer nodes sends out another Interest with the prefix /name/segment_2/timestamp_2/some_other_field_2 >> And so on. >> >> The Producer node then interprets the Interest name, parses, and reply with the Data packet /name/segment_1/timestamp_3/some_other_field_3. >> >> So a node can decide to drop a packet if (currentTime - timestamp_n) > threshold, for instance. >> >> Can this be accomplish by modifying the Interest/Data packet in the ndn-cxx library or by using Interest filters and selectors? >> >> Thank you >> >> >> >> >> >> >> On Tuesday, March 7, 2017 6:53 PM, Spyridon (Spyros) Mastorakis > wrote: >> >> >> Hi, >> >> take a look at the ndn-cxx library used by ndnSIM: >> >> https://github.com/named-data-ndnSIM/ndn-cxx >> >> Modify the data and interest classes to add the fields that you want: >> >> https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/data.cpp >> https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.3.4-ndnSIM/src/interest.cpp >> >> Make sure that you also modify the way that you encode and decode an NDN packet to/from its wire format (methods wireEncode and wireDecode). >> >> Hope that this helps, >> >> Spyridon (Spyros) Mastorakis >> Personal Website: http://cs.ucla.edu/~mastorakis/ >> Internet Research Laboratory >> Computer Science Department >> UCLA >> >>> On Mar 7, 2017, at 12:26 PM, John Scott > wrote: >>> >>> Hi, >>> >>> I would like to add extra information in the Interest and Data packets so that intermediate nodes can make forwarding decisions; however, I did not find this option in the ndnSIM. >>> Could you please point me to some references? >>> >>> Thank you >>> >> >> >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Sun Mar 12 10:00:30 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Sun, 12 Mar 2017 13:00:30 -0400 Subject: [ndnSIM] ndnSIM Digest, Vol 52, Issue 11 In-Reply-To: References: Message-ID: <1c3466132e0eaededc6cb011391b4072@umail.it.umass.edu> Thanks lahmer it works. I had another error while inducing delay using following: Simulator::Schedule(Seconds(Ndelay), &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); void WaitStrategy::SendAfterDelay(shared_ptr& pitEntry,const Face outFace,const Interest& interest) { this->sendInterest(pitEntry, outFace, interest); } https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 --------------------------------------------------------------------------------------------------- gives error: error: use of deleted function 'nfd::face::Face::Face(const nfd::face::Face&)' Simulator::Schedule(Seconds(Ndelay), &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); error: candidate is: void nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, nfd::face::Face, const ndn::Interest&) Thanks, Raj On 2017-03-11 19:06, ndnsim-request at lists.cs.ucla.edu wrote: > Send ndnSIM mailing list submissions to > ndnsim at lists.cs.ucla.edu > > To subscribe or unsubscribe via the World Wide Web, visit > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > or, via email, send a message with subject or body 'help' to > ndnsim-request at lists.cs.ucla.edu > > You can reach the person managing the list at > ndnsim-owner at lists.cs.ucla.edu > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of ndnSIM digest..." > > > Today's Topics: > > 1. Re: Problem with sequence number (Shahid Md. Asif Iqbal) > 2. Re: Problem with sequence number (Junxiao Shi) > 3. Re: Problem with sequence number (Shahid Md. Asif Iqbal) > 4. (no subject) (lahmer ilyas) > 5. Re: Inducing waiting delay in nodes and no member named > GetObject error (lahmer ilyas) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 11 Mar 2017 11:07:55 +0600 > From: "Shahid Md. Asif Iqbal" > To: "Spyridon (Spyros) Mastorakis" > Cc: ndnsim > Subject: Re: [ndnSIM] Problem with sequence number > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Thanks Spyridon, > Then, how the same line is working fine in the consumer.cpp. As, it is > the > consumer who is defining the sequence number. > > Sincerely > Asif > > On Fri, Mar 10, 2017 at 11:25 PM, Spyridon (Spyros) Mastorakis < > mastorakis at cs.ucla.edu> wrote: > >> Hi, >> >> this means that the last name component of your data packet is not a >> sequence number (or in any case a valid sequence number). >> >> Thanks, >> >> Spyridon (Spyros) Mastorakis >> Personal Website: http://cs.ucla.edu/~mastorakis/ >> Internet Research Laboratory >> Computer Science Department >> UCLA >> >> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >> >> wrote: >> >> Dear All, >> When I tried to execute the line >> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >> from the onIncomingData(.......) function of the fowarder.cpp file, it >> is >> producing the error 'valid marker is not present or value is not a >> nonnegative integer'. Can anyone please provide a remedy to the >> problem? >> >> Sincerely >> Asif >> >> >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > > Message: 2 > Date: Fri, 10 Mar 2017 22:14:43 -0700 > From: Junxiao Shi > To: "Shahid Md. Asif Iqbal" > Cc: ndnsim , "Spyridon (Spyros) Mastorakis" > > Subject: Re: [ndnSIM] Problem with sequence number > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hi Shahid > > Forwarder::onIncomingInterest processes not only Interests from your > consumer, but also Interests from management protocol and routing > protocol. > Those Interests may not have a sequence number at the end, and thus > fails > at that line. > > Yours, Junxiao > > > On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" > wrote: > > Thanks Spyridon, > Then, how the same line is working fine in the consumer.cpp. As, it is > the > consumer who is defining the sequence number. > > Sincerely > Asif > >> >> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >> >> wrote: >> >> Dear All, >> When I tried to execute the line >> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >> from the onIncomingData(.......) function of the fowarder.cpp file, it >> is >> producing the error 'valid marker is not present or value is not a >> nonnegative integer'. Can anyone please provide a remedy to the >> problem? >> >> Sincerely >> Asif >> >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > > Message: 3 > Date: Sat, 11 Mar 2017 11:20:30 +0600 > From: "Shahid Md. Asif Iqbal" > To: Junxiao Shi > Cc: ndnsim , "Spyridon (Spyros) Mastorakis" > > Subject: Re: [ndnSIM] Problem with sequence number > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Thanks Junxiao, that sounds nice. > > On Sat, Mar 11, 2017 at 11:14 AM, Junxiao Shi > > wrote: > >> Hi Shahid >> >> Forwarder::onIncomingInterest processes not only Interests from your >> consumer, but also Interests from management protocol and routing >> protocol. >> Those Interests may not have a sequence number at the end, and thus >> fails >> at that line. >> >> Yours, Junxiao >> >> >> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" >> wrote: >> >> Thanks Spyridon, >> Then, how the same line is working fine in the consumer.cpp. As, it is >> the >> consumer who is defining the sequence number. >> >> Sincerely >> Asif >> >>> >>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>> >>> wrote: >>> >>> Dear All, >>> When I tried to execute the line >>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>> from the onIncomingData(.......) function of the fowarder.cpp file, >>> it is >>> producing the error 'valid marker is not present or value is not a >>> nonnegative integer'. Can anyone please provide a remedy to the >>> problem? >>> >>> Sincerely >>> Asif >>> >>> >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > > Message: 4 > Date: Sat, 11 Mar 2017 23:56:08 +0000 > From: lahmer ilyas > To: "ndnsim at lists.cs.ucla.edu" > Subject: [ndnSIM] (no subject) > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hi guys, > I'm trying to delay sending of an Interest. In my forwarding strategy > class, I created a method sendPacket(const Face& inFace, interest, > pit); > and in the strategy method afterReceiveInterest(...) I make a call > nns3::Simulator::Schedule(ns3::Seconds(1.0),&MyStrategy::sendPacket,this,inFace,interest,pitEntry); > and this cause me a compiler error: > use of deleted function ?nfd::face::Face::Face(const > nfd::face::Face&)? > I tried passing a pointer to the inFace and it compiles successfully > but at > runtime when I insert pitEntry I got bad weak pointer exception > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > > Message: 5 > Date: Sun, 12 Mar 2017 00:06:01 +0000 > From: lahmer ilyas > To: "Spyridon (Spyros) Mastorakis" , > Rajvardhan Deshmukh > Cc: NdnSIM > Subject: Re: [ndnSIM] Inducing waiting delay in nodes and no member > named GetObject error > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hi To get The position of a node you can do the following : > #include > #include > > ns3::Ptr node = > ns3::NodeList::GetNode(ns3::Simulator::GetContext()); > ns3::Ptr mobility = > node->GetObject(); > ns3::Vector current = mobility->GetPosition(); > std::cout<<"Node Position"< > > > > > > On Wed, Mar 8, 2017 at 12:57 AM Spyridon (Spyros) Mastorakis < > mastorakis at cs.ucla.edu> wrote: > > Hi, > > unfortunately, I am not familiar with the mobility models of NS-3. > > You can try to use the ScheduleWithContext method and see if that will > work: > > https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 > http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 > > Thanks, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh > wrote: > > > > -------- Original Message -------- > Subject: Fwd: Re: Inducing waiting delay in nodes > Date: 2017-03-06 12:16 > From: Rajvardhan Deshmukh > To: ndnsim at lists.cs.ucla.edu > > Thanks Spyridon i renamed the strategy and the .cpp and hpp names and > it > worked. > Also, i wanted to get the position of the nodes in the forwarding > strategy. > 1.i tried directly using the > using namespace ns3; > using namespace fw; > Ptrmodel=GetObject(); > Vector position= model.GetPosition(); > ------------------------- > error: 'GetObject' was not declared in this scope > > https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 > > 2.also inducing delay using following: > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > void WaitStrategy::SendAfterDelay(shared_ptr& > pitEntry,const Face outFace,const Interest& interest) > { > this->sendInterest(pitEntry, outFace, interest); > } > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > --------------------------------------------------------------------------------------------------- > > gives error: > error: use of deleted function 'nfd::face::Face::Face(const > nfd::face::Face&)' > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > error: candidate is: void > > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, > > nfd::face::Face, const ndn::Interest&) > Thanks, > Raj > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > ------------------------------ > > End of ndnSIM Digest, Vol 52, Issue 11 > ************************************** From ilyaslahmer93 at gmail.com Sun Mar 12 10:31:04 2017 From: ilyaslahmer93 at gmail.com (lahmer ilyas) Date: Sun, 12 Mar 2017 18:31:04 +0100 Subject: [ndnSIM] ndnSIM Digest, Vol 52, Issue 11 In-Reply-To: <1c3466132e0eaededc6cb011391b4072@umail.it.umass.edu> References: <1c3466132e0eaededc6cb011391b4072@umail.it.umass.edu> Message-ID: Actually, I'm stuck at the same problem, I was trying to implement an adhoc strategy which requires scheduling the retranssmission but I couldn't. If you figured it out please notify me. ? Sent from BlueMail ? On Mar 12, 2017, 6:00 PM, at 6:00 PM, Rajvardhan Deshmukh wrote: >Thanks lahmer it works. >I had another error while inducing delay using following: > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > void WaitStrategy::SendAfterDelay(shared_ptr& > pitEntry,const Face outFace,const Interest& interest) > { > this->sendInterest(pitEntry, outFace, interest); > } > > >https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > > >https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > >--------------------------------------------------------------------------------------------------- > > gives error: > error: use of deleted function 'nfd::face::Face::Face(const > nfd::face::Face&)' > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > error: candidate is: void > > >nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, > > nfd::face::Face, const ndn::Interest&) > Thanks, >Raj > > > >On 2017-03-11 19:06, ndnsim-request at lists.cs.ucla.edu wrote: >> Send ndnSIM mailing list submissions to >> ndnsim at lists.cs.ucla.edu >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> or, via email, send a message with subject or body 'help' to >> ndnsim-request at lists.cs.ucla.edu >> >> You can reach the person managing the list at >> ndnsim-owner at lists.cs.ucla.edu >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of ndnSIM digest..." >> >> >> Today's Topics: >> >> 1. Re: Problem with sequence number (Shahid Md. Asif Iqbal) >> 2. Re: Problem with sequence number (Junxiao Shi) >> 3. Re: Problem with sequence number (Shahid Md. Asif Iqbal) >> 4. (no subject) (lahmer ilyas) >> 5. Re: Inducing waiting delay in nodes and no member named >> GetObject error (lahmer ilyas) >> >> >> >---------------------------------------------------------------------- >> >> Message: 1 >> Date: Sat, 11 Mar 2017 11:07:55 +0600 >> From: "Shahid Md. Asif Iqbal" >> To: "Spyridon (Spyros) Mastorakis" >> Cc: ndnsim >> Subject: Re: [ndnSIM] Problem with sequence number >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Thanks Spyridon, >> Then, how the same line is working fine in the consumer.cpp. As, it >is >> the >> consumer who is defining the sequence number. >> >> Sincerely >> Asif >> >> On Fri, Mar 10, 2017 at 11:25 PM, Spyridon (Spyros) Mastorakis < >> mastorakis at cs.ucla.edu> wrote: >> >>> Hi, >>> >>> this means that the last name component of your data packet is not a >>> sequence number (or in any case a valid sequence number). >>> >>> Thanks, >>> >>> Spyridon (Spyros) Mastorakis >>> Personal Website: http://cs.ucla.edu/~mastorakis/ >>> Internet Research Laboratory >>> Computer Science Department >>> UCLA >>> >>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>> >>> wrote: >>> >>> Dear All, >>> When I tried to execute the line >>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>> from the onIncomingData(.......) function of the fowarder.cpp file, >it >>> is >>> producing the error 'valid marker is not present or value is not a >>> nonnegative integer'. Can anyone please provide a remedy to the >>> problem? >>> >>> Sincerely >>> Asif >>> >>> >>> >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------------ >> >> Message: 2 >> Date: Fri, 10 Mar 2017 22:14:43 -0700 >> From: Junxiao Shi >> To: "Shahid Md. Asif Iqbal" >> Cc: ndnsim , "Spyridon (Spyros) Mastorakis" >> >> Subject: Re: [ndnSIM] Problem with sequence number >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Hi Shahid >> >> Forwarder::onIncomingInterest processes not only Interests from your >> consumer, but also Interests from management protocol and routing >> protocol. >> Those Interests may not have a sequence number at the end, and thus >> fails >> at that line. >> >> Yours, Junxiao >> >> >> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" > >> wrote: >> >> Thanks Spyridon, >> Then, how the same line is working fine in the consumer.cpp. As, it >is >> the >> consumer who is defining the sequence number. >> >> Sincerely >> Asif >> >>> >>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>> >>> wrote: >>> >>> Dear All, >>> When I tried to execute the line >>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>> from the onIncomingData(.......) function of the fowarder.cpp file, >it >>> is >>> producing the error 'valid marker is not present or value is not a >>> nonnegative integer'. Can anyone please provide a remedy to the >>> problem? >>> >>> Sincerely >>> Asif >>> >>> >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------------ >> >> Message: 3 >> Date: Sat, 11 Mar 2017 11:20:30 +0600 >> From: "Shahid Md. Asif Iqbal" >> To: Junxiao Shi >> Cc: ndnsim , "Spyridon (Spyros) Mastorakis" >> >> Subject: Re: [ndnSIM] Problem with sequence number >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Thanks Junxiao, that sounds nice. >> >> On Sat, Mar 11, 2017 at 11:14 AM, Junxiao Shi >> >> wrote: >> >>> Hi Shahid >>> >>> Forwarder::onIncomingInterest processes not only Interests from your >>> consumer, but also Interests from management protocol and routing >>> protocol. >>> Those Interests may not have a sequence number at the end, and thus >>> fails >>> at that line. >>> >>> Yours, Junxiao >>> >>> >>> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" > >>> wrote: >>> >>> Thanks Spyridon, >>> Then, how the same line is working fine in the consumer.cpp. As, it >is >>> the >>> consumer who is defining the sequence number. >>> >>> Sincerely >>> Asif >>> >>>> >>>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>>> >>>> wrote: >>>> >>>> Dear All, >>>> When I tried to execute the line >>>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>>> from the onIncomingData(.......) function of the fowarder.cpp file, > >>>> it is >>>> producing the error 'valid marker is not present or value is not a >>>> nonnegative integer'. Can anyone please provide a remedy to the >>>> problem? >>>> >>>> Sincerely >>>> Asif >>>> >>>> >>> >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------------ >> >> Message: 4 >> Date: Sat, 11 Mar 2017 23:56:08 +0000 >> From: lahmer ilyas >> To: "ndnsim at lists.cs.ucla.edu" >> Subject: [ndnSIM] (no subject) >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Hi guys, >> I'm trying to delay sending of an Interest. In my forwarding strategy >> class, I created a method sendPacket(const Face& inFace, interest, >> pit); >> and in the strategy method afterReceiveInterest(...) I make a call >> >nns3::Simulator::Schedule(ns3::Seconds(1.0),&MyStrategy::sendPacket,this,inFace,interest,pitEntry); >> and this cause me a compiler error: >> use of deleted function ?nfd::face::Face::Face(const >> nfd::face::Face&)? >> I tried passing a pointer to the inFace and it compiles successfully >> but at >> runtime when I insert pitEntry I got bad weak pointer exception >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------------ >> >> Message: 5 >> Date: Sun, 12 Mar 2017 00:06:01 +0000 >> From: lahmer ilyas >> To: "Spyridon (Spyros) Mastorakis" , >> Rajvardhan Deshmukh >> Cc: NdnSIM >> Subject: Re: [ndnSIM] Inducing waiting delay in nodes and no member >> named GetObject error >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Hi To get The position of a node you can do the following : >> #include >> #include >> >> ns3::Ptr node = >> ns3::NodeList::GetNode(ns3::Simulator::GetContext()); >> ns3::Ptr mobility = >> node->GetObject(); >> ns3::Vector current = mobility->GetPosition(); >> std::cout<<"Node Position"<> >> >> >> >> >> >> On Wed, Mar 8, 2017 at 12:57 AM Spyridon (Spyros) Mastorakis < >> mastorakis at cs.ucla.edu> wrote: >> >> Hi, >> >> unfortunately, I am not familiar with the mobility models of NS-3. >> >> You can try to use the ScheduleWithContext method and see if that >will >> work: >> >> >https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 >> http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 >> >> Thanks, >> >> Spyridon (Spyros) Mastorakis >> Personal Website: http://cs.ucla.edu/~mastorakis/ >> Internet Research Laboratory >> Computer Science Department >> UCLA >> >> On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh > >> wrote: >> >> >> >> -------- Original Message -------- >> Subject: Fwd: Re: Inducing waiting delay in nodes >> Date: 2017-03-06 12:16 >> From: Rajvardhan Deshmukh >> To: ndnsim at lists.cs.ucla.edu >> >> Thanks Spyridon i renamed the strategy and the .cpp and hpp names and >> it >> worked. >> Also, i wanted to get the position of the nodes in the forwarding >> strategy. >> 1.i tried directly using the >> using namespace ns3; >> using namespace fw; >> Ptrmodel=GetObject(); >> Vector position= model.GetPosition(); >> ------------------------- >> error: 'GetObject' was not declared in this scope >> >> >https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 >> >> 2.also inducing delay using following: >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> void WaitStrategy::SendAfterDelay(shared_ptr& >> pitEntry,const Face outFace,const Interest& interest) >> { >> this->sendInterest(pitEntry, outFace, interest); >> } >> >> >https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 >> >> >https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 >> >> >--------------------------------------------------------------------------------------------------- >> >> gives error: >> error: use of deleted function 'nfd::face::Face::Face(const >> nfd::face::Face&)' >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> error: candidate is: void >> >> >nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, >> >> nfd::face::Face, const ndn::Interest&) >> Thanks, >> Raj >> >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> >> ------------------------------ >> >> End of ndnSIM Digest, Vol 52, Issue 11 >> ************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Sun Mar 12 14:15:59 2017 From: rdeshmukh at umass.edu (Rajvardhan) Date: Sun, 12 Mar 2017 17:15:59 -0400 Subject: [ndnSIM] ndnSIM Digest, Vol 52, Issue 11 In-Reply-To: References: <1c3466132e0eaededc6cb011391b4072@umail.it.umass.edu> Message-ID: <5e8d400b-3f1a-438f-8b67-ac76c355b501@typeapp.com> Sure, I'll keep u in the loop Thanks, Raj ? Sent from BlueMail ? On 12 Mar 2017 13:31, at 13:31, lahmer ilyas wrote: >Actually, I'm stuck at the same problem, I was trying to implement an >adhoc strategy which requires scheduling the retranssmission but I >couldn't. If you figured it out please notify me. > >? > >Sent from BlueMail > >? > >On Mar 12, 2017, 6:00 PM, at 6:00 PM, Rajvardhan Deshmukh > wrote: >>Thanks lahmer it works. >>I had another error while inducing delay using following: >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> void WaitStrategy::SendAfterDelay(shared_ptr& >> pitEntry,const Face outFace,const Interest& interest) >> { >> this->sendInterest(pitEntry, outFace, interest); >> } >> >> >>https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 >> >> >>https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 >> >> >>--------------------------------------------------------------------------------------------------- >> >> gives error: >> error: use of deleted function 'nfd::face::Face::Face(const >> nfd::face::Face&)' >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> error: candidate is: void >> >> >>nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, >> >> nfd::face::Face, const ndn::Interest&) >> Thanks, >>Raj >> >> >> >>On 2017-03-11 19:06, ndnsim-request at lists.cs.ucla.edu wrote: >>> Send ndnSIM mailing list submissions to >>> ndnsim at lists.cs.ucla.edu >>> >>> To subscribe or unsubscribe via the World Wide Web, visit >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> or, via email, send a message with subject or body 'help' to >>> ndnsim-request at lists.cs.ucla.edu >>> >>> You can reach the person managing the list at >>> ndnsim-owner at lists.cs.ucla.edu >>> >>> When replying, please edit your Subject line so it is more specific >>> than "Re: Contents of ndnSIM digest..." >>> >>> >>> Today's Topics: >>> >>> 1. Re: Problem with sequence number (Shahid Md. Asif Iqbal) >>> 2. Re: Problem with sequence number (Junxiao Shi) >>> 3. Re: Problem with sequence number (Shahid Md. Asif Iqbal) >>> 4. (no subject) (lahmer ilyas) >>> 5. Re: Inducing waiting delay in nodes and no member named >>> GetObject error (lahmer ilyas) >>> >>> >>> >>---------------------------------------------------------------------- >>> >>> Message: 1 >>> Date: Sat, 11 Mar 2017 11:07:55 +0600 >>> From: "Shahid Md. Asif Iqbal" >>> To: "Spyridon (Spyros) Mastorakis" >>> Cc: ndnsim >>> Subject: Re: [ndnSIM] Problem with sequence number >>> Message-ID: >>> > >>> Content-Type: text/plain; charset="utf-8" >>> >>> Thanks Spyridon, >>> Then, how the same line is working fine in the consumer.cpp. As, it >>is >>> the >>> consumer who is defining the sequence number. >>> >>> Sincerely >>> Asif >>> >>> On Fri, Mar 10, 2017 at 11:25 PM, Spyridon (Spyros) Mastorakis < >>> mastorakis at cs.ucla.edu> wrote: >>> >>>> Hi, >>>> >>>> this means that the last name component of your data packet is not >a >>>> sequence number (or in any case a valid sequence number). >>>> >>>> Thanks, >>>> >>>> Spyridon (Spyros) Mastorakis >>>> Personal Website: http://cs.ucla.edu/~mastorakis/ >>>> Internet Research Laboratory >>>> Computer Science Department >>>> UCLA >>>> >>>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>>> >>>> wrote: >>>> >>>> Dear All, >>>> When I tried to execute the line >>>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>>> from the onIncomingData(.......) function of the fowarder.cpp file, >>it >>>> is >>>> producing the error 'valid marker is not present or value is not a >>>> nonnegative integer'. Can anyone please provide a remedy to the >>>> problem? >>>> >>>> Sincerely >>>> Asif >>>> >>>> >>>> >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> URL: >>> >> >>> >>> ------------------------------ >>> >>> Message: 2 >>> Date: Fri, 10 Mar 2017 22:14:43 -0700 >>> From: Junxiao Shi >>> To: "Shahid Md. Asif Iqbal" >>> Cc: ndnsim , "Spyridon (Spyros) >Mastorakis" >>> >>> Subject: Re: [ndnSIM] Problem with sequence number >>> Message-ID: >>> > >>> Content-Type: text/plain; charset="utf-8" >>> >>> Hi Shahid >>> >>> Forwarder::onIncomingInterest processes not only Interests from your >>> consumer, but also Interests from management protocol and routing >>> protocol. >>> Those Interests may not have a sequence number at the end, and thus >>> fails >>> at that line. >>> >>> Yours, Junxiao >>> >>> >>> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" >> >>> wrote: >>> >>> Thanks Spyridon, >>> Then, how the same line is working fine in the consumer.cpp. As, it >>is >>> the >>> consumer who is defining the sequence number. >>> >>> Sincerely >>> Asif >>> >>>> >>>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>>> >>>> wrote: >>>> >>>> Dear All, >>>> When I tried to execute the line >>>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>>> from the onIncomingData(.......) function of the fowarder.cpp file, >>it >>>> is >>>> producing the error 'valid marker is not present or value is not a >>>> nonnegative integer'. Can anyone please provide a remedy to the >>>> problem? >>>> >>>> Sincerely >>>> Asif >>>> >>>> >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> URL: >>> >> >>> >>> ------------------------------ >>> >>> Message: 3 >>> Date: Sat, 11 Mar 2017 11:20:30 +0600 >>> From: "Shahid Md. Asif Iqbal" >>> To: Junxiao Shi >>> Cc: ndnsim , "Spyridon (Spyros) >Mastorakis" >>> >>> Subject: Re: [ndnSIM] Problem with sequence number >>> Message-ID: >>> > >>> Content-Type: text/plain; charset="utf-8" >>> >>> Thanks Junxiao, that sounds nice. >>> >>> On Sat, Mar 11, 2017 at 11:14 AM, Junxiao Shi >>> >>> wrote: >>> >>>> Hi Shahid >>>> >>>> Forwarder::onIncomingInterest processes not only Interests from >your >>>> consumer, but also Interests from management protocol and routing >>>> protocol. >>>> Those Interests may not have a sequence number at the end, and thus > >>>> fails >>>> at that line. >>>> >>>> Yours, Junxiao >>>> >>>> >>>> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" >> >>>> wrote: >>>> >>>> Thanks Spyridon, >>>> Then, how the same line is working fine in the consumer.cpp. As, it >>is >>>> the >>>> consumer who is defining the sequence number. >>>> >>>> Sincerely >>>> Asif >>>> >>>>> >>>>> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >>>>> >>>>> wrote: >>>>> >>>>> Dear All, >>>>> When I tried to execute the line >>>>> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >>>>> from the onIncomingData(.......) function of the fowarder.cpp >file, >> >>>>> it is >>>>> producing the error 'valid marker is not present or value is not a >>>>> nonnegative integer'. Can anyone please provide a remedy to the >>>>> problem? >>>>> >>>>> Sincerely >>>>> Asif >>>>> >>>>> >>>> >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> URL: >>> >> >>> >>> ------------------------------ >>> >>> Message: 4 >>> Date: Sat, 11 Mar 2017 23:56:08 +0000 >>> From: lahmer ilyas >>> To: "ndnsim at lists.cs.ucla.edu" >>> Subject: [ndnSIM] (no subject) >>> Message-ID: >>> > >>> Content-Type: text/plain; charset="utf-8" >>> >>> Hi guys, >>> I'm trying to delay sending of an Interest. In my forwarding >strategy >>> class, I created a method sendPacket(const Face& inFace, interest, >>> pit); >>> and in the strategy method afterReceiveInterest(...) I make a call >>> >>nns3::Simulator::Schedule(ns3::Seconds(1.0),&MyStrategy::sendPacket,this,inFace,interest,pitEntry); >>> and this cause me a compiler error: >>> use of deleted function ?nfd::face::Face::Face(const >>> nfd::face::Face&)? >>> I tried passing a pointer to the inFace and it compiles successfully > >>> but at >>> runtime when I insert pitEntry I got bad weak pointer exception >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> URL: >>> >> >>> >>> ------------------------------ >>> >>> Message: 5 >>> Date: Sun, 12 Mar 2017 00:06:01 +0000 >>> From: lahmer ilyas >>> To: "Spyridon (Spyros) Mastorakis" , >>> Rajvardhan Deshmukh >>> Cc: NdnSIM >>> Subject: Re: [ndnSIM] Inducing waiting delay in nodes and no member >>> named GetObject error >>> Message-ID: >>> > >>> Content-Type: text/plain; charset="utf-8" >>> >>> Hi To get The position of a node you can do the following : >>> #include >>> #include >>> >>> ns3::Ptr node = >>> ns3::NodeList::GetNode(ns3::Simulator::GetContext()); >>> ns3::Ptr mobility = >>> node->GetObject(); >>> ns3::Vector current = mobility->GetPosition(); >>> std::cout<<"Node Position"<>> >>> >>> >>> >>> >>> >>> On Wed, Mar 8, 2017 at 12:57 AM Spyridon (Spyros) Mastorakis < >>> mastorakis at cs.ucla.edu> wrote: >>> >>> Hi, >>> >>> unfortunately, I am not familiar with the mobility models of NS-3. >>> >>> You can try to use the ScheduleWithContext method and see if that >>will >>> work: >>> >>> >>https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 >>> http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 >>> >>> Thanks, >>> >>> Spyridon (Spyros) Mastorakis >>> Personal Website: http://cs.ucla.edu/~mastorakis/ >>> Internet Research Laboratory >>> Computer Science Department >>> UCLA >>> >>> On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh >> >>> wrote: >>> >>> >>> >>> -------- Original Message -------- >>> Subject: Fwd: Re: Inducing waiting delay in nodes >>> Date: 2017-03-06 12:16 >>> From: Rajvardhan Deshmukh >>> To: ndnsim at lists.cs.ucla.edu >>> >>> Thanks Spyridon i renamed the strategy and the .cpp and hpp names >and >>> it >>> worked. >>> Also, i wanted to get the position of the nodes in the forwarding >>> strategy. >>> 1.i tried directly using the >>> using namespace ns3; >>> using namespace fw; >>> Ptrmodel=GetObject(); >>> Vector position= model.GetPosition(); >>> ------------------------- >>> error: 'GetObject' was not declared in this scope >>> >>> >>https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 >>> >>> 2.also inducing delay using following: >>> Simulator::Schedule(Seconds(Ndelay), >>> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >>> void WaitStrategy::SendAfterDelay(shared_ptr& >>> pitEntry,const Face outFace,const Interest& interest) >>> { >>> this->sendInterest(pitEntry, outFace, interest); >>> } >>> >>> >>https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 >>> >>> >>https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 >>> >>> >>--------------------------------------------------------------------------------------------------- >>> >>> gives error: >>> error: use of deleted function 'nfd::face::Face::Face(const >>> nfd::face::Face&)' >>> Simulator::Schedule(Seconds(Ndelay), >>> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >>> error: candidate is: void >>> >>> >>nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, >>> >>> nfd::face::Face, const ndn::Interest&) >>> Thanks, >>> Raj >>> >>> >>> _______________________________________________ >>> ndnSIM mailing list >>> ndnSIM at lists.cs.ucla.edu >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> -------------- next part -------------- >>> An HTML attachment was scrubbed... >>> URL: >>> >> >>> >>> ------------------------------ >>> >>> Subject: Digest Footer >>> >>> _______________________________________________ >>> ndnSIM mailing list >>> ndnSIM at lists.cs.ucla.edu >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> >>> >>> ------------------------------ >>> >>> End of ndnSIM Digest, Vol 52, Issue 11 >>> ************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From jpbaugh at umich.EDU Sun Mar 12 21:23:05 2017 From: jpbaugh at umich.EDU (John Baugh) Date: Mon, 13 Mar 2017 00:23:05 -0400 Subject: [ndnSIM] Custom Strategy - destructor is called 4 times? Message-ID: Hello all, Just out of curiosity, I implemented a custom Strategy, called PStrat, and wrote a destructor. Inside of this method, I wrote a simple cout statement to indicate it was being called. Now, I'm getting it called 4 times it seems. PStrat is being set on a single node (I'm using as a router), using the Install method of the StrategyChoiceHelper in my scenario. *ndn::StrategyChoiceHelper::Install(nodes.Get(2), ndn::Name("/prefix"));* Thoughts? Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From jpbaugh at umich.edu Sun Mar 12 22:03:07 2017 From: jpbaugh at umich.edu (John Baugh) Date: Mon, 13 Mar 2017 01:03:07 -0400 Subject: [ndnSIM] Getting content store size from inside a Strategy Message-ID: Greetings, Is there a way the Strategy can known what the size of the Cs is easily? Using ndnSIM 2.3 here. Thanks, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From ilyaslahmer93 at gmail.com Mon Mar 13 00:27:12 2017 From: ilyaslahmer93 at gmail.com (lahmer ilyas) Date: Mon, 13 Mar 2017 08:27:12 +0100 Subject: [ndnSIM] Getting content store size from inside a Strategy In-Reply-To: References: Message-ID: Each strategy holds a reference to the forwarder but it is declared as private in strategy.hpp. you can set it to be protected then m_forwarder.getCs().size(); I think that will do the trick but maybe there is a better way ? Sent from BlueMail ? On Mar 13, 2017, 6:04 AM, at 6:04 AM, John Baugh wrote: >Greetings, > >Is there a way the Strategy can known what the size of the Cs is >easily? > >Using ndnSIM 2.3 here. > >Thanks, > >John > > >------------------------------------------------------------------------ > >_______________________________________________ >ndnSIM mailing list >ndnSIM at lists.cs.ucla.edu >http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From maxpromindz at gmail.com Mon Mar 13 09:52:41 2017 From: maxpromindz at gmail.com (Saad SA) Date: Mon, 13 Mar 2017 18:52:41 +0200 Subject: [ndnSIM] Requesting Interface Message-ID: Hi Everybody, How can I know from which interface did this interest came to this router? (In other words, which node forwarded this request to this router?). Regards, Sa'd -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 13 17:01:52 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 13 Mar 2017 17:01:52 -0700 Subject: [ndnSIM] ndnSIM Digest, Vol 52, Issue 11 In-Reply-To: <5e8d400b-3f1a-438f-8b67-ac76c355b501@typeapp.com> References: <1c3466132e0eaededc6cb011391b4072@umail.it.umass.edu> <5e8d400b-3f1a-438f-8b67-ac76c355b501@typeapp.com> Message-ID: <8648BAA5-24E0-45D8-9274-751D44A5C8A3@cs.ucla.edu> Guys, have you tried to pass a reference to a Face instead of the Face object itself? Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 12, 2017, at 2:15 PM, Rajvardhan wrote: > > Sure, I'll keep u in the loop > > Thanks, > Raj > > > > Sent from BlueMail > > On 12 Mar 2017, at 13:31, lahmer ilyas > wrote: > Actually, I'm stuck at the same problem, I was trying to implement an adhoc strategy which requires scheduling the retranssmission but I couldn't. If you figured it out please notify me. > > > > Sent from BlueMail > > On Mar 12, 2017, at 6:00 PM, Rajvardhan Deshmukh < rdeshmukh at umass.edu > wrote: > Thanks lahmer it works. > I had another error while inducing delay using following: > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > void WaitStrategy::SendAfterDelay(shared_ptr& > pitEntry,const Face outFace,const Interest& interest) > { > this->sendInterest(pitEntry, outFace, interest); > } > > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > > > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > > > > > > > gives > error: > error: use of deleted function 'nfd::face::Face::Face(const > nfd::face::Face&)' > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > error: candidate is: void > > > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, > > nfd::face::Face, const ndn::Interest&) > Thanks, > Raj > > > > On 2017-03-11 19:06, ndnsim-request at lists.cs.ucla.edu wrote: > > > > Send ndnSIM mailing list submissions to > > ndnsim at lists.cs.ucla.edu > > > > To subscribe or unsubscribe via the World Wide Web, visit > > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > or, via email, send a message with subject or body 'help' to > > ndnsim-request at lists.cs.ucla.edu > > > > You can re > ach the > person managing the list at > > ndnsim-owner at lists.cs.ucla.edu > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of ndnSIM digest..." > > > > > > Today's Topics: > > > > 1. Re: Problem with sequence number (Shahid Md. Asif Iqbal) > > 2. Re: Problem with sequence number (Junxiao Shi) > > 3. Re: Problem with sequence number (Shahid Md. Asif Iqbal) > > 4. (no subject) (lahmer ilyas) > > 5. Re: Inducing waiting delay in nodes and no member named > > GetObject error (lahmer ilyas) > > > > > > > > > > > > Message: 1 > > Date: Sat, 11 Mar 2017 11:07:55 +0600 > > From: "Shahid Md. Asif Iqbal" > > To: "Spyridon (Spyros) Mastorakis" > > Cc: ndnsim > > Subject: Re: [ndnSIM] Problem with sequence number > > Message-ID: > > > > Content-Type: text/p > lain; > charset="utf-8" > > > > Thanks Spyridon, > > Then, how the same line is working fine in the consumer.cpp. As, it is > > the > > consumer who is defining the sequence number. > > > > Sincerely > > Asif > > > > On Fri, Mar 10, 2017 at 11:25 PM, Spyridon (Spyros) Mastorakis < > > mastorakis at cs.ucla.edu> wrote: > > > > > > > Hi, > > > > this means that the last name component of your data packet is not a > > sequence number (or in any case a valid sequence number). > > > > Thanks, > > > > Spyridon (Spyros) Mastorakis > > Personal Website: > http://cs.ucla.edu/~mastorakis / > > Internet Research Laboratory > > Computer Science Department > > UCLA > > > > On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal > > > > wrote: > > > > Dear All, > > When I tried to execute the line > > uint32_t seq = data.getName().at(-1).toSequenceNumber(); > > from the onIncomingData(.......) function of the fowarder.cpp file, it > > is > > producing the error 'valid marker is not present or value is not a > > nonnegative integer'. Can anyone please provide a remedy to the > > problem? > > > > Sincerely > > Asif > > > > > > > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: > > < > http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170311/430d7a2f/attachment-0001.html > > > > > > > > > > > Message: 2 > > Date: Fri, 10 Mar 2017 22:14:43 -0700 > > From: Junxiao Shi > > To: "Shahid Md. Asif Iqbal" > > Cc: ndnsim , "Spyridon (Spyros) Mastorakis" > > > > Subject: Re: [ndnSIM] Problem w > ith > sequence number > > Message-ID: > > > > Content-Type: text/plain; charset="utf-8" > > > > Hi Shahid > > > > Forwarder::onIncomingInterest processes not only Interests from your > > consumer, but also Interests from management protocol and routing > > protocol. > > Those Interests may not have a sequence number at the end, and thus > > fails > > at that line. > > > > Yours, Junxiao > > > > > > On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" > > wrote: > > > > Thanks Spyridon, > > Then, how the same line is working fine in the consumer.cpp. As, it is > > the > > consumer who is defining the sequence number. > > > > Sincerely > > Asif > > > > > > > > On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal > > > > wrote: > > > > Dear All, > > When I tried to execute the line > > uint32_t seq = data.getName().at(-1).toSequenceNumber(); > > from the onIncomingData(.......) function of the fowarder.cpp file, it > > is > > producing the error 'valid marker is not present or value is not a > > nonnegative integer'. Can anyone please provide a remedy to the > > problem? > > > > Sincerely > > Asif > > > > > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: > > < > http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170310/59ab14ec/attachment-0001.html > > > > > > > > > > > Message: 3 > > Date: Sat, 11 Mar 2017 11:20:30 +0600 > > From: "Shahid Md. Asif Iqbal" > > To: Junxiao Shi > > Cc: ndnsim , "Spyridon (Spyros) Mastorakis" > > > > > Subject: Re: [ndnSIM] Problem with sequence number > > Message-ID: > > > > Content-Type: text/plain; charset="utf-8" > > > > Thanks Junxiao, that sounds nice. > > > > On Sat, Mar 11, 2017 at 11:14 AM, Junxiao Shi > > > > wrote: > > > > > > > Hi Shahid > > > > Forwarder::onIncomingInterest processes not only Interests from your > > consumer, but also Interests from management protocol and routing > > protocol. > > Those Interests may not have a sequence number at the end, and thus > > fails > > at that line. > > > > Yours, Junxiao > > > > > > On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" > > wrote: > > > > Thanks Spyridon, > > Then, how the same line is working fine in the consume r.cpp. As, it is > > the > > consumer who is defining the sequence number. > > > > Sincerely > > Asif > > > > > > > > On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal > > > > wrote: > > > > Dear All, > > When I tried to execute the line > > uint32_t seq = data.getName().at(-1).toSequenceNumber(); > > from the onIncomingData(.......) function of the fowarder.cpp file, > > it is > > producing the error 'valid marker is not present or value is not a > > nonnegative integer'. Can anyone please provide a remedy to the > > problem? > > > > Sincerely > > Asif > > > > > > > > > > > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: > > < > http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170311/05429144/attachment-0001.html > > > > > > > > > > > Message: 4 > > Date: Sat, 11 Mar 2017 23:56:08 +0000 > > From: lahmer ilyas > > To: "ndnsim at lists.cs.ucla.edu" > > Subject: [ndnSIM] (no subject) > > Message-ID: > > > > Content-Type: text/plain; charset="utf-8" > > > > Hi guys, > > I'm trying to delay sending of an Interest. In my forwarding strategy > > class, I created a method sendPacket(const Face& inFace, interest, > > pit); > > and in the strategy method afterReceiveInterest(...) I make a call > > nns3::Simulator::Schedule(ns3::Seconds(1.0),&MyStrategy::sendPacket,this,inFace,interest,pitEntry); > > and this cause me a compiler error: > > use > of > deleted function ?nfd::face::Face::Face(const > > nfd::face::Face&)? > > I tried passing a pointer to the inFace and it compiles successfully > > but at > > runtime when I insert pitEntry I got bad weak pointer exception > > -------------- next part -------------- > > An HTML attachment was scrubbed... > > URL: > > < > http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20170311/a6ac1db4/attachment-0001.html > > > > > > > > > > > Message: 5 > > Date: Sun, 12 Mar 2017 00:06:01 +0000 > > From: lahmer ilyas > > To: "Spyridon (Spyros) Mastorakis" , > > Rajvardhan Deshmukh > > Cc: NdnSIM > > Subject: Re: [ndnSIM] Inducing waiting delay in nodes and no member > > named GetObject error > > Message-ID: > > > > > Content-Type: text/plain; charset="utf-8" > > > > Hi To get The position of a node you can do the following : > > #include > > #include > > > > ns3::Ptr node = > > ns3::NodeList::GetNode(ns3::Simulator::GetContext()); > > ns3::Ptr mobility = > > node->GetObject(); > > ns3::Vector current = mobility->GetPosition(); > > std::cout<<"Node Position"< > > > > > > > > > > > > > On Wed, Mar 8, 2017 at 12:57 AM Spyridon (Spyros) Mastorakis < > > mastorakis at cs.ucla.edu> wrote: > > > > Hi, > > > > unfortunately, I am not familiar with the mobility models of NS-3. > > > > You can try to use the ScheduleWithContext method and see if that will > > work: > > > > > https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 > > > http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 > > > > Thanks, > > > > Spyridon (Spyros) Mastorakis > > Personal Website: > http://cs.ucla.edu/~mastorakis / > > Internet Research Laboratory > > Computer Science Department > > UCLA > > > > On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh > > wrote: > > > > > > > > -------- Original Message -------- > > Subject: Fwd: Re: Inducing waiting delay in nodes > > Date: 2017-03-06 12:16 > > From: Rajvardhan Deshmukh > > To: ndnsim at lists.cs.ucla.edu > > > > Thanks Spyridon i renamed the strategy and the .cpp and hpp names and > > it > > worked. > > Also, > i wanted to get the position of the nodes in the forwarding > > strategy. > > 1.i tried directly using the > > using namespace ns3; > > using namespace fw; > > Ptrmodel=GetObject(); > > Vector position= model.GetPosition(); > > ------------------------- > > error: 'GetObject' was not declared in this scope > > > > > https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 > > > > 2.also inducing delay using following: > > Simulator::Schedule(Seconds(Ndelay), > > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > > void WaitStrategy::SendAfterDelay(shared_ptr& > > pitEntry,const Face outFace,const Interest& interest) > > { > > this->sendInterest(pitEntry, outFace, interest); > > } > > > > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > > > > > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > > > > > > > > > gives error: > > error: use of deleted function 'nfd::face::Face::Face(const > > nfd::face::Face&)' > > Simulator::Schedule(Seconds(Ndelay), > > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > > error: candidate is: void > > > > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, > > > > nfd::face::Face, const ndn::Interest&) > > Thanks, > > Raj > > > > > > > > > > ndnSIM mailing li > st > > > 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/20170312/dcbf54cf/attachment.html > > > > > > > > > > > Subject: Digest Footer > > > > > > > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > > > > > > > > End of ndnSIM Digest, Vol 52, Issue 11 > > ************************************** > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 13 17:08:22 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 13 Mar 2017 17:08:22 -0700 Subject: [ndnSIM] Requesting Interface In-Reply-To: References: Message-ID: <1C775793-5E3F-487A-B847-2E52418FF4D3@cs.ucla.edu> Hi, if you enable the nfd.Forwarder logging component, you will be able to see the face id of an incoming Interest, since this piece of information is available at the Forwarder class of NFD. If you want to use this information somehow in run time, you will have to build some sort of API to pass it to your application. FYI, this is where an incoming interest is processed by NFD: https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.5.0-30-g934f505-ndnSIM/daemon/fw/forwarder.cpp#L120 Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 13, 2017, at 9:52 AM, Saad SA wrote: > > Hi Everybody, > > How can I know from which interface did this interest came to this router? (In other words, which node forwarded this request to this router?). > > Regards, > Sa'd -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenniferkulnu at gmail.com Tue Mar 14 05:52:14 2017 From: jenniferkulnu at gmail.com (jennifer kulnu) Date: Tue, 14 Mar 2017 18:52:14 +0600 Subject: [ndnSIM] confusion about scenario template Message-ID: Hello all, So I have been installing ndnsim version 2.3 and have followed the instructions. I have downloaded the ndnsim source and have run and compiled ndnsim. But when i finally cloned the scenario template and run the command ./waf configure within the scenario directory, I get the following errors NS-3 or one of the required NS-3 modules not found NS-3 needs to be compiled and installed somewhere. You may need also to set PKG_CONFIG_PATH variable in order for configure find installed NS-3. For example: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ./waf configure So I searched around and saw that Alex mentioned this "you need to clone ndnSIM-sample-topologies into a separate location, not related to ns-3" So currently, in my system, the scenario directory is located at ndnSIM/scenario. and ns-3 is located at ndnSIM/ns-3. Where am I going wrong? Please help Thanks, Jennifer -------------- next part -------------- An HTML attachment was scrubbed... URL: From marahman at email.arizona.edu Tue Mar 14 10:44:59 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Tue, 14 Mar 2017 10:44:59 -0700 Subject: [ndnSIM] Help: Wifi-AP with wired topology Message-ID: Hello! I'm working on an ndnSIM setup of the following topology: *AP1* and* AP2* are 2 wifi* AP* nodes with overlapping transmission range and both are wire connected to producer *P*. Consumer *C* moves from left to right with some constant velocity. I've implemented a similar code for 6 *AP*s with multiple routers in a tree fashion but facing some problems. My questions are as follows: 1. How can I make *C* to communicate with only one* AP* at any particular time in this scenario? In my current setup, when in intersecting region, both *AP1* and *AP2* forwards interests posted by *C* to *P*. 2. How can I get perfect association in ndnSIM? Currently, C sends association request to an *AP* and receives response. However, in that time, some interest packets are lost, which I observed in the log files. 3. How do I set different applications in the consumer+producer? Currently I'm testing FTP application. What about Web and Streaming? How to set timeout for interest sent by *C*? My current code is attached here: https://github.com/ashiqopu/ndnMobility/tree/master/ndnWiFi Regards- Ashiq Computer Science University of Arizona. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Mar 14 13:55:20 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 14 Mar 2017 13:55:20 -0700 Subject: [ndnSIM] confusion about scenario template In-Reply-To: References: Message-ID: Hi Jennifer, I think that you might have not actually installed NS-3 and ndnSIM to your system. After you do ./waf, you should also do sudo ./waf install. Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 14, 2017, at 5:52 AM, jennifer kulnu wrote: > > Hello all, > > So I have been installing ndnsim version 2.3 and have followed the instructions. I have downloaded the ndnsim source and have run and compiled ndnsim. > > But when i finally cloned the scenario template and > run the command ./waf configure within the scenario directory, I get the following errors > > NS-3 or one of the required NS-3 modules not found NS-3 needs to be compiled and installed somewhere. You may need also to set PKG_CONFIG_PATH variable in order for configure find installed NS-3. For example: PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH ./waf configure > > So I searched around and saw that Alex mentioned this > "you need to clone ndnSIM-sample-topologies into a separate location, not related to ns-3" > > So currently, in my system, the scenario directory is located at ndnSIM/scenario. and ns-3 is located at ndnSIM/ns-3. > > Where am I going wrong? > > Please help > > Thanks, > > Jennifer > -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Wed Mar 15 00:57:51 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Wed, 15 Mar 2017 13:57:51 +0600 Subject: [ndnSIM] How to add a new field in a CS entry Message-ID: Dear All, How can I add a new field to a CS entry, e.g. hop count of a Data, an update it as needed? Also, I want to access the cs entry from the forwarder.cpp. Sincerely Asif -------------- next part -------------- An HTML attachment was scrubbed... URL: From ravi.ravindran at gmail.com Wed Mar 15 08:16:59 2017 From: ravi.ravindran at gmail.com (Ravi Ravindran) Date: Wed, 15 Mar 2017 08:16:59 -0700 Subject: [ndnSIM] R:y: Help: Wifi-AP with wired topologvy Message-ID: V gxvvxlsclvv gxvvxlscl gv'h b 15lcvp5vv 56 v gv':v Vbrtto to: Vvbvvvbyxgcss On Mar 14, 2017 10:46, "Md Ashiqur Rahman" wrote: > Hello! > I'm working on an ndnSIM setup of the following topology: > > *AP1* and* AP2* are 2 wifi* AP* nodes with overlapping transmission range > and both are wire connected to producer *P*. Consumer *C* moves from left > to right with some constant velocity. I've implemented a similar code for 6 > *AP*s with multiple routers in a tree fashion but facing some problems. > My questions are as follows: > > 1. How can I make *C* to communicate with only one* AP* at any particular > time in this scenario? In my current setup, when in intersecting region, > both *AP1* and *AP2* forwards interests posted by *C* to *P*. > > 2. How can I get perfect association in ndnSIM? Currently, C sends > association request to an *AP* and receives response. However, in that > time, some interest packets are lost, which I observed in the log files. > > 3. How do I set different applications in the consumer+producer? Currently > I'm testing FTP application. What about Web and Streaming? How to set > timeout for interest sent by *C*? > > My current code is attached here: > https://github.com/ashiqopu/ndnMobility/tree/master/ndnWiFi > > > Regards- > > Ashiq > Computer Science > University of Arizona. > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Wed Mar 15 09:07:27 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 15 Mar 2017 09:07:27 -0700 Subject: [ndnSIM] How to add a new field in a CS entry In-Reply-To: References: Message-ID: <01B267D1-23D0-49F4-9801-39133D8D5A61@cs.ucla.edu> Hi, you will have to modify the cs-entry class of NFD: https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.5.0-30-g934f505-ndnSIM/daemon/table/cs-entry.hpp To access a cs entry from the forwarder.cpp you can use the find method: https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.5.0-30-g934f505-ndnSIM/daemon/fw/forwarder.cpp#L165 Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 15, 2017, at 12:57 AM, Shahid Md. Asif Iqbal wrote: > > Dear All, > How can I add a new field to a CS entry, e.g. hop count of a Data, an update it as needed? Also, I want to access the cs entry from the forwarder.cpp. > > Sincerely > Asif > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Wed Mar 15 09:21:08 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Wed, 15 Mar 2017 21:51:08 +0530 Subject: [ndnSIM] help Message-ID: hello How can i classified interest packet in popular or unpopular. Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad Sent with Mailtrack -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Wed Mar 15 17:16:54 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Wed, 15 Mar 2017 17:16:54 -0700 Subject: [ndnSIM] Help: Wifi-AP with wired topology In-Reply-To: References: Message-ID: Hi Ashiq 1. How can I make *C* to communicate with only one* AP* at any particular > time in this scenario? In my current setup, when in intersecting region, > both *AP1* and *AP2* forwards interests posted by *C* to *P*. > In code connecting WifiNetDevice and L3Protocol, ensure that a packet is forwarded up to L3Protocol only if the sending STA is associated with the AP. 2. How can I get perfect association in ndnSIM? Currently, C sends > association request to an *AP* and receives response. However, in that > time, some interest packets are lost, which I observed in the log files. > It is normal for WiFi association to take some time because it needs a few packet round-trips. The consumer application/forwarder is responsible for retransmitting lost packets. Yours, Junxiao -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Wed Mar 15 17:27:50 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Wed, 15 Mar 2017 17:27:50 -0700 Subject: [ndnSIM] Custom Strategy - destructor is called 4 times? In-Reply-To: References: Message-ID: Hi John As stated in NFD Developer Guide, the forwarding strategy should be stateless, and all states should be stored as StrategyInfo into PIT entries and measurements entries. A stateless object is cheap to construct and copy. Thus, there's nothing to worry about when multiple instances of a nfd::fw::Strategy subclass are constructed and destructed. Yours, Junxiao On Sun, Mar 12, 2017 at 9:23 PM, John Baugh wrote: > I implemented a custom Strategy, called PStrat, and wrote a destructor. > Inside of this method, I wrote a simple cout statement to indicate it was > being called. > > Now, I'm getting it called 4 times it seems. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Wed Mar 15 19:50:09 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Thu, 16 Mar 2017 08:50:09 +0600 Subject: [ndnSIM] How to add a new field in a CS entry In-Reply-To: <01B267D1-23D0-49F4-9801-39133D8D5A61@cs.ucla.edu> References: <01B267D1-23D0-49F4-9801-39133D8D5A61@cs.ucla.edu> Message-ID: Thanks Spyridon. Actually I want access the newly added field of a CS entry from the forwarder.cpp. On Wed, Mar 15, 2017 at 10:07 PM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > you will have to modify the cs-entry class of NFD: > > https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.5.0-30- > g934f505-ndnSIM/daemon/table/cs-entry.hpp > > To access a cs entry from the forwarder.cpp you can use the find method: > > https://github.com/named-data-ndnSIM/NFD/blob/NFD-0.5.0-30- > g934f505-ndnSIM/daemon/fw/forwarder.cpp#L165 > > Thanks, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Mar 15, 2017, at 12:57 AM, Shahid Md. Asif Iqbal > wrote: > > Dear All, > How can I add a new field to a CS entry, e.g. hop count of a Data, an > update it as needed? Also, I want to access the cs entry from the > forwarder.cpp. > > Sincerely > Asif > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mryanuar21 at gmail.com Thu Mar 16 03:00:28 2017 From: mryanuar21 at gmail.com (Rizky Yanuar) Date: Thu, 16 Mar 2017 17:00:28 +0700 Subject: [ndnSIM] Getting Hop Count on Insert Method for New Custom Policy Message-ID: Hello, I'm trying to get the hop count from a packet in a new custom policy based from existing policy (which is freshness-policy). I've tried using the example that's Alex mentioned in this mail: http://www.lists.cs.ucla.edu/pipermail/ndnsim/2016-February/002423.html However, on the compiling process I still got an error message: In file included from ../src/ndnSIM/model/cs/content-store-with-freshness.hpp:28:0, from ../src/ndnSIM/model/cs/content-store-with-freshness.cpp:20: ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp: In member function ?bool ns3::ndn::ndnSIM::freshness_policy_traits::policy::type::insert(typename ns3::ndn::ndnSIM::freshness_policy_traits::policy::type::parent_trie::iterator)?: ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp:114:27: error: expected unqualified-id before ?typename? auto dataTag = data->typename getTag(); ^ I've tried remove the typename declaration and the but I still failed on the compilation process. I'd greatly appreciate if anyone has any advice for this problem. Thank you very much. -- *Muhamad Rizky Yanuar* *23515017* *mryanuar21 at gmail.com * -------------- next part -------------- An HTML attachment was scrubbed... URL: From asifcsep at gmail.com Thu Mar 16 08:46:43 2017 From: asifcsep at gmail.com (Shahid Md. Asif Iqbal) Date: Thu, 16 Mar 2017 21:46:43 +0600 Subject: [ndnSIM] Implementation of cache admission policy Message-ID: Dear All, How can I implement the leave copy down (LCD) and uniform random caching admission policy? I would expect Junxiao and or K. Schneider on board this solution. Sincerely Asif -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Thu Mar 16 10:39:57 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Thu, 16 Mar 2017 10:39:57 -0700 Subject: [ndnSIM] Getting Hop Count on Insert Method for New Custom Policy In-Reply-To: References: Message-ID: <6E834A2C-3790-4B1A-B903-0FBD72C6A9BB@cs.ucla.edu> Hi, since the latest version of ndnSIM (v2.3), we do not use the NS3 packet tags for the hop count, but we rather use the LP tags implemented for the NDN Link Protocol (NDNLP): https://github.com/named-data-ndnSIM/ndnSIM/blob/master/apps/ndn-consumer.cpp#L227-L232 Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 16, 2017, at 3:00 AM, Rizky Yanuar wrote: > > Hello, > > I'm trying to get the hop count from a packet in a new custom policy based from existing policy (which is freshness-policy). I've tried using the example that's Alex mentioned in this mail: http://www.lists.cs.ucla.edu/pipermail/ndnsim/2016-February/002423.html > > However, on the compiling process I still got an error message: > > In file included from ../src/ndnSIM/model/cs/content-store-with-freshness.hpp:28:0, > from ../src/ndnSIM/model/cs/content-store-with-freshness.cpp:20: > ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp: In member function ?bool ns3::ndn::ndnSIM::freshness_policy_traits::policy::type::insert(typename ns3::ndn::ndnSIM::freshness_policy_traits::policy::type::parent_trie::iterator)?: > ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp:114:27: error: expected unqualified-id before ?typename? > auto dataTag = data->typename getTag(); > ^ > > I've tried remove the typename declaration and the but I still failed on the compilation process. I'd greatly appreciate if anyone has any advice for this problem. Thank you very much. > > -- > Muhamad Rizky Yanuar > 23515017 > mryanuar21 at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Thu Mar 16 11:28:00 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Thu, 16 Mar 2017 21:58:00 +0330 Subject: [ndnSIM] Manually change face state In-Reply-To: <227D4CF2-F1D9-4B70-B2CA-9FC148094C26@cs.ucla.edu> References: <227D4CF2-F1D9-4B70-B2CA-9FC148094C26@cs.ucla.edu> Message-ID: Spyridon, I have a couple of questions on this that I will be grateful if you could help me with: In transport.hpp there is a setState, but it hasn't been called in face.hpp at all. What is the reason? With this lead of yours I'm trying to extend linkControlHelper to actually fail a link by setting its state to FAILED or CLOSED. Is there a specific reason it hasn't been done already? Thanks, Sabet On Thu, Mar 9, 2017 at 1:08 AM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > each application has a corresponding face, so you could extend your > application logic to set the state of its face to the local forwarder to > DOWN. > > You will also have to modify NFD to be able to set the state of a Face > based on its transport instance, similar to this getState method (create a > setState method): > > https://github.com/named-data-ndnSIM/NFD/blob/ > 38111cde9bab698f6eaf1a9d430130c2cbb3eca4/daemon/face/face.hpp#L289 > > There is an enumeration for the state of a Face transport available here: > > https://github.com/named-data-ndnSIM/NFD/blob/ > 38111cde9bab698f6eaf1a9d430130c2cbb3eca4/daemon/face/transport.hpp#L41 > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Mar 7, 2017, at 5:29 PM, ??????? ???????????? > wrote: > > Hello, > > I am trying to model link failure between a router and a particular > consumer. The consumer has issued an interest, but the link fails while > awaiting for the data packet. I tried using LinkControlHelper, but it only > sets the error rate of the channel to maximum and won't change consumer > application's face state to DOWN. So, when the data packet arrives at the > router, as far as the forwarder/strategy is concerned, it is forwarded > correctly to the consumer and the pit entry gets deleted eventually, > whereas I want to maintain it for the duration of InterestLifetime or at > least until the link is up again (for experimental purposes). > > So I was wondering if there is a way to schedule for this particular face > to change its state to DOWN at a given time, and then change it back to UP > when the link is up again. > > Thanks! > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Thu Mar 16 11:54:11 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Thu, 16 Mar 2017 18:54:11 +0000 Subject: [ndnSIM] Manually change face state In-Reply-To: References: Message-ID: Hi ??????? NFD face state is a combination of transport state and LinkService state. The former, transport state, reports the state of the underlying socket. The latter, LinkService state, reports the state as perceived by LinkService. This part is not yet implemented. Face class would not set either transport state or LinkService state, but only read from them and report the combined state. It currently only reads and returns transport state because LinkService state isn't implemented. When a link becomes so lossy that communication is no longer possible, the LinkService is supposed to detect this situation (using Bidirectional Forwarding Detection, for example) and report LinkService state as DOWN. Since the socket is still connected, the transport state remains UP. Yours, Junxiao On Tue, Mar 7, 2017 at 18:29 ??????? ???????????? wrote: I am trying to model link failure between a router and a particular consumer. The consumer has issued an interest, but the link fails while awaiting for the data packet. I tried using LinkControlHelper, but it only sets the error rate of the channel to maximum and won't change consumer application's face state to DOWN. So, when the data packet arrives at the router, as far as the forwarder/strategy is concerned, it is forwarded correctly to the consumer and the pit entry gets deleted eventually, whereas I want to maintain it for the duration of InterestLifetime or at least until the link is up again (for experimental purposes). So I was wondering if there is a way to schedule for this particular face to change its state to DOWN at a given time, and then change it back to UP when the link is up again. -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Thu Mar 16 12:15:52 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Thu, 16 Mar 2017 15:15:52 -0400 Subject: [ndnSIM] ndnSIM Digest, Vol 52, Issue 11 In-Reply-To: References: <1c3466132e0eaededc6cb011391b4072@umail.it.umass.edu> Message-ID: <0eaff47e8a719d48642e505629490320@umail.it.umass.edu> fib::NextHopList::const_iterator it = nexthops.begin(); while(it!=nexthops.end()) { //Face& outFace = it->getFace(); //Face* pt; //pt=&it->getFace(); if (!wouldViolateScope(inFace, interest, it->getFace()) && canForwardToLegacy(*pitEntry, it->getFace())) { ns3::Simulator::Schedule(ns3::Seconds(tGap), &WaitStrategy::SendAfterDelay,pitEntry,interest,it); } } void WaitStrategy::SendAfterDelay(const shared_ptr& pitEntry,const Interest& interest,fib::NextHopList::const_iterator& it) { this->sendInterest(pitEntry, it->getFace(), interest); ++it; } I tried this and it give following error: /src/ndnSIM/NFD/daemon/fw/Wait-strategy.cpp:177:104: required from here ./ns3/make-event.h:384:52: error: incomplete type ?ns3::EventMemberImplObjTraits >? used in nested name specifier (EventMemberImplObjTraits::GetReference (m_obj).*m_function)(m_a1, m_a2); ----------------------------------------------------------------------------------------------------------- On 2017-03-12 13:31, lahmer ilyas wrote: > Actually, I'm stuck at the same problem, I was trying to implement an > adhoc strategy which requires scheduling the retranssmission but I > couldn't. If you figured it out please notify me. > > Sent from BlueMail [1] > > On Mar 12, 2017, at 6:00 PM, Rajvardhan Deshmukh > wrote: > >> Thanks lahmer it works. >> I had another error while inducing delay using following: >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> void WaitStrategy::SendAfterDelay(shared_ptr& >> pitEntry,const Face outFace,const Interest& interest) >> { >> this->sendInterest(pitEntry, outFace, interest); >> } >> >> > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 >> >> > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 >> >> ------------------------- >> >> gives error: >> error: use of deleted function 'nfd::face::Face::Face(const >> nfd::face::Face&)' >> Simulator::Schedule(Seconds(Ndelay), >> &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); >> error: candidate is: void >> >> > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, >> >> nfd::face::Face, const ndn::Interest&) >> Thanks, >> Raj >> >> On 2017-03-11 19:06, ndnsim-request at lists.cs.ucla.edu wrote: >> Send ndnSIM mailing list submissions to >> ndnsim at lists.cs.ucla.edu >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> or, via email, send a message with subject or body 'help' to >> ndnsim-request at lists.cs.ucla.edu >> >> You can re ach the person managing the list at >> ndnsim-owner at lists.cs.ucla.edu >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of ndnSIM digest..." >> >> Today's Topics: >> >> 1. Re: Problem with sequence number (Shahid Md. Asif Iqbal) >> 2. Re: Problem with sequence number (Junxiao Shi) >> 3. Re: Problem with sequence number (Shahid Md. Asif Iqbal) >> 4. (no subject) (lahmer ilyas) >> 5. Re: Inducing waiting delay in nodes and no member named >> GetObject error (lahmer ilyas) >> >> ------------------------- >> >> Message: 1 >> Date: Sat, 11 Mar 2017 11:07:55 +0600 >> From: "Shahid Md. Asif Iqbal" >> To: "Spyridon (Spyros) Mastorakis" >> Cc: ndnsim >> Subject: Re: [ndnSIM] Problem with sequence number >> Message-ID: >> >> Content-Type: text/p lain; charset="utf-8" >> >> Thanks Spyridon, >> Then, how the same line is working fine in the consumer.cpp. As, it >> is >> the >> consumer who is defining the sequence number. >> >> Sincerely >> Asif >> >> On Fri, Mar 10, 2017 at 11:25 PM, Spyridon (Spyros) Mastorakis < >> mastorakis at cs.ucla.edu> wrote: >> >> Hi, >> >> this means that the last name component of your data packet is not a >> sequence number (or in any case a valid sequence number). >> >> Thanks, >> >> Spyridon (Spyros) Mastorakis >> Personal Website: http://cs.ucla.edu/~mastorakis/ >> Internet Research Laboratory >> Computer Science Department >> UCLA >> >> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >> >> wrote: >> >> Dear All, >> When I tried to execute the line >> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >> from the onIncomingData(.......) function of the fowarder.cpp file, >> it >> is >> producing the error 'valid marker is not present or value is not a >> nonnegative integer'. Can anyone please provide a remedy to the >> problem? >> >> Sincerely >> Asif >> >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------- >> >> Message: 2 >> Date: Fri, 10 Mar 2017 22:14:43 -0700 >> From: Junxiao Shi >> To: "Shahid Md. Asif Iqbal" >> Cc: ndnsim , "Spyridon (Spyros) >> Mastorakis" >> >> Subject: Re: [ndnSIM] Problem w ith sequence number >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Hi Shahid >> >> Forwarder::onIncomingInterest processes not only Interests from your >> consumer, but also Interests from management protocol and routing >> protocol. >> Those Interests may not have a sequence number at the end, and thus >> fails >> at that line. >> >> Yours, Junxiao >> >> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" >> >> wrote: >> >> Thanks Spyridon, >> Then, how the same line is working fine in the consumer.cpp. As, it >> is >> the >> consumer who is defining the sequence number. >> >> Sincerely >> Asif >> >> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >> >> wrote: >> >> Dear All, >> When I tried to execute the line >> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >> from the onIncomingData(.......) function of the fowarder.cpp file, >> it >> is >> producing the error 'valid marker is not present or value is not a >> nonnegative integer'. Can anyone please provide a remedy to the >> problem? >> >> Sincerely >> Asif >> >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> > >> >> ------------------------- >> >> Message: 3 >> Date: Sat, 11 Mar 2017 11:20:30 +0600 >> From: "Shahid Md. Asif Iqbal" >> To: Junxiao Shi >> Cc: ndnsim , "Spyridon (Spyros) >> Mastorakis" >> >> Subject: Re: [ndnSIM] Problem with sequence number >> Message-ID: >> >> Content-Type: text/plain; charset="utf-8" >> >> Thanks Junxiao, that sounds nice. >> >> On Sat, Mar 11, 2017 at 11:14 AM, Junxiao Shi >> >> wrote: >> >> Hi Shahid >> >> Forwarder::onIncomingInterest processes not only Interests from your >> consumer, but also Interests from management protocol and routing >> protocol. >> Those Interests may not have a sequence number at the end, and thus >> fails >> at that line. >> >> Yours, Junxiao >> >> On Mar 10, 2017 10:08 PM, "Shahid Md. Asif Iqbal" >> >> wrote: >> >> Thanks Spyridon, >> Then, how the same line is working fine in the consume r.cpp. As, it >> is >> the >> consumer who is defining the sequence number. >> >> Sincerely >> Asif >> >> On Mar 10, 2017, at 3:48 AM, Shahid Md. Asif Iqbal >> >> wrote: >> >> Dear All, >> When I tried to execute the line >> uint32_t seq = data.getName().at(-1).toSequenceNumber(); >> from the onIncomingData(.......) function of the fowarder.cpp file, >> it is >> producing the error 'valid marker is not present or value is not a >> nonnegative integer'. Can anyone please provide a remedy to the >> problem? >> >> Sincerely >> Asif > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------- > > Message: 4 > Date: Sat, 11 Mar 2017 23:56:08 +0000 > From: lahmer ilyas > To: "ndnsim at lists.cs.ucla.edu" > Subject: [ndnSIM] (no subject) > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hi guys, > I'm trying to delay sending of an Interest. In my forwarding strategy > class, I created a method sendPacket(const Face& inFace, interest, > pit); > and in the strategy method afterReceiveInterest(...) I make a call > nns3::Simulator::Schedule(ns3::Seconds(1.0),&MyStrategy::sendPacket,this,inFace,interest,pitEntry); > and this cause me a compiler error: > use of deleted function ?nfd::face::Face::Face(const > nfd::face::Face&)? > I tried passing a pointer to the inFace and it compiles successfully > but at > runtime when I insert pitEntry I got bad weak pointer exception > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------- > > Message: 5 > Date: Sun, 12 Mar 2017 00:06:01 +0000 > From: lahmer ilyas > To: "Spyridon (Spyros) Mastorakis" , > Rajvardhan Deshmukh > Cc: NdnSIM > Subject: Re: [ndnSIM] Inducing waiting delay in nodes and no member > named GetObject error > Message-ID: > > Content-Type: text/plain; charset="utf-8" > > Hi To get The position of a node you can do the following : > #include > #include > > ns3::Ptr node = > ns3::NodeList::GetNode(ns3::Simulator::GetContext()); > ns3::Ptr mobility = > node->GetObject(); > ns3::Vector current = mobility->GetPosition(); > std::cout<<"Node Position"< > On Wed, Mar 8, 2017 at 12:57 AM Spyridon (Spyros) Mastorakis < > mastorakis at cs.ucla.edu> wrote: > > Hi, > > unfortunately, I am not familiar with the mobility models of NS-3. > > You can try to use the ScheduleWithContext method and see if that will > > work: > > https://www.nsnam.org/doxygen/classns3_1_1_simulator.html#a5ba9b2de598375791433f1bb9ba9ca83 > http://thread.gmane.org/gmane.network.simulator.ns3.user/31400 > > Thanks, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Mar 7, 2017, at 12:50 PM, Rajvardhan Deshmukh > wrote: > > -------- Original Message -------- > Subject: Fwd: Re: Inducing waiting delay in nodes > Date: 2017-03-06 12:16 > From: Rajvardhan Deshmukh > To: ndnsim at lists.cs.ucla.edu > > Thanks Spyridon i renamed the strategy and the .cpp and hpp names and > it > worked. > Also, i wanted to get the position of the nodes in the forwarding > strategy. > 1.i tried directly using the > using namespace ns3; > using namespace fw; > Ptrmodel=GetObject(); > Vector position= model.GetPosition(); > ------------------------- > error: 'GetObject' was not declared in this scope > > https://github.com/cawka/ndnSIM-nom-rapid-car2car/blob/master/extensions/ndn-fw-v2v.cc#L99 > > 2.also inducing delay using following: > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > void WaitStrategy::SendAfterDelay(shared_ptr& > pitEntry,const Face outFace,const Interest& interest) > { > this->sendInterest(pitEntry, outFace, interest); > } > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a9d889b7a787842d45c86c67bc21d44853b03b7f/apps/ndn-consumer-cbr.cpp#L85 > > https://github.com/named-data-ndnSIM/ndnSIM/blob/5ea3322623a0550799431f25b2fc4e7e4df5c046/model/ndn-app-link-service.cpp#L55 > > ------------------------- > > gives error: > error: use of deleted function 'nfd::face::Face::Face(const > nfd::face::Face&)' > Simulator::Schedule(Seconds(Ndelay), > &WaitStrategy::SendAfterDelay,pitEntry,outFace,interest); > error: candidate is: void > > nfd::fw::WaitStrategy::SendAfterDelay(std::shared_ptr&, > > nfd::face::Face, const ndn::Interest&) > Thanks, > Raj > > ------------------------- > > ndnSIM mailing li st > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > > ------------------------- > > Subject: Digest Footer > > ------------------------- > > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > ------------------------- > > End of ndnSIM Digest, Vol 52, Issue 11 > ************************************** > > > Links: > ------ > [1] http://www.bluemail.me/r From mryanuar21 at gmail.com Thu Mar 16 17:24:57 2017 From: mryanuar21 at gmail.com (Rizky Yanuar) Date: Fri, 17 Mar 2017 07:24:57 +0700 Subject: [ndnSIM] Getting Hop Count on Insert Method for New Custom Policy In-Reply-To: <6E834A2C-3790-4B1A-B903-0FBD72C6A9BB@cs.ucla.edu> References: <6E834A2C-3790-4B1A-B903-0FBD72C6A9BB@cs.ucla.edu> Message-ID: Hi Spyridon, Thanks for the reply! I've tried the code and it passed the compiling process, but everytime I check the hop count I always got 0 as the value. I've checked the pointer and looks like it always get nullptr as its value. Here is my code on the insert method: shared_ptr data = item->payload()->GetData(); auto hopCountTag = data->getTag(); NS_LOG_DEBUG(hopCountTag); // it returns 0 On Fri, Mar 17, 2017 at 12:39 AM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > since the latest version of ndnSIM (v2.3), we do not use the NS3 packet > tags for the hop count, but we rather use the LP tags implemented for the > NDN Link Protocol (NDNLP): > > https://github.com/named-data-ndnSIM/ndnSIM/blob/master/ > apps/ndn-consumer.cpp#L227-L232 > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Mar 16, 2017, at 3:00 AM, Rizky Yanuar wrote: > > Hello, > > I'm trying to get the hop count from a packet in a new custom policy based > from existing policy (which is freshness-policy). I've tried using the > example that's Alex mentioned in this mail: http://www.lists.cs.ucla.edu/ > pipermail/ndnsim/2016-February/002423.html > > However, on the compiling process I still got an error message: > > In file included from ../src/ndnSIM/model/cs/content-store-with-freshness. > hpp:28:0, > from ../src/ndnSIM/model/cs/content-store-with-freshness. > cpp:20: > ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp: In member > function ?bool ns3::ndn::ndnSIM::freshness_policy_traits::policy Container, Hook>::type::insert(typename ns3::ndn::ndnSIM::freshness_policy_traits::policy Container, Hook>::type::parent_trie::iterator)?: > ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp:114:27: > error: expected unqualified-id before ?typename? > auto dataTag = data->typename getTag(); > ^ > > I've tried remove the typename declaration and the but I > still failed on the compilation process. I'd greatly appreciate if anyone > has any advice for this problem. Thank you very much. > > -- > *Muhamad Rizky Yanuar* > *23515017* > *mryanuar21 at gmail.com * > > > -- *Muhamad Rizky Yanuar* *23515017* *mryanuar21 at gmail.com * -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Thu Mar 16 17:26:22 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Thu, 16 Mar 2017 17:26:22 -0700 Subject: [ndnSIM] Getting Hop Count on Insert Method for New Custom Policy In-Reply-To: References: <6E834A2C-3790-4B1A-B903-0FBD72C6A9BB@cs.ucla.edu> Message-ID: Hi, that means that you fetch data from the local cache or NFD (or some other local application). Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 16, 2017, at 5:24 PM, Rizky Yanuar wrote: > > Hi Spyridon, > > Thanks for the reply! I've tried the code and it passed the compiling process, but everytime I check the hop count I always got 0 as the value. I've checked the pointer and looks like it always get nullptr as its value. Here is my code on the insert method: > shared_ptr data = item->payload()->GetData(); > auto hopCountTag = data->getTag(); > NS_LOG_DEBUG(hopCountTag); // it returns 0 > > > > On Fri, Mar 17, 2017 at 12:39 AM, Spyridon (Spyros) Mastorakis > wrote: > Hi, > > since the latest version of ndnSIM (v2.3), we do not use the NS3 packet tags for the hop count, but we rather use the LP tags implemented for the NDN Link Protocol (NDNLP): > > https://github.com/named-data-ndnSIM/ndnSIM/blob/master/apps/ndn-consumer.cpp#L227-L232 > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > >> On Mar 16, 2017, at 3:00 AM, Rizky Yanuar > wrote: >> >> Hello, >> >> I'm trying to get the hop count from a packet in a new custom policy based from existing policy (which is freshness-policy). I've tried using the example that's Alex mentioned in this mail: http://www.lists.cs.ucla.edu/pipermail/ndnsim/2016-February/002423.html >> >> However, on the compiling process I still got an error message: >> >> In file included from ../src/ndnSIM/model/cs/content-store-with-freshness.hpp:28:0, >> from ../src/ndnSIM/model/cs/content-store-with-freshness.cpp:20: >> ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp: In member function ?bool ns3::ndn::ndnSIM::freshness_policy_traits::policy::type::insert(typename ns3::ndn::ndnSIM::freshness_policy_traits::policy::type::parent_trie::iterator)?: >> ../src/ndnSIM/model/cs/custom-policies/freshness-policy.hpp:114:27: error: expected unqualified-id before ?typename? >> auto dataTag = data->typename getTag(); >> ^ >> >> I've tried remove the typename declaration and the but I still failed on the compilation process. I'd greatly appreciate if anyone has any advice for this problem. Thank you very much. >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Thu Mar 16 21:58:57 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Fri, 17 Mar 2017 08:28:57 +0330 Subject: [ndnSIM] Manually change face state In-Reply-To: References: Message-ID: Junxiao, Thanks for the explanation. So for now since LinkService part isn't implemented, in NFD therefore ndnSIM we *only* have transport for indicating a face(and a link) state. So if I set transport state to FAILED or CLOSED it will be like the actual link is DOWN, right? Spyridon, Having what Junxiao said, I wonder why did you recommend to set state for Face directly. Is it to avoid getting into programming complexities? Thanks, Sabet On Thu, Mar 16, 2017 at 10:24 PM, Junxiao Shi wrote: > Hi ??????? > > NFD face state is a combination of transport state and LinkService state. > The former, transport state, reports the state of the underlying socket. > The latter, LinkService state, reports the state as perceived by > LinkService. This part is not yet implemented. > Face class would not set either transport state or LinkService state, but > only read from them and report the combined state. It currently only reads > and returns transport state because LinkService state isn't implemented. > > When a link becomes so lossy that communication is no longer possible, the > LinkService is supposed to detect this situation (using Bidirectional > Forwarding Detection, for example) and report LinkService state as DOWN. > Since the socket is still connected, the transport state remains UP. > > Yours, Junxiao > > On Tue, Mar 7, 2017 at 18:29 ??????? ???????????? < > j.manolopoulos at gmail.com> wrote: > > I am trying to model link failure between a router and a particular > consumer. The consumer has issued an interest, but the link fails while > awaiting for the data packet. I tried using LinkControlHelper, but it only > sets the error rate of the channel to maximum and won't change consumer > application's face state to DOWN. So, when the data packet arrives at the > router, as far as the forwarder/strategy is concerned, it is forwarded > correctly to the consumer and the pit entry gets deleted eventually, > whereas I want to maintain it for the duration of InterestLifetime or at > least until the link is up again (for experimental purposes). > > So I was wondering if there is a way to schedule for this particular face > to change its state to DOWN at a given time, and then change it back to UP > when the link is up again. > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jinyang0508 at foxmail.com Fri Mar 17 01:43:38 2017 From: jinyang0508 at foxmail.com (=?gb18030?B?SmluIFlhbmc=?=) Date: Fri, 17 Mar 2017 16:43:38 +0800 Subject: [ndnSIM] Examples — ndnSIM documentation Message-ID: Hi, NDNers: I'm a new NDNer. These days I'm study the ndnSIM from "Simulation examples" from the website of ndnSIM documentation?http://ndnsim.net/2.2/examples.html?. 1.In the "9-node grid example using topology plugin" example, I found ?metric: routing metric? is assigned 1 in "topo-grid-3x3.txt"?what is its meaning? 2.Also In the "11-node 2-bottleneck topology? ?I found the some ?OSPF? are assigned 1176?587?846?260?700. These numbers seem not appear before. Are they assigned arbitrarily? 3. I read the paper?VIP-- A Framework for Joint Dynamic Forwarding and Caching in Named Data Networks? and want to realize this framework on ndnSIM? but at a loss. Could you give me some advice? -------------- next part -------------- An HTML attachment was scrubbed... URL: From philipp.moll at itec.aau.at Fri Mar 17 02:21:32 2017 From: philipp.moll at itec.aau.at (Philipp Moll) Date: Fri, 17 Mar 2017 10:21:32 +0100 Subject: [ndnSIM] Replacement for NetDeviceFace / Accessing physical bitrate of Face Message-ID: <643d0d5e-43c5-9202-b70e-3e3abc42c8f6@itec.aau.at> Dear all, I'm trying to port software originated for ndnSIM 2.0 to the current version of ndnSIM. The software used the NetDeviceFace class, which was removed in Version 2.2, for accessing the physical bit-rate of the underlying link with the following code: // shared_ptr< Face > face if(ns3::ndn::NetDeviceFace *netf = dynamic_cast(&(*face))) { ns3::Ptr nd1 = netf->GetNetDevice()->GetNode ()->GetDevice(netf->getId () - 256)->GetObject(); ns3::DataRateValue dv; nd1->GetAttribute("DataRate", dv); ns3::DataRate d = dv.Get(); return d.GetBitRate(); } Unfortunately, I could not find a method for accessing the bitrate without casting Face to NetDeviceFace. Maybe someone was already faced with the same problem and solved it already. Thanks! Philipp Moll From aa at CS.UCLA.EDU Fri Mar 17 15:05:22 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 17 Mar 2017 15:05:22 -0700 Subject: [ndnSIM] Replacement for NetDeviceFace / Accessing physical bitrate of Face In-Reply-To: <643d0d5e-43c5-9202-b70e-3e3abc42c8f6@itec.aau.at> References: <643d0d5e-43c5-9202-b70e-3e3abc42c8f6@itec.aau.at> Message-ID: The code in 2.3 would look very similarly to old one, you will just need to case not the face, but transport element that you get from the face: ... if (NetDeviceTransport *transport = dynamic_cast< NetDeviceTransport*>(&face->getTransport())) { ... transport->getNetDevice().... // rest the same } > On Mar 17, 2017, at 2:21 AM, Philipp Moll wrote: > > Dear all, > > I'm trying to port software originated for ndnSIM 2.0 to the current version of ndnSIM. The software used the NetDeviceFace class, which was removed in Version 2.2, for accessing the physical bit-rate of the underlying link with the following code: > > // shared_ptr< Face > face > > if(ns3::ndn::NetDeviceFace *netf = dynamic_cast(&(*face))) > { > ns3::Ptr nd1 = netf->GetNetDevice()->GetNode ()->GetDevice(netf->getId () - 256)->GetObject(); > ns3::DataRateValue dv; > nd1->GetAttribute("DataRate", dv); > ns3::DataRate d = dv.Get(); > return d.GetBitRate(); > } > > Unfortunately, I could not find a method for accessing the bitrate without casting Face to NetDeviceFace. Maybe someone was already faced with the same problem and solved it already. > > Thanks! > Philipp Moll > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From scott1091 at yahoo.com Fri Mar 17 18:19:07 2017 From: scott1091 at yahoo.com (John Scott) Date: Sat, 18 Mar 2017 01:19:07 +0000 (UTC) Subject: [ndnSIM] Wireless dev References: <1772880552.2596921.1489799947332.ref@mail.yahoo.com> Message-ID: <1772880552.2596921.1489799947332@mail.yahoo.com> Hi, I need my application to support wireless communication as well. I've seen a few inquiries about wireless in this list, but I still have a question. When using ndnSIM, what is needed to make wireless communication work on a smarter way other than broadcast?? Based on the Rapid Traffic Information Dissemination Using NDN, a new forwarding strategy and a new face. But since ndnSIM 2.3 uses NFD, should the face be a 802.11-face or one can re-use a NS-3 interface? Can you please comment on this development issue? Rgds -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Sat Mar 18 02:48:39 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Sat, 18 Mar 2017 13:18:39 +0330 Subject: [ndnSIM] Forwarding pipelines in ndnSIM 1 Message-ID: ?Hi there, It may seem an obsolete question, but I'm looking for the way forwarders acted in ndnSIM v1. Since at that time, there were no nfd, how ndn nodes behaved at time of receiving interests or data. I guess I'm looking for the equivalent for forwarder.h/cpp in ndnSIM v1. Could you refer me to the code? As far as I understood it seems in v1 forwarding strategies were responsible. Is that right? Thanks, Sabet -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Sat Mar 18 04:15:03 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Sat, 18 Mar 2017 14:45:03 +0330 Subject: [ndnSIM] Error while calling applications public member functions from scenario In-Reply-To: <1C639B46-CFF3-47DF-94D2-100AD291E72E@cs.ucla.edu> References: <1C639B46-CFF3-47DF-94D2-100AD291E72E@cs.ucla.edu> Message-ID: Hi there, Continuing this issue, I wanted to access ndn application member functions. How can I resolve the application name? I mean I have tried with Downcasting to ns3::ndn::Producer, but compiler gave me: ?Producer? is not a member of ?ns3::ndn? Thanks, Sabet On Mon, Aug 15, 2016 at 1:23 AM, Alex Afanasyev wrote: > > On Aug 14, 2016, at 12:14 PM, Junxiao Shi > wrote: > > Hi Sabet > > This usually occurs when you are trying to send a packet when processing a > packet. You need a io.post in real application or > ns3::Simulator::ScheduleNow in simulated application *somewhere*. > > Yours, Junxiao > > On Aug 13, 2016 10:37 PM, "Muhammad Hosain Abdollahi Sabet" < > mhasabet at gmail.com> wrote: > >> Hi, >> >> I have a custom application *"CustomApp". *I have put SendInterest() in >> public so I can call it from scenario, for testing purposes. With this snap: >> >> ndn::AppHelper app1("CustomApp"); >>> ApplicationContainer appCont = app1.Install(ConsNode); >>> >>> Ptr app1ptr = DynamicCast(appCont.Get(0)); >>> app1ptr->SendInterest(); >>> >> > As Junxiao already pointed out, you cannot do this. One of the reasons is > that this code in main() function merely sets up the simulation. The > installed applications is "logically" installed on the node, and it doesn't > necessarily has to start at the beginning of the simulation (it is just an > accident that in your simulation it does, as you used the default > start/stop times). > > I would recommend checking the example applications, e.g., > http://ndnsim.net/2.1/applications.html#customer-example. You need two > things, > - initiate application tasks only after StartApplication is called > - schedule send interest operation, not invoke it directly > > -- > Alex > > >> I'm getting: >> >> Command ['.../ns-3/build/scratch/simple-custom-app'] terminated with >>> signal SIGSEGV. Run it under a debugger to get more information (./waf >>> --run --command-template="gdb --args %s "). >>> >> >> which buy following gdb(insight) I end up : >> >> BOOST_ASSERT_MSG(!m_isExecuting, "cannot emit signal from a handler"); >> >> >> It is from: >> https://github.com/named-data-ndnSIM/ndn-cxx/blob/master/src >> /util/signal-signal.hpp:224 >> Branch: ndn-cxx.0.3.4-ndnSIM >> >> I have tested app1ptr with some sample doing-nothing-but-LOG member >> function and it worked. >> >> I appreciate it if you could help me on what is wrong. >> >> Thanks, >> Sabet >> >> >> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Sat Mar 18 05:08:47 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Sat, 18 Mar 2017 15:38:47 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void > NlsrExec::advertise() > { > //siteIdentity = ndn::Name(site).appendVersion(); > //opIdentity = > ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); > std::cout<< "I was called"< m_nlsr.getPrefixUpdateProcessor().enable(); > ndn::nfd::ControlParameters parameters; > parameters.setName("/prefix/to/advertise/"); > ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); > advertiseCommand.append(parameters.wireEncode()); > ndn::Interest advertiseInterest(advertiseCommand); > advertiseInterest.setMustBeFresh(true); > m_keyChain.sign(advertiseInterest); > m_face.expressInterest(advertiseInterest, > std::bind([] { }), > std::bind([] { })); > } The log corresponding to node 5 : 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest > face=260 > interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 > 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss > interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 > 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss > noLinkObject > 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject > interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 > 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize > interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 > unsatisfied Why is that so? Is it because of the signiture or something? ?Thanks, Sabet? On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < agawande at memphis.edu> wrote: > Yes, receive is just a dummy written for unit testing ( > https://github.com/named-data/ndn-cxx/blob/master/src/ > util/dummy-client-face.hpp). > > > You would use expressInterest to send an advertise/withdraw request. > > (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) > > > The advertise/withdraw commands are only accepted on localhost ( > https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). > > For example, nlsrc issues an advertise interest to NFD, which gives it to > NLSR (since NLSR is listening for it). > Then NLSR can respond appropriately. > > Ashlesh > ------------------------------ > *From:* Muhammad Hosain Abdollahi Sabet > *Sent:* Tuesday, March 7, 2017 1:04:04 PM > *To:* Ashlesh Gawande (agawande) > *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani > > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > > Ashlesh, > > How about using expressInterest? Does nlsr respond to interest of local > scope like nfd? If so, there is no need to have a receive, right? > > Thanks, > Sabet > On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < > agawande at memphis.edu> wrote: > >> 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 >> *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" 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 >>> 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 withdrawInterest = make_shared(withdraw >>> Command); >>> 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 >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> >>> >>> >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Sat Mar 18 12:24:29 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Sat, 18 Mar 2017 12:24:29 -0700 Subject: [ndnSIM] Examples — ndnSIM documentation In-Reply-To: References: Message-ID: <5B9747F6-84D8-4895-9A28-16D44D8542AB@cs.ucla.edu> Hi, > On Mar 17, 2017, at 1:43 AM, Jin Yang wrote: > > Hi, NDNers: > I'm a new NDNer. These days I'm study the ndnSIM from "Simulation examples" from the website of ndnSIM documentation?http://ndnsim.net/2.2/examples.html?. > 1.In the "9-node grid example using topology plugin" example, I found ?metric: routing metric? is assigned 1 in "topo-grid-3x3.txt"?what is its meaning? > 2.Also In the "11-node 2-bottleneck topology? ?I found the some ?OSPF? are assigned 1176?587?846?260?700. These numbers seem not appear before. Are they assigned arbitrarily? Please take a look here: http://ndnsim.net/2.3/metric.html Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Sun Mar 19 04:48:52 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Sun, 19 Mar 2017 04:48:52 -0700 Subject: [ndnSIM] Forwarding pipelines in ndnSIM 1 In-Reply-To: References: Message-ID: Hi Sabet ndnSIM v1 does not have forwarding pipelines. Most forwarding actions are performed by the "strategy". In contrast, ccnd 0.7.2 has very limited "strategy", and all other forwarding actions are performed by the forwarding procedures. When I designed NFD forwarding plane, one design choice is: *what is the boundary of the strategy?* ndnSIM v1's model is extremely flexible (which coincides with one of NFD's design goals), but write a strategy for ndnSIM v1 without copy-and-pasting code would be extremely complex. ccnd 0.7.2's model is very limited because strategy cannot define when it's triggered and cannot store additional information on table entries. I settled with letting the strategy handle Interest forwarding, and observe (but not change) Data forwarding. Recent requests from congestion control and wireless networking are making me rethinking this design choice. In particular, strategy may be allowed to control Data forwarding in the future. Composable forwarding / composable strategy is an alternate design idea in which the entire forwarding plane (with a similar or larger boundary than ndnSIM v1's "strategy") is composed of many building blocks connected together. This is inspired by Click modular router. I didn't work further on this idea because I feel the configuration file would become as complex as ndnSIM v1's strategy. Both compiled code and configuration file are code, so I want to avoid going too far on that direction. Yours, Junxiao On Sat, Mar 18, 2017 at 2:48 AM, Muhammad Hosain Abdollahi Sabet < mhasabet at gmail.com> wrote: > ?Hi there, > > It may seem an obsolete question, but I'm looking for the way forwarders > acted in ndnSIM v1. Since at that time, there were no nfd, how ndn nodes > behaved at time of receiving interests or data. I guess I'm looking for the > equivalent for forwarder.h/cpp in ndnSIM v1. Could you refer me to the > code? As far as I understood it seems in v1 forwarding strategies were > responsible. Is that right? > > Thanks, > Sabet > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Sun Mar 19 04:51:58 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Sun, 19 Mar 2017 04:51:58 -0700 Subject: [ndnSIM] Wireless dev In-Reply-To: <1772880552.2596921.1489799947332@mail.yahoo.com> References: <1772880552.2596921.1489799947332.ref@mail.yahoo.com> <1772880552.2596921.1489799947332@mail.yahoo.com> Message-ID: Hi John In upcoming 4th NDN Hackathon , the "ndnSIM Mobile Simulation Package" project may provide what you are looking for. You are welcome to join the hackathon and help bringing this project to life. Yours, Junxiao On Fri, Mar 17, 2017 at 6:19 PM, John Scott wrote: > Hi, > > I need my application to support wireless communication as well. I've seen > a few inquiries about wireless in this list, but I still have a question. > > When using ndnSIM, what is needed to make wireless communication work on a > smarter way other than broadcast? > Based on the Rapid Traffic Information Dissemination Using NDN, a new > forwarding strategy and a new face. But since ndnSIM 2.3 uses NFD, should > the face be a 802.11-face or one can re-use a NS-3 interface? > > Can you please comment on this development issue? > > Rgds > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kzer95 at gmail.com Sun Mar 19 07:42:31 2017 From: kzer95 at gmail.com (John Bennedict Lorenzo) Date: Sun, 19 Mar 2017 22:42:31 +0800 Subject: [ndnSIM] How to know which node sent the interest Message-ID: Hi, I'm trying to reproduce a paper that did delay tolerant ndn. With my custom strategy, I currently am able to broadcast interests to all nodes that are reachable. How would I prevent interests from being sent back to the node that originally sent it? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From scott1091 at yahoo.com Sun Mar 19 12:41:06 2017 From: scott1091 at yahoo.com (John Scott) Date: Sun, 19 Mar 2017 19:41:06 +0000 (UTC) Subject: [ndnSIM] Wireless dev In-Reply-To: References: <1772880552.2596921.1489799947332.ref@mail.yahoo.com> <1772880552.2596921.1489799947332@mail.yahoo.com> Message-ID: <589187757.3206567.1489952466489@mail.yahoo.com> Hi Junxiao, I am willing to help; however, I cannot attend personally.Feel free to contact me with any tasks. Rgds On Sunday, March 19, 2017 7:52 AM, Junxiao Shi wrote: Hi John In upcoming 4th NDN Hackathon, the "ndnSIM Mobile Simulation Package" project may provide what you are looking for. You are welcome to join the hackathon and help bringing this project to life. Yours, Junxiao On Fri, Mar 17, 2017 at 6:19 PM, John Scott wrote: Hi, I need my application to support wireless communication as well. I've seen a few inquiries about wireless in this list, but I still have a question. When using ndnSIM, what is needed to make wireless communication work on a smarter way other than broadcast?? Based on the Rapid Traffic Information Dissemination Using NDN, a new forwarding strategy and a new face. But since ndnSIM 2.3 uses NFD, should the face be a 802.11-face or one can re-use a NS-3 interface? Can you please comment on this development issue? Rgds -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Sun Mar 19 14:17:43 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Sun, 19 Mar 2017 17:17:43 -0400 Subject: [ndnSIM] Inducing waiting delay in nodes, Simulator::Schedule problem Message-ID: <986643a46d341027093d71648713621d@umail.it.umass.edu> Hi, Thank you for helping with the mobility GetObject.I want to further induce delay in the interset forwarding by the nodes I tried the following: void WaitStrategy::afterReceiveInterest(const Face& inFace, const Interest& interest, const shared_ptr& pitEntry) { const fib::Entry& fibEntry = this->lookupFib(*pitEntry); const fib::NextHopList& nexthops = fibEntry.getNextHops(); float tGap= 0.00006; fib::NextHopList::const_iterator it = nexthops.begin(); while(it!=nexthops.end()) { if (!wouldViolateScope(inFace, interest, it->getFace()) && canForwardToLegacy(*pitEntry, it->getFace())) { this->sendInterest(pitEntry, it->getFace(), interest); ns3::Simulator::Schedule(ns3::Seconds(tGap), &WaitStrategy::SendAfterDelay,it); } else{++it;} } if (!hasPendingOutRecords(*pitEntry)) { this->rejectPendingInterest(pitEntry); } } void WaitStrategy::SendAfterDelay(fib::NextHopList::const_iterator& it) { ++it; } I tried this and it give following error:(there is some problem with scheduling the function after a certain delay) /src/ndnSIM/NFD/daemon/fw/Wait-strategy.cpp:177:104: required from here ./ns3/make-event.h:384:52: error: incomplete type ?ns3::EventMemberImplObjTraits >? used in nested name specifier (EventMemberImplObjTraits::GetReference (m_obj).*m_function)(m_a1, m_a2); Thank you, Raj From agawande at memphis.edu Mon Mar 20 07:32:34 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Mon, 20 Mar 2017 14:32:34 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: Security is off by default in nlsrSIM (https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so that should not be a problem. So this m_face, is it the same face that is passed to NLSR? That may be a problem. Since you are sending the interest out of that face and NLSR is listening for request on the same face, NFD would not forward the interest back to the same face. Hence interest reject message from NFD. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet Sent: Saturday, March 18, 2017 7:08:47 AM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void NlsrExec::advertise() { //siteIdentity = ndn::Name(site).appendVersion(); //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); std::cout<< "I was called"<> wrote: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Mon Mar 20 10:41:51 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Mon, 20 Mar 2017 21:11:51 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Yes m_face is the face which is passed to NLSR, if the interest for advertise and withdraw commands should be sent from another face, how should it be related to NLSR? I mean is there a specific face for these kind of interest packets? On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" wrote: > Security is off by default in nlsrSIM (https://github.com/3rd-ndn- > hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so > that should not be a problem. > > So this m_face, is it the same face that is passed to NLSR? > > That may be a problem. Since you are sending the interest out of that face > and NLSR is listening for request on the same face, NFD would not forward > the interest back to the same face. Hence interest reject message from NFD. > > > Ashlesh > ------------------------------ > *From:* Muhammad Hosain Abdollahi Sabet > *Sent:* Saturday, March 18, 2017 7:08:47 AM > *To:* Ashlesh Gawande (agawande) > *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > > I executed the following code but still after simulation the desired prefix is not in FIB, > > according to log, the interest gets rejected. > > > > void >> NlsrExec::advertise() >> { >> //siteIdentity = ndn::Name(site).appendVersion(); >> //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)). >> appendVersion(); >> std::cout<< "I was called"<> m_nlsr.getPrefixUpdateProcessor().enable(); >> ndn::nfd::ControlParameters parameters; >> parameters.setName("/prefix/to/advertise/"); >> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >> advertiseCommand.append(parameters.wireEncode()); >> ndn::Interest advertiseInterest(advertiseCommand); >> advertiseInterest.setMustBeFresh(true); >> m_keyChain.sign(advertiseInterest); >> m_face.expressInterest(advertiseInterest, >> std::bind([] { }), >> std::bind([] { })); >> } > > > > The log corresponding to node 5 : > > 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >> face=260 interest=/localhost/nlsr/prefix-update/advertise/h%19% >> 07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E% >> 8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08% >> 03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93% >> 15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F% >> 8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz% >> EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15% >> 1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL% >> EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93% >> 9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8% >> 9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018% >> A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC% >> B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0% >> 9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss >> interest=/localhost/nlsr/prefix-update/advertise/h%19% >> 07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E% >> 8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08% >> 03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93% >> 15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F% >> 8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz% >> EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15% >> 1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL% >> EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93% >> 9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8% >> 9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018% >> A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC% >> B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0% >> 9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss >> noLinkObject >> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >> interest=/localhost/nlsr/prefix-update/advertise/h%19% >> 07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E% >> 8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08% >> 03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93% >> 15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F% >> 8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz% >> EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15% >> 1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL% >> EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93% >> 9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8% >> 9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018% >> A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC% >> B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0% >> 9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize >> interest=/localhost/nlsr/prefix-update/advertise/h%19% >> 07%17%08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E% >> 8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08% >> 03KEY%08%11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93% >> 15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F% >> 8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz% >> EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15% >> 1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL% >> EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93% >> 9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8% >> 9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018% >> A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC% >> B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0% >> 9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >> unsatisfied > > > Why is that so? Is it because of the signiture or something? > > ?Thanks, > Sabet? > > > On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < > agawande at memphis.edu> wrote: > >> Yes, receive is just a dummy written for unit testing ( >> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >> dummy-client-face.hpp). >> >> >> You would use expressInterest to send an advertise/withdraw request. >> >> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) >> >> >> The advertise/withdraw commands are only accepted on localhost ( >> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >> >> For example, nlsrc issues an advertise interest to NFD, which gives it to >> NLSR (since NLSR is listening for it). >> Then NLSR can respond appropriately. >> >> Ashlesh >> ------------------------------ >> *From:* Muhammad Hosain Abdollahi Sabet >> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >> *To:* Ashlesh Gawande (agawande) >> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >> >> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >> routers >> >> >> Ashlesh, >> >> How about using expressInterest? Does nlsr respond to interest of local >> scope like nfd? If so, there is no need to have a receive, right? >> >> Thanks, >> Sabet >> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >> agawande at memphis.edu> wrote: >> >>> 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 >>> *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" 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 >>>> 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 withdrawInterest = make_shared(withdraw >>>> Command); >>>> 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 >>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>> >>>> >>>> >>> _______________________________________________ >>> ndnSIM mailing list >>> ndnSIM at lists.cs.ucla.edu >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Mon Mar 20 11:01:30 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Mon, 20 Mar 2017 18:01:30 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: So NLSR is listening for advertise and withdraw interests (on its face to NFD, ex: face 260). An application sends an interest to NFD (on its face to NFD, ex: face 265). NFD forwards the interest from the application to NLSR. There should not be any specific face. You can also try to call https://github.com/named-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/src/update/prefix-update-processor.cpp#L68 directly instead of trying to send an interest - if you want to do it from within NLSR instead (i.e. from NlsrExec). Might have to expose the function. Ashlesh ________________________________ From: Mahsa Aghajani Sent: Monday, March 20, 2017 12:41:51 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Yes m_face is the face which is passed to NLSR, if the interest for advertise and withdraw commands should be sent from another face, how should it be related to NLSR? I mean is there a specific face for these kind of interest packets? On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: Security is off by default in nlsrSIM (https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so that should not be a problem. So this m_face, is it the same face that is passed to NLSR? That may be a problem. Since you are sending the interest out of that face and NLSR is listening for request on the same face, NFD would not forward the interest back to the same face. Hence interest reject message from NFD. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Saturday, March 18, 2017 7:08:47 AM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void NlsrExec::advertise() { //siteIdentity = ndn::Name(site).appendVersion(); //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); std::cout<< "I was called"<> wrote: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 20 11:12:12 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 20 Mar 2017 11:12:12 -0700 Subject: [ndnSIM] How to know which node sent the interest In-Reply-To: References: Message-ID: <40313204-7E3A-4D01-9544-0BD3A3BE3668@cs.ucla.edu> Hi, your strategy should be able to figure out which faces to send Interests through. However, if you are working on a wireless environment, that might not be feasible, since it heavily depends on the location of the nodes. Even if a node receives an Interest that it originally sent, you can always drop it. Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 19, 2017, at 7:42 AM, John Bennedict Lorenzo wrote: > > Hi, I'm trying to reproduce a paper that did delay tolerant ndn. With my custom strategy, I currently am able to broadcast interests to all nodes that are reachable. How would I prevent interests from being sent back to the node that originally sent it? Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Mar 20 11:53:26 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Mar 2017 22:23:26 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Ashlesh, If the face is the problem, so how nlsrc is working? Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? Secondly, if these commands only work in local scope, then no external application may use them for advertising and withdrawing prefixes, right? Thanks, Sabet On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" wrote: > So NLSR is listening for advertise and withdraw interests (on its face to > NFD, ex: face 260). > > An application sends an interest to NFD (on its face to NFD, ex: face 265). > > NFD forwards the interest from the application to NLSR. > > > There should not be any specific face. > > > You can also try to call https://github.com/named-data/NLSR/blob/ > feae5574b8b62ca2dff9991d8bacab48e4737b6a/src/update/prefix- > update-processor.cpp#L68 > > directly instead of trying to send an interest - if you want to do it from > within NLSR instead (i.e. from NlsrExec). Might have to expose the > function. > > > Ashlesh > ------------------------------ > *From:* Mahsa Aghajani > *Sent:* Monday, March 20, 2017 12:41:51 PM > *To:* Ashlesh Gawande (agawande) > *Cc:* Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > Yes m_face is the face which is passed to NLSR, if the interest for > advertise and withdraw commands should be sent from another face, how > should it be related to NLSR? I mean is there a specific face for these > kind of interest packets? > > On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: > >> Security is off by default in nlsrSIM (https://github.com/3rd-ndn-ha >> ckathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so >> that should not be a problem. >> >> So this m_face, is it the same face that is passed to NLSR? >> >> That may be a problem. Since you are sending the interest out of that >> face and NLSR is listening for request on the same face, NFD would not >> forward the interest back to the same face. Hence interest reject message >> from NFD. >> >> >> Ashlesh >> ------------------------------ >> *From:* Muhammad Hosain Abdollahi Sabet >> *Sent:* Saturday, March 18, 2017 7:08:47 AM >> *To:* Ashlesh Gawande (agawande) >> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >> routers >> >> >> I executed the following code but still after simulation the desired prefix is not in FIB, >> >> according to log, the interest gets rejected. >> >> >> >> void >>> NlsrExec::advertise() >>> { >>> //siteIdentity = ndn::Name(site).appendVersion(); >>> //opIdentity = ndn::Name(siteIdentity).append >>> (ndn::Name(operator)).appendVersion(); >>> std::cout<< "I was called"<>> m_nlsr.getPrefixUpdateProcessor().enable(); >>> ndn::nfd::ControlParameters parameters; >>> parameters.setName("/prefix/to/advertise/"); >>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >>> advertiseCommand.append(parameters.wireEncode()); >>> ndn::Interest advertiseInterest(advertiseCommand); >>> advertiseInterest.setMustBeFresh(true); >>> m_keyChain.sign(advertiseInterest); >>> m_face.expressInterest(advertiseInterest, >>> std::bind([] { }), >>> std::bind([] { })); >>> } >> >> >> >> The log corresponding to node 5 : >> >> 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >>> face=260 interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ% >>> 27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08% >>> 11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy% >>> 9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5% >>> B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2% >>> 03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A% >>> 40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC% >>> 7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A% >>> 28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg >>> 8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23% >>> 98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8% >>> F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H >>> 1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss >>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ% >>> 27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08% >>> 11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy% >>> 9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5% >>> B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2% >>> 03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A% >>> 40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC% >>> 7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A% >>> 28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg >>> 8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23% >>> 98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8% >>> F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H >>> 1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss >>> noLinkObject >>> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ% >>> 27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08% >>> 11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy% >>> 9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5% >>> B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2% >>> 03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A% >>> 40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC% >>> 7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A% >>> 28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg >>> 8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23% >>> 98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8% >>> F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H >>> 1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize >>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ% >>> 27/%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08% >>> 11ksk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy% >>> 9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5% >>> B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2% >>> 03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A% >>> 40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC% >>> 7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A% >>> 28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg >>> 8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23% >>> 98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8% >>> F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H >>> 1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 unsatisfied >> >> >> Why is that so? Is it because of the signiture or something? >> >> ?Thanks, >> Sabet? >> >> >> On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < >> agawande at memphis.edu> wrote: >> >>> Yes, receive is just a dummy written for unit testing ( >>> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >>> dummy-client-face.hpp). >>> >>> >>> You would use expressInterest to send an advertise/withdraw request. >>> >>> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) >>> >>> >>> The advertise/withdraw commands are only accepted on localhost ( >>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >>> >>> For example, nlsrc issues an advertise interest to NFD, which gives it >>> to NLSR (since NLSR is listening for it). >>> Then NLSR can respond appropriately. >>> >>> Ashlesh >>> ------------------------------ >>> *From:* Muhammad Hosain Abdollahi Sabet >>> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >>> *To:* Ashlesh Gawande (agawande) >>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>> >>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >>> routers >>> >>> >>> Ashlesh, >>> >>> How about using expressInterest? Does nlsr respond to interest of local >>> scope like nfd? If so, there is no need to have a receive, right? >>> >>> Thanks, >>> Sabet >>> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >>> agawande at memphis.edu> wrote: >>> >>>> 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 >>>> *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" 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 >>>>> 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 withdrawInterest = >>>>> make_shared(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 >>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> ndnSIM mailing list >>>> ndnSIM at lists.cs.ucla.edu >>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>> >>>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From kzer95 at gmail.com Mon Mar 20 12:05:29 2017 From: kzer95 at gmail.com (John Bennedict Lorenzo) Date: Tue, 21 Mar 2017 03:05:29 +0800 Subject: [ndnSIM] How to know which node sent the interest In-Reply-To: <40313204-7E3A-4D01-9544-0BD3A3BE3668@cs.ucla.edu> References: <40313204-7E3A-4D01-9544-0BD3A3BE3668@cs.ucla.edu> Message-ID: Hello Spyridon, Thanks for taking the time to respond. I am working on a wireless environment. I'm aware that I can drop duplicate interests that are already existing in the PIT. I'd still like the strategy to be aware of which node sent the interest. Is there a way to do this? On Tue, Mar 21, 2017 at 2:12 AM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > your strategy should be able to figure out which faces to send Interests > through. However, if you are working on a wireless environment, that might > not be feasible, since it heavily depends on the location of the nodes. > > Even if a node receives an Interest that it originally sent, you can > always drop it. > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > > On Mar 19, 2017, at 7:42 AM, John Bennedict Lorenzo > wrote: > > Hi, I'm trying to reproduce a paper that did delay tolerant ndn. With my > custom strategy, I currently am able to broadcast interests to all nodes > that are reachable. How would I prevent interests from being sent back to > the node that originally sent it? Thanks! > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Mon Mar 20 12:20:59 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Mon, 20 Mar 2017 19:20:59 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: nlsrc is separate application than NLSR - has its own face: https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 External application is supposed to send an interest like nlsrc. Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet Sent: Monday, March 20, 2017 1:53:26 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, If the face is the problem, so how nlsrc is working? Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? Secondly, if these commands only work in local scope, then no external application may use them for advertising and withdrawing prefixes, right? Thanks, Sabet On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" > wrote: So NLSR is listening for advertise and withdraw interests (on its face to NFD, ex: face 260). An application sends an interest to NFD (on its face to NFD, ex: face 265). NFD forwards the interest from the application to NLSR. There should not be any specific face. You can also try to call https://github.com/named-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/src/update/prefix-update-processor.cpp#L68 directly instead of trying to send an interest - if you want to do it from within NLSR instead (i.e. from NlsrExec). Might have to expose the function. Ashlesh ________________________________ From: Mahsa Aghajani > Sent: Monday, March 20, 2017 12:41:51 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Yes m_face is the face which is passed to NLSR, if the interest for advertise and withdraw commands should be sent from another face, how should it be related to NLSR? I mean is there a specific face for these kind of interest packets? On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: Security is off by default in nlsrSIM (https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so that should not be a problem. So this m_face, is it the same face that is passed to NLSR? That may be a problem. Since you are sending the interest out of that face and NLSR is listening for request on the same face, NFD would not forward the interest back to the same face. Hence interest reject message from NFD. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Saturday, March 18, 2017 7:08:47 AM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void NlsrExec::advertise() { //siteIdentity = ndn::Name(site).appendVersion(); //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); std::cout<< "I was called"<> wrote: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 20 12:32:47 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 20 Mar 2017 12:32:47 -0700 Subject: [ndnSIM] How to know which node sent the interest In-Reply-To: References: <40313204-7E3A-4D01-9544-0BD3A3BE3668@cs.ucla.edu> Message-ID: <0ABDABBD-0DD2-46E0-B86A-E755DE15A657@cs.ucla.edu> You can add the node name to the Interest name in the applications that you are using. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 20, 2017, at 12:05 PM, John Bennedict Lorenzo wrote: > > Hello Spyridon, Thanks for taking the time to respond. I am working on a wireless environment. I'm aware that I can drop duplicate interests that are already existing in the PIT. > > I'd still like the strategy to be aware of which node sent the interest. Is there a way to do this? > > On Tue, Mar 21, 2017 at 2:12 AM, Spyridon (Spyros) Mastorakis > wrote: > Hi, > > your strategy should be able to figure out which faces to send Interests through. However, if you are working on a wireless environment, that might not be feasible, since it heavily depends on the location of the nodes. > > Even if a node receives an Interest that it originally sent, you can always drop it. > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > >> On Mar 19, 2017, at 7:42 AM, John Bennedict Lorenzo > wrote: >> >> Hi, I'm trying to reproduce a paper that did delay tolerant ndn. With my custom strategy, I currently am able to broadcast interests to all nodes that are reachable. How would I prevent interests from being sent back to the node that originally sent it? Thanks! > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Mar 20 13:54:20 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Tue, 21 Mar 2017 00:24:20 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Ashlesh, External application is supposed to send an interest like nlsrc. If advertise/withdraw commands are only accepted in local scope, then ?????how external applications are allowed to express to-be-accepted command interests? https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management ? > Why do you want to use NlsrExec (which is basically NLSR) to send an > advertise/withdraw interest to itself? Mahsa may answer that better since it is her code. But I think it has something to do with complying with local scope, and maybe? avoiding c++ complexities. Thanks, Sabet On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" wrote: nlsrc is separate application than NLSR - has its own face: https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 ?? External application is supposed to send an interest like nlsrc. ?? Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Ashlesh ------------------------------ *From:* Muhammad Hosain Abdollahi Sabet *Sent:* Monday, March 20, 2017 1:53:26 PM *To:* Ashlesh Gawande (agawande) *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani *Subject:* Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, If the face is the problem, so how nlsrc is working? Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? Secondly, if these commands only work in local scope, then no external application may use them for advertising and withdrawing prefixes, right? Thanks, Sabet On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" wrote: > So NLSR is listening for advertise and withdraw interests (on its face to > NFD, ex: face 260). > > An application sends an interest to NFD (on its face to NFD, ex: face 265). > > NFD forwards the interest from the application to NLSR. > > > There should not be any specific face. > > > You can also try to call https://github.com/nam > ed-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/s > rc/update/prefix-update-processor.cpp#L68 > > directly instead of trying to send an interest - if you want to do it from > within NLSR instead (i.e. from NlsrExec). Might have to expose the > function. > > > Ashlesh > ------------------------------ > *From:* Mahsa Aghajani > *Sent:* Monday, March 20, 2017 12:41:51 PM > *To:* Ashlesh Gawande (agawande) > *Cc:* Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > Yes m_face is the face which is passed to NLSR, if the interest for > advertise and withdraw commands should be sent from another face, how > should it be related to NLSR? I mean is there a specific face for these > kind of interest packets? > > On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: > >> Security is off by default in nlsrSIM (https://github.com/3rd-ndn-ha >> ckathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so >> that should not be a problem. >> >> So this m_face, is it the same face that is passed to NLSR? >> >> That may be a problem. Since you are sending the interest out of that >> face and NLSR is listening for request on the same face, NFD would not >> forward the interest back to the same face. Hence interest reject message >> from NFD. >> >> >> Ashlesh >> ------------------------------ >> *From:* Muhammad Hosain Abdollahi Sabet >> *Sent:* Saturday, March 18, 2017 7:08:47 AM >> *To:* Ashlesh Gawande (agawande) >> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >> routers >> >> >> I executed the following code but still after simulation the desired prefix is not in FIB, >> >> according to log, the interest gets rejected. >> >> >> >> void >>> NlsrExec::advertise() >>> { >>> //siteIdentity = ndn::Name(site).appendVersion(); >>> //opIdentity = ndn::Name(siteIdentity).append >>> (ndn::Name(operator)).appendVersion(); >>> std::cout<< "I was called"<>> m_nlsr.getPrefixUpdateProcessor().enable(); >>> ndn::nfd::ControlParameters parameters; >>> parameters.setName("/prefix/to/advertise/"); >>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >>> advertiseCommand.append(parameters.wireEncode()); >>> ndn::Interest advertiseInterest(advertiseCommand); >>> advertiseInterest.setMustBeFresh(true); >>> m_keyChain.sign(advertiseInterest); >>> m_face.expressInterest(advertiseInterest, >>> std::bind([] { }), >>> std::bind([] { })); >>> } >> >> >> >> The log corresponding to node 5 : >> >> 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >>> face=260 interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1% >>> D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A% >>> F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q% >>> EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A% >>> E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99% >>> BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0% >>> 14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q% >>> 0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H% >>> AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD% >>> 81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss >>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1% >>> D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A% >>> F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q% >>> EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A% >>> E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99% >>> BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0% >>> 14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q% >>> 0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H% >>> AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD% >>> 81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss >>> noLinkObject >>> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1% >>> D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A% >>> F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q% >>> EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A% >>> E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99% >>> BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0% >>> 14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q% >>> 0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H% >>> AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD% >>> 81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize >>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1% >>> D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A% >>> F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q% >>> EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A% >>> E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99% >>> BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0% >>> 14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q% >>> 0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H% >>> AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD% >>> 81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 unsatisfied >> >> >> Why is that so? Is it because of the signiture or something? >> >> ?Thanks, >> Sabet? >> >> >> On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < >> agawande at memphis.edu> wrote: >> >>> Yes, receive is just a dummy written for unit testing ( >>> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >>> dummy-client-face.hpp). >>> >>> >>> You would use expressInterest to send an advertise/withdraw request. >>> >>> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) >>> >>> >>> The advertise/withdraw commands are only accepted on localhost ( >>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >>> >>> For example, nlsrc issues an advertise interest to NFD, which gives it >>> to NLSR (since NLSR is listening for it). >>> Then NLSR can respond appropriately. >>> >>> Ashlesh >>> ------------------------------ >>> *From:* Muhammad Hosain Abdollahi Sabet >>> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >>> *To:* Ashlesh Gawande (agawande) >>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>> >>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >>> routers >>> >>> >>> Ashlesh, >>> >>> How about using expressInterest? Does nlsr respond to interest of local >>> scope like nfd? If so, there is no need to have a receive, right? >>> >>> Thanks, >>> Sabet >>> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >>> agawande at memphis.edu> wrote: >>> >>>> 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 >>>> *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" 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 >>>>> 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 withdrawInterest = >>>>> make_shared(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 >>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> ndnSIM mailing list >>>> ndnSIM at lists.cs.ucla.edu >>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>> >>>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Mon Mar 20 14:05:05 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Mon, 20 Mar 2017 21:05:05 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: Oh okay, you mean why only /localhost? Thats because this interest has to be signed by the operator and operators of other sites should not be able to advertise/withdraw prefixes on other routers which they don't have (ssh/machine) access to. I don't know how ndnSIM works but advertise/withdraw would have to be done on a per node level. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet Sent: Monday, March 20, 2017 3:54:20 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, External application is supposed to send an interest like nlsrc. If advertise/withdraw commands are only accepted in local scope, then ?????how external applications are allowed to express to-be-accepted command interests? https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management ? Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Mahsa may answer that better since it is her code. But I think it has something to do with complying with local scope, and maybe? avoiding c++ complexities. Thanks, Sabet On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" > wrote: nlsrc is separate application than NLSR - has its own face: https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 ?? External application is supposed to send an interest like nlsrc. ?? Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Monday, March 20, 2017 1:53:26 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, If the face is the problem, so how nlsrc is working? Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? Secondly, if these commands only work in local scope, then no external application may use them for advertising and withdrawing prefixes, right? Thanks, Sabet On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" > wrote: So NLSR is listening for advertise and withdraw interests (on its face to NFD, ex: face 260). An application sends an interest to NFD (on its face to NFD, ex: face 265). NFD forwards the interest from the application to NLSR. There should not be any specific face. You can also try to call https://github.com/named-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/src/update/prefix-update-processor.cpp#L68 directly instead of trying to send an interest - if you want to do it from within NLSR instead (i.e. from NlsrExec). Might have to expose the function. Ashlesh ________________________________ From: Mahsa Aghajani > Sent: Monday, March 20, 2017 12:41:51 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Yes m_face is the face which is passed to NLSR, if the interest for advertise and withdraw commands should be sent from another face, how should it be related to NLSR? I mean is there a specific face for these kind of interest packets? On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: Security is off by default in nlsrSIM (https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so that should not be a problem. So this m_face, is it the same face that is passed to NLSR? That may be a problem. Since you are sending the interest out of that face and NLSR is listening for request on the same face, NFD would not forward the interest back to the same face. Hence interest reject message from NFD. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Saturday, March 18, 2017 7:08:47 AM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void NlsrExec::advertise() { //siteIdentity = ndn::Name(site).appendVersion(); //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); std::cout<< "I was called"<> wrote: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Mar 20 14:39:57 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Tue, 21 Mar 2017 01:09:57 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Ok. So for now that we have turned off the security, other sites should be able to use advertise/withdraw commands, right? Suppose the simplest topology like: NodeA<------>Router Whether or not NodeA is a router(has nlsr up and running), if NodeA sends advertise/withdraw command interests Router will take appropriate action. But the question is under what prefix NodeA should send its interests? ndn:/nlsr? Or ndn:RouterName/nlsr? If latter, RouterName is name of an application running on Router node, right? Thanks, Sabet ????? ????? ?? ???? On Tue, Mar 21, 2017 at 12:35 AM, Ashlesh Gawande (agawande) < agawande at memphis.edu> wrote: > Oh okay, you mean why only /localhost? > > Thats because this interest has to be signed by the operator and operators > of other sites should not be able to advertise/withdraw prefixes on other > routers which they don't have (ssh/machine) access to. > > > I don't know how ndnSIM works but advertise/withdraw would have to be done > on a per node level. > > > Ashlesh > ------------------------------ > *From:* Muhammad Hosain Abdollahi Sabet > *Sent:* Monday, March 20, 2017 3:54:20 PM > *To:* Ashlesh Gawande (agawande) > *Cc:* Alex Afanasyev; ndnsim; Mahsa Aghajani > > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > Ashlesh, > > > External application is supposed to send an interest like nlsrc. > > > If advertise/withdraw commands are only accepted in local scope, then > ?????how external applications are allowed to express > to-be-accepted command interests? > https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management > > ? > >> Why do you want to use NlsrExec (which is basically NLSR) to send an >> advertise/withdraw interest to itself? > > Mahsa may answer that better since it is her code. But I think it has > something to do with complying with local scope, and maybe? avoiding c++ > complexities. > > Thanks, > Sabet > > > > > On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" < > agawande at memphis.edu> wrote: > > nlsrc is separate application than NLSR - has its own face: > > https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 > > > ?? > External application is supposed to send an interest like nlsrc. > > ?? > Why do you want to use NlsrExec (which is basically NLSR) to send an > advertise/withdraw interest to itself? > > > Ashlesh > ------------------------------ > *From:* Muhammad Hosain Abdollahi Sabet > *Sent:* Monday, March 20, 2017 1:53:26 PM > > *To:* Ashlesh Gawande (agawande) > *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > Ashlesh, > > If the face is the problem, so how nlsrc is working? > Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? > > Secondly, if these commands only work in local scope, then no external > application may use them for advertising and withdrawing prefixes, right? > > Thanks, > Sabet > > On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" > wrote: > >> So NLSR is listening for advertise and withdraw interests (on its face to >> NFD, ex: face 260). >> >> An application sends an interest to NFD (on its face to NFD, ex: >> face 265). >> >> NFD forwards the interest from the application to NLSR. >> >> >> There should not be any specific face. >> >> >> You can also try to call https://github.com/nam >> ed-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/s >> rc/update/prefix-update-processor.cpp#L68 >> >> directly instead of trying to send an interest - if you want to do it >> from within NLSR instead (i.e. from NlsrExec). Might have to expose the >> function. >> >> >> Ashlesh >> ------------------------------ >> *From:* Mahsa Aghajani >> *Sent:* Monday, March 20, 2017 12:41:51 PM >> *To:* Ashlesh Gawande (agawande) >> *Cc:* Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet >> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >> routers >> >> Yes m_face is the face which is passed to NLSR, if the interest for >> advertise and withdraw commands should be sent from another face, how >> should it be related to NLSR? I mean is there a specific face for these >> kind of interest packets? >> >> On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" >> wrote: >> >>> Security is off by default in nlsrSIM (https://github.com/3rd-ndn-ha >>> ckathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so >>> that should not be a problem. >>> >>> So this m_face, is it the same face that is passed to NLSR? >>> >>> That may be a problem. Since you are sending the interest out of that >>> face and NLSR is listening for request on the same face, NFD would not >>> forward the interest back to the same face. Hence interest reject message >>> from NFD. >>> >>> >>> Ashlesh >>> ------------------------------ >>> *From:* Muhammad Hosain Abdollahi Sabet >>> *Sent:* Saturday, March 18, 2017 7:08:47 AM >>> *To:* Ashlesh Gawande (agawande) >>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >>> routers >>> >>> >>> I executed the following code but still after simulation the desired prefix is not in FIB, >>> >>> according to log, the interest gets rejected. >>> >>> >>> >>> void >>>> NlsrExec::advertise() >>>> { >>>> //siteIdentity = ndn::Name(site).appendVersion(); >>>> //opIdentity = ndn::Name(siteIdentity).append >>>> (ndn::Name(operator)).appendVersion(); >>>> std::cout<< "I was called"<>>> m_nlsr.getPrefixUpdateProcessor().enable(); >>>> ndn::nfd::ControlParameters parameters; >>>> parameters.setName("/prefix/to/advertise/"); >>>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >>>> advertiseCommand.append(parameters.wireEncode()); >>>> ndn::Interest advertiseInterest(advertiseCommand); >>>> advertiseInterest.setMustBeFresh(true); >>>> m_keyChain.sign(advertiseInterest); >>>> m_face.expressInterest(advertiseInterest, >>>> std::bind([] { }), >>>> std::bind([] { })); >>>> } >>> >>> >>> >>> The log corresponding to node 5 : >>> >>> 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >>>> face=260 interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7% >>>> C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA >>>> %F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0% >>>> C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD% >>>> 96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14% >>>> BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B% >>>> 25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB% >>>> 11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81% >>>> 91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss >>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7% >>>> C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA >>>> %F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0% >>>> C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD% >>>> 96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14% >>>> BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B% >>>> 25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB% >>>> 11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81% >>>> 91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss >>>> noLinkObject >>>> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7% >>>> C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA >>>> %F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0% >>>> C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD% >>>> 96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14% >>>> BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B% >>>> 25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB% >>>> 11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81% >>>> 91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] onInterestFinalize >>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7% >>>> C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA >>>> %F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0% >>>> C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD% >>>> 96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14% >>>> BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B% >>>> 25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB% >>>> 11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81% >>>> 91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 unsatisfied >>> >>> >>> Why is that so? Is it because of the signiture or something? >>> >>> ?Thanks, >>> Sabet? >>> >>> >>> On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < >>> agawande at memphis.edu> wrote: >>> >>>> Yes, receive is just a dummy written for unit testing ( >>>> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >>>> dummy-client-face.hpp). >>>> >>>> >>>> You would use expressInterest to send an advertise/withdraw request. >>>> >>>> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) >>>> >>>> >>>> The advertise/withdraw commands are only accepted on localhost ( >>>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >>>> >>>> For example, nlsrc issues an advertise interest to NFD, which gives it >>>> to NLSR (since NLSR is listening for it). >>>> Then NLSR can respond appropriately. >>>> >>>> Ashlesh >>>> ------------------------------ >>>> *From:* Muhammad Hosain Abdollahi Sabet >>>> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >>>> *To:* Ashlesh Gawande (agawande) >>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>> >>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>> the routers >>>> >>>> >>>> Ashlesh, >>>> >>>> How about using expressInterest? Does nlsr respond to interest of local >>>> scope like nfd? If so, there is no need to have a receive, right? >>>> >>>> Thanks, >>>> Sabet >>>> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >>>> agawande at memphis.edu> wrote: >>>> >>>>> 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 >>>>> *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" 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 >>>>>> 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/nl >>>>>> sr/prefix-update/withdraw"); >>>>>> withdrawCommand.append(parameters.wireEncode()); >>>>>> >>>>>> shared_ptr withdrawInterest = >>>>>> make_shared(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 >>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> ndnSIM mailing list >>>>> ndnSIM at lists.cs.ucla.edu >>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>> >>>>> >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Mon Mar 20 15:04:36 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Mon, 20 Mar 2017 22:04:36 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: Security turned off means you don't have to setup the signing hierarchy and use the operator's identity to sign the command interest. "NodeA" can send an interest to "Router" to advertise/withdraw but it will be rejected by NFD as the scope is /localhost If you want to advertise/withdraw something from "Router" you would have to do it from the "Router" There is a way to do it: https://redmine.named-data.net/issues/3818 The feature is almost complete. You would have to get the latest NFD in ndnSIM and use this patch for NLSR: https://gerrit.named-data.net/#/c/3617/ But you cannot do it directly from advertise/withdraw - they are to be used by the router's operator and hence are limited to the router by using the /localhost prefix. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet Sent: Monday, March 20, 2017 4:39:57 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ok. So for now that we have turned off the security, other sites should be able to use advertise/withdraw commands, right? Suppose the simplest topology like: NodeA<------>Router Whether or not NodeA is a router(has nlsr up and running), if NodeA sends advertise/withdraw command interests Router will take appropriate action. But the question is under what prefix NodeA should send its interests? ndn:/nlsr? Or ndn:RouterName/nlsr? If latter, RouterName is name of an application running on Router node, right? Thanks, Sabet ????? ????? ?? ???? On Tue, Mar 21, 2017 at 12:35 AM, Ashlesh Gawande (agawande) > wrote: Oh okay, you mean why only /localhost? Thats because this interest has to be signed by the operator and operators of other sites should not be able to advertise/withdraw prefixes on other routers which they don't have (ssh/machine) access to. I don't know how ndnSIM works but advertise/withdraw would have to be done on a per node level. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Monday, March 20, 2017 3:54:20 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, External application is supposed to send an interest like nlsrc. If advertise/withdraw commands are only accepted in local scope, then ?????how external applications are allowed to express to-be-accepted command interests? https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management ? Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Mahsa may answer that better since it is her code. But I think it has something to do with complying with local scope, and maybe? avoiding c++ complexities. Thanks, Sabet On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" > wrote: nlsrc is separate application than NLSR - has its own face: https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 ?? External application is supposed to send an interest like nlsrc. ?? Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Monday, March 20, 2017 1:53:26 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, If the face is the problem, so how nlsrc is working? Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? Secondly, if these commands only work in local scope, then no external application may use them for advertising and withdrawing prefixes, right? Thanks, Sabet On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" > wrote: So NLSR is listening for advertise and withdraw interests (on its face to NFD, ex: face 260). An application sends an interest to NFD (on its face to NFD, ex: face 265). NFD forwards the interest from the application to NLSR. There should not be any specific face. You can also try to call https://github.com/named-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/src/update/prefix-update-processor.cpp#L68 directly instead of trying to send an interest - if you want to do it from within NLSR instead (i.e. from NlsrExec). Might have to expose the function. Ashlesh ________________________________ From: Mahsa Aghajani > Sent: Monday, March 20, 2017 12:41:51 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Yes m_face is the face which is passed to NLSR, if the interest for advertise and withdraw commands should be sent from another face, how should it be related to NLSR? I mean is there a specific face for these kind of interest packets? On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: Security is off by default in nlsrSIM (https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so that should not be a problem. So this m_face, is it the same face that is passed to NLSR? That may be a problem. Since you are sending the interest out of that face and NLSR is listening for request on the same face, NFD would not forward the interest back to the same face. Hence interest reject message from NFD. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Saturday, March 18, 2017 7:08:47 AM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void NlsrExec::advertise() { //siteIdentity = ndn::Name(site).appendVersion(); //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); std::cout<< "I was called"<> wrote: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Mon Mar 20 15:36:04 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Tue, 21 Mar 2017 02:06:04 +0330 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Dear Ashlesh As you said, I directly called the onInterest() function in my code : void > NlsrExec::advertise() > { > std::cout<< "I was called"< m_nlsr.getPrefixUpdateProcessor().enable(); > ndn::nfd::ControlParameters parameters; > parameters.setName("/prefix/to/advertise/"); > ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); > advertiseCommand.append(parameters.wireEncode()); > const ndn::Interest advertiseInterest(advertiseCommand); > > m_nlsr.getPrefixUpdateProcessor().onInterest(advertiseInterest); > } but still there exists an error which shows the app calls advertise function once and then something goes wrong : > > 'build' finished successfully (1m8.006s) > I was called > terminate called after throwing an instance of 'std::bad_weak_ptr' > what(): bad_weak_ptr On Tue, Mar 21, 2017 at 1:09 AM, Muhammad Hosain Abdollahi Sabet < mhasabet at gmail.com> wrote: > Ok. So for now that we have turned off the security, other sites should be > able to use advertise/withdraw commands, right? > > Suppose the simplest topology like: > NodeA<------>Router > Whether or not NodeA is a router(has nlsr up and running), if NodeA sends > advertise/withdraw command interests Router will take appropriate action. > But the question is under what prefix NodeA should send its interests? > ndn:/nlsr? Or ndn:RouterName/nlsr? If latter, RouterName is name of an > application running on Router node, right? > > Thanks, > Sabet > > > ????? ????? > ?? ???? > > On Tue, Mar 21, 2017 at 12:35 AM, Ashlesh Gawande (agawande) < > agawande at memphis.edu> wrote: > >> Oh okay, you mean why only /localhost? >> >> Thats because this interest has to be signed by the operator and >> operators of other sites should not be able to advertise/withdraw prefixes >> on other routers which they don't have (ssh/machine) access to. >> >> >> I don't know how ndnSIM works but advertise/withdraw would have to be >> done on a per node level. >> >> >> Ashlesh >> ------------------------------ >> *From:* Muhammad Hosain Abdollahi Sabet >> *Sent:* Monday, March 20, 2017 3:54:20 PM >> *To:* Ashlesh Gawande (agawande) >> *Cc:* Alex Afanasyev; ndnsim; Mahsa Aghajani >> >> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >> routers >> >> Ashlesh, >> >> >> External application is supposed to send an interest like nlsrc. >> >> >> If advertise/withdraw commands are only accepted in local scope, then >> ?????how external applications are allowed to express >> to-be-accepted command interests? >> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management >> >> ? >> >>> Why do you want to use NlsrExec (which is basically NLSR) to send an >>> advertise/withdraw interest to itself? >> >> Mahsa may answer that better since it is her code. But I think it has >> something to do with complying with local scope, and maybe? avoiding c++ >> complexities. >> >> Thanks, >> Sabet >> >> >> >> >> On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" < >> agawande at memphis.edu> wrote: >> >> nlsrc is separate application than NLSR - has its own face: >> >> https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 >> >> >> ?? >> External application is supposed to send an interest like nlsrc. >> >> ?? >> Why do you want to use NlsrExec (which is basically NLSR) to send an >> advertise/withdraw interest to itself? >> >> >> Ashlesh >> ------------------------------ >> *From:* Muhammad Hosain Abdollahi Sabet >> *Sent:* Monday, March 20, 2017 1:53:26 PM >> >> *To:* Ashlesh Gawande (agawande) >> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >> routers >> >> Ashlesh, >> >> If the face is the problem, so how nlsrc is working? >> Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? >> >> Secondly, if these commands only work in local scope, then no external >> application may use them for advertising and withdrawing prefixes, right? >> >> Thanks, >> Sabet >> >> On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" < >> agawande at memphis.edu> wrote: >> >>> So NLSR is listening for advertise and withdraw interests (on its face >>> to NFD, ex: face 260). >>> >>> An application sends an interest to NFD (on its face to NFD, ex: >>> face 265). >>> >>> NFD forwards the interest from the application to NLSR. >>> >>> >>> There should not be any specific face. >>> >>> >>> You can also try to call https://github.com/nam >>> ed-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/s >>> rc/update/prefix-update-processor.cpp#L68 >>> >>> directly instead of trying to send an interest - if you want to do it >>> from within NLSR instead (i.e. from NlsrExec). Might have to expose the >>> function. >>> >>> >>> Ashlesh >>> ------------------------------ >>> *From:* Mahsa Aghajani >>> *Sent:* Monday, March 20, 2017 12:41:51 PM >>> *To:* Ashlesh Gawande (agawande) >>> *Cc:* Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet >>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >>> routers >>> >>> Yes m_face is the face which is passed to NLSR, if the interest for >>> advertise and withdraw commands should be sent from another face, how >>> should it be related to NLSR? I mean is there a specific face for these >>> kind of interest packets? >>> >>> On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" < >>> agawande at memphis.edu> wrote: >>> >>>> Security is off by default in nlsrSIM (https://github.com/3rd-ndn-ha >>>> ckathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so >>>> that should not be a problem. >>>> >>>> So this m_face, is it the same face that is passed to NLSR? >>>> >>>> That may be a problem. Since you are sending the interest out of that >>>> face and NLSR is listening for request on the same face, NFD would not >>>> forward the interest back to the same face. Hence interest reject message >>>> from NFD. >>>> >>>> >>>> Ashlesh >>>> ------------------------------ >>>> *From:* Muhammad Hosain Abdollahi Sabet >>>> *Sent:* Saturday, March 18, 2017 7:08:47 AM >>>> *To:* Ashlesh Gawande (agawande) >>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>> the routers >>>> >>>> >>>> I executed the following code but still after simulation the desired prefix is not in FIB, >>>> >>>> according to log, the interest gets rejected. >>>> >>>> >>>> >>>> void >>>>> NlsrExec::advertise() >>>>> { >>>>> //siteIdentity = ndn::Name(site).appendVersion(); >>>>> //opIdentity = ndn::Name(siteIdentity).append >>>>> (ndn::Name(operator)).appendVersion(); >>>>> std::cout<< "I was called"<>>>> m_nlsr.getPrefixUpdateProcessor().enable(); >>>>> ndn::nfd::ControlParameters parameters; >>>>> parameters.setName("/prefix/to/advertise/"); >>>>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >>>>> advertiseCommand.append(parameters.wireEncode()); >>>>> ndn::Interest advertiseInterest(advertiseCommand); >>>>> advertiseInterest.setMustBeFresh(true); >>>>> m_keyChain.sign(advertiseInterest); >>>>> m_face.expressInterest(advertiseInterest, >>>>> std::bind([] { }), >>>>> std::bind([] { })); >>>>> } >>>> >>>> >>>> >>>> The log corresponding to node 5 : >>>> >>>> 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >>>>> face=260 interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA% >>>>> F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1 >>>>> %02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96% >>>>> 3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF% >>>>> 2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D% >>>>> 075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4% >>>>> A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B% >>>>> 91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss >>>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA% >>>>> F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1 >>>>> %02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96% >>>>> 3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF% >>>>> 2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D% >>>>> 075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4% >>>>> A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B% >>>>> 91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss >>>>> noLinkObject >>>>> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >>>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA% >>>>> F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1 >>>>> %02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96% >>>>> 3C%F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF% >>>>> 2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D% >>>>> 075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4% >>>>> A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B% >>>>> 91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] >>>>> onInterestFinalize interest=/localhost/nlsr/prefi >>>>> x-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09adver >>>>> tise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05 >>>>> dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/ >>>>> %17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0 >>>>> %14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4 >>>>> %7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA% >>>>> 29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5% >>>>> 28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A >>>>> %0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_ >>>>> %A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0% >>>>> 60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99% >>>>> D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27% >>>>> B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F% >>>>> E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>> unsatisfied >>>> >>>> >>>> Why is that so? Is it because of the signiture or something? >>>> >>>> ?Thanks, >>>> Sabet? >>>> >>>> >>>> On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < >>>> agawande at memphis.edu> wrote: >>>> >>>>> Yes, receive is just a dummy written for unit testing ( >>>>> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >>>>> dummy-client-face.hpp). >>>>> >>>>> >>>>> You would use expressInterest to send an advertise/withdraw request. >>>>> >>>>> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) >>>>> >>>>> >>>>> The advertise/withdraw commands are only accepted on localhost ( >>>>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >>>>> >>>>> For example, nlsrc issues an advertise interest to NFD, which gives it >>>>> to NLSR (since NLSR is listening for it). >>>>> Then NLSR can respond appropriately. >>>>> >>>>> Ashlesh >>>>> ------------------------------ >>>>> *From:* Muhammad Hosain Abdollahi Sabet >>>>> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >>>>> *To:* Ashlesh Gawande (agawande) >>>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>>> >>>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>>> the routers >>>>> >>>>> >>>>> Ashlesh, >>>>> >>>>> How about using expressInterest? Does nlsr respond to interest of >>>>> local scope like nfd? If so, there is no need to have a receive, right? >>>>> >>>>> Thanks, >>>>> Sabet >>>>> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >>>>> agawande at memphis.edu> wrote: >>>>> >>>>>> 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 >>>>>> *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" 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 >>>>>>> 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/nl >>>>>>> sr/prefix-update/withdraw"); >>>>>>> withdrawCommand.append(parameters.wireEncode()); >>>>>>> >>>>>>> shared_ptr withdrawInterest = >>>>>>> make_shared(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 >>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>>> >>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> ndnSIM mailing list >>>>>> ndnSIM at lists.cs.ucla.edu >>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>> >>>>>> >>>> >> > -- Mahsa Aghajani M.Sc. Student Department of Computer Engineering Sharif University of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Tue Mar 21 15:33:08 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Wed, 22 Mar 2017 03:03:08 +0430 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: I also tried to call onCommandValidated function, which is called in the onInterest function, as below and everything went well : void > NlsrExec::advertise() > { > std::cout<< "I was called"< m_nlsr.getPrefixUpdateProcessor().enable(); > > ndn::nfd::ControlParameters parameters; > parameters.setName("/prefix/to/advertise/"); > > ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); > advertiseCommand.append(parameters.wireEncode()); > > std::shared_ptr advertiseInterest = > std::make_shared(advertiseCommand); > > m_nlsr.getPrefixUpdateProcessor().onCommandValidated(advertiseInterest); > } But this is useful for calling advertise from within nlsr application, so it will be called for all of the nodes that nlsr app is installed on them, which is not exactly what I need. Actually I need to call this function, advertise I mean, for some of the nodes, so I should be able to access the app on those nodes and then call advertise functions for those specifics nodes : Simulator::Schedule(Seconds(35.0), advertise, nodes.Get(3)) > > void > advertise(Ptr node) > { > Ptr mynlsrApp = > (*(node)).GetApplication(0)->GetObject(); > mynlsrApp->Advertise(); > } Unfortunatly this codes gives the error : I was called > assert failed. cond="n < m_nodes.size ()", msg="Node index 4294967295 is > out of range (only have 7 nodes).", file=../src/network/model/node-list.cc, > line=209 > terminate called without an active exception I really appreciate helping me get informed why this error rises. On Tue, Mar 21, 2017 at 2:06 AM, Mahsa Aghajani wrote: > Dear Ashlesh > > As you said, I directly called the onInterest() function in my code : > > void >> NlsrExec::advertise() >> { >> std::cout<< "I was called"<> m_nlsr.getPrefixUpdateProcessor().enable(); >> ndn::nfd::ControlParameters parameters; >> parameters.setName("/prefix/to/advertise/"); >> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >> advertiseCommand.append(parameters.wireEncode()); >> const ndn::Interest advertiseInterest(advertiseCommand); >> >> m_nlsr.getPrefixUpdateProcessor().onInterest(advertiseInterest); >> } > > > but still there exists an error which shows the app calls advertise > function once and then something goes wrong : > >> >> 'build' finished successfully (1m8.006s) >> I was called >> terminate called after throwing an instance of 'std::bad_weak_ptr' >> what(): bad_weak_ptr > > > > On Tue, Mar 21, 2017 at 1:09 AM, Muhammad Hosain Abdollahi Sabet < > mhasabet at gmail.com> wrote: > >> Ok. So for now that we have turned off the security, other sites should >> be able to use advertise/withdraw commands, right? >> >> Suppose the simplest topology like: >> NodeA<------>Router >> Whether or not NodeA is a router(has nlsr up and running), if NodeA sends >> advertise/withdraw command interests Router will take appropriate action. >> But the question is under what prefix NodeA should send its interests? >> ndn:/nlsr? Or ndn:RouterName/nlsr? If latter, RouterName is name of an >> application running on Router node, right? >> >> Thanks, >> Sabet >> >> >> ????? ????? >> ?? ???? >> >> On Tue, Mar 21, 2017 at 12:35 AM, Ashlesh Gawande (agawande) < >> agawande at memphis.edu> wrote: >> >>> Oh okay, you mean why only /localhost? >>> >>> Thats because this interest has to be signed by the operator and >>> operators of other sites should not be able to advertise/withdraw prefixes >>> on other routers which they don't have (ssh/machine) access to. >>> >>> >>> I don't know how ndnSIM works but advertise/withdraw would have to be >>> done on a per node level. >>> >>> >>> Ashlesh >>> ------------------------------ >>> *From:* Muhammad Hosain Abdollahi Sabet >>> *Sent:* Monday, March 20, 2017 3:54:20 PM >>> *To:* Ashlesh Gawande (agawande) >>> *Cc:* Alex Afanasyev; ndnsim; Mahsa Aghajani >>> >>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >>> routers >>> >>> Ashlesh, >>> >>> >>> External application is supposed to send an interest like nlsrc. >>> >>> >>> If advertise/withdraw commands are only accepted in local scope, then >>> ?????how external applications are allowed to express >>> to-be-accepted command interests? >>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management >>> >>> ? >>> >>>> Why do you want to use NlsrExec (which is basically NLSR) to send an >>>> advertise/withdraw interest to itself? >>> >>> Mahsa may answer that better since it is her code. But I think it has >>> something to do with complying with local scope, and maybe? avoiding c++ >>> complexities. >>> >>> Thanks, >>> Sabet >>> >>> >>> >>> >>> On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" < >>> agawande at memphis.edu> wrote: >>> >>> nlsrc is separate application than NLSR - has its own face: >>> >>> https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 >>> >>> >>> ?? >>> External application is supposed to send an interest like nlsrc. >>> >>> ?? >>> Why do you want to use NlsrExec (which is basically NLSR) to send an >>> advertise/withdraw interest to itself? >>> >>> >>> Ashlesh >>> ------------------------------ >>> *From:* Muhammad Hosain Abdollahi Sabet >>> *Sent:* Monday, March 20, 2017 1:53:26 PM >>> >>> *To:* Ashlesh Gawande (agawande) >>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of the >>> routers >>> >>> Ashlesh, >>> >>> If the face is the problem, so how nlsrc is working? >>> Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? >>> >>> Secondly, if these commands only work in local scope, then no external >>> application may use them for advertising and withdrawing prefixes, right? >>> >>> Thanks, >>> Sabet >>> >>> On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" < >>> agawande at memphis.edu> wrote: >>> >>>> So NLSR is listening for advertise and withdraw interests (on its face >>>> to NFD, ex: face 260). >>>> >>>> An application sends an interest to NFD (on its face to NFD, ex: >>>> face 265). >>>> >>>> NFD forwards the interest from the application to NLSR. >>>> >>>> >>>> There should not be any specific face. >>>> >>>> >>>> You can also try to call https://github.com/nam >>>> ed-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/s >>>> rc/update/prefix-update-processor.cpp#L68 >>>> >>>> directly instead of trying to send an interest - if you want to do it >>>> from within NLSR instead (i.e. from NlsrExec). Might have to expose the >>>> function. >>>> >>>> >>>> Ashlesh >>>> ------------------------------ >>>> *From:* Mahsa Aghajani >>>> *Sent:* Monday, March 20, 2017 12:41:51 PM >>>> *To:* Ashlesh Gawande (agawande) >>>> *Cc:* Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet >>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>> the routers >>>> >>>> Yes m_face is the face which is passed to NLSR, if the interest for >>>> advertise and withdraw commands should be sent from another face, how >>>> should it be related to NLSR? I mean is there a specific face for these >>>> kind of interest packets? >>>> >>>> On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" < >>>> agawande at memphis.edu> wrote: >>>> >>>>> Security is off by default in nlsrSIM (https://github.com/3rd-ndn-ha >>>>> ckathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so >>>>> that should not be a problem. >>>>> >>>>> So this m_face, is it the same face that is passed to NLSR? >>>>> >>>>> That may be a problem. Since you are sending the interest out of that >>>>> face and NLSR is listening for request on the same face, NFD would not >>>>> forward the interest back to the same face. Hence interest reject message >>>>> from NFD. >>>>> >>>>> >>>>> Ashlesh >>>>> ------------------------------ >>>>> *From:* Muhammad Hosain Abdollahi Sabet >>>>> *Sent:* Saturday, March 18, 2017 7:08:47 AM >>>>> *To:* Ashlesh Gawande (agawande) >>>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>>> the routers >>>>> >>>>> >>>>> I executed the following code but still after simulation the desired prefix is not in FIB, >>>>> >>>>> according to log, the interest gets rejected. >>>>> >>>>> >>>>> >>>>> void >>>>>> NlsrExec::advertise() >>>>>> { >>>>>> //siteIdentity = ndn::Name(site).appendVersion(); >>>>>> //opIdentity = ndn::Name(siteIdentity).append >>>>>> (ndn::Name(operator)).appendVersion(); >>>>>> std::cout<< "I was called"<>>>>> m_nlsr.getPrefixUpdateProcessor().enable(); >>>>>> ndn::nfd::ControlParameters parameters; >>>>>> parameters.setName("/prefix/to/advertise/"); >>>>>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise" >>>>>> ); >>>>>> advertiseCommand.append(parameters.wireEncode()); >>>>>> ndn::Interest advertiseInterest(advertiseCommand); >>>>>> advertiseInterest.setMustBeFresh(true); >>>>>> m_keyChain.sign(advertiseInterest); >>>>>> m_face.expressInterest(advertiseInterest, >>>>>> std::bind([] { }), >>>>>> std::bind([] { })); >>>>>> } >>>>> >>>>> >>>>> >>>>> The log corresponding to node 5 : >>>>> >>>>> 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >>>>>> face=260 interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5% >>>>>> 25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1% >>>>>> 02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C >>>>>> %F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C% >>>>>> FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075 >>>>>> %88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0% >>>>>> DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91% >>>>>> 9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss >>>>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5% >>>>>> 25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1% >>>>>> 02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C >>>>>> %F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C% >>>>>> FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075 >>>>>> %88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0% >>>>>> DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91% >>>>>> 9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss >>>>>> noLinkObject >>>>>> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >>>>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5% >>>>>> 25%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1% >>>>>> 02%EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C >>>>>> %F5%86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C% >>>>>> FB%A7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075 >>>>>> %88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0% >>>>>> DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91% >>>>>> 9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] >>>>>> onInterestFinalize interest=/localhost/nlsr/prefi >>>>>> x-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09adver >>>>>> tise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05 >>>>>> dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/ >>>>>> %17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0 >>>>>> %14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4 >>>>>> %7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA% >>>>>> 29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28 >>>>>> %7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A% >>>>>> 0F%93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_% >>>>>> A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60% >>>>>> E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4% >>>>>> 018%A8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I >>>>>> %DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0% >>>>>> 9546%25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>> unsatisfied >>>>> >>>>> >>>>> Why is that so? Is it because of the signiture or something? >>>>> >>>>> ?Thanks, >>>>> Sabet? >>>>> >>>>> >>>>> On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < >>>>> agawande at memphis.edu> wrote: >>>>> >>>>>> Yes, receive is just a dummy written for unit testing ( >>>>>> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >>>>>> dummy-client-face.hpp). >>>>>> >>>>>> >>>>>> You would use expressInterest to send an advertise/withdraw request. >>>>>> >>>>>> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) >>>>>> >>>>>> >>>>>> The advertise/withdraw commands are only accepted on localhost ( >>>>>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >>>>>> >>>>>> For example, nlsrc issues an advertise interest to NFD, which gives >>>>>> it to NLSR (since NLSR is listening for it). >>>>>> Then NLSR can respond appropriately. >>>>>> >>>>>> Ashlesh >>>>>> ------------------------------ >>>>>> *From:* Muhammad Hosain Abdollahi Sabet >>>>>> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >>>>>> *To:* Ashlesh Gawande (agawande) >>>>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>>>> >>>>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>>>> the routers >>>>>> >>>>>> >>>>>> Ashlesh, >>>>>> >>>>>> How about using expressInterest? Does nlsr respond to interest of >>>>>> local scope like nfd? If so, there is no need to have a receive, right? >>>>>> >>>>>> Thanks, >>>>>> Sabet >>>>>> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >>>>>> agawande at memphis.edu> wrote: >>>>>> >>>>>>> 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 >>>>>>> *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" 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> 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/nl >>>>>>>> sr/prefix-update/withdraw"); >>>>>>>> withdrawCommand.append(parameters.wireEncode()); >>>>>>>> >>>>>>>> shared_ptr withdrawInterest = >>>>>>>> make_shared(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 >>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> ndnSIM mailing list >>>>>>> ndnSIM at lists.cs.ucla.edu >>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>>> >>>>>>> >>>>> >>> >> > > > -- > > Mahsa Aghajani > M.Sc. Student > Department of Computer Engineering > Sharif University of Technology > > -- Mahsa Aghajani M.Sc. Student Department of Computer Engineering Sharif University of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From agawande at memphis.edu Tue Mar 21 16:25:34 2017 From: agawande at memphis.edu (Ashlesh Gawande (agawande)) Date: Tue, 21 Mar 2017 23:25:34 +0000 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> , Message-ID: I am not familiar with ndnSIM. But sounds like you install NLSR app on every node (or rather ndnSIM-NLSR does). Why not install an nlsrc like app (separate from NLSR) only on the nodes where you want to advertise prefixes? Ashlesh ________________________________ From: Mahsa Aghajani Sent: Tuesday, March 21, 2017 5:33:08 PM To: Muhammad Hosain Abdollahi Sabet Cc: Ashlesh Gawande (agawande); Alex Afanasyev; ndnsim Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I also tried to call onCommandValidated function, which is called in the onInterest function, as below and everything went well : void NlsrExec::advertise() { std::cout<< "I was called"< advertiseInterest = std::make_shared(advertiseCommand); m_nlsr.getPrefixUpdateProcessor().onCommandValidated(advertiseInterest); } But this is useful for calling advertise from within nlsr application, so it will be called for all of the nodes that nlsr app is installed on them, which is not exactly what I need. Actually I need to call this function, advertise I mean, for some of the nodes, so I should be able to access the app on those nodes and then call advertise functions for those specifics nodes : Simulator::Schedule(Seconds(35.0), advertise, nodes.Get(3)) void advertise(Ptr node) { Ptr mynlsrApp = (*(node)).GetApplication(0)->GetObject(); mynlsrApp->Advertise(); } Unfortunatly this codes gives the error : I was called assert failed. cond="n < m_nodes.size ()", msg="Node index 4294967295 is out of range (only have 7 nodes).", file=../src/network/model/node-list.cc, line=209 terminate called without an active exception I really appreciate helping me get informed why this error rises. On Tue, Mar 21, 2017 at 2:06 AM, Mahsa Aghajani > wrote: Dear Ashlesh As you said, I directly called the onInterest() function in my code : void NlsrExec::advertise() { std::cout<< "I was called"<> wrote: Ok. So for now that we have turned off the security, other sites should be able to use advertise/withdraw commands, right? Suppose the simplest topology like: NodeA<------>Router Whether or not NodeA is a router(has nlsr up and running), if NodeA sends advertise/withdraw command interests Router will take appropriate action. But the question is under what prefix NodeA should send its interests? ndn:/nlsr? Or ndn:RouterName/nlsr? If latter, RouterName is name of an application running on Router node, right? Thanks, Sabet ????? ????? ?? ???? On Tue, Mar 21, 2017 at 12:35 AM, Ashlesh Gawande (agawande) > wrote: Oh okay, you mean why only /localhost? Thats because this interest has to be signed by the operator and operators of other sites should not be able to advertise/withdraw prefixes on other routers which they don't have (ssh/machine) access to. I don't know how ndnSIM works but advertise/withdraw would have to be done on a per node level. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Monday, March 20, 2017 3:54:20 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, External application is supposed to send an interest like nlsrc. If advertise/withdraw commands are only accepted in local scope, then how external applications are allowed to express to-be-accepted command interests? https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Mahsa may answer that better since it is her code. But I think it has something to do with complying with local scope, and maybe avoiding c++ complexities. Thanks, Sabet On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" > wrote: nlsrc is separate application than NLSR - has its own face: https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 External application is supposed to send an interest like nlsrc. Why do you want to use NlsrExec (which is basically NLSR) to send an advertise/withdraw interest to itself? Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Monday, March 20, 2017 1:53:26 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, If the face is the problem, so how nlsrc is working? Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? Secondly, if these commands only work in local scope, then no external application may use them for advertising and withdrawing prefixes, right? Thanks, Sabet On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" > wrote: So NLSR is listening for advertise and withdraw interests (on its face to NFD, ex: face 260). An application sends an interest to NFD (on its face to NFD, ex: face 265). NFD forwards the interest from the application to NLSR. There should not be any specific face. You can also try to call https://github.com/named-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/src/update/prefix-update-processor.cpp#L68 directly instead of trying to send an interest - if you want to do it from within NLSR instead (i.e. from NlsrExec). Might have to expose the function. Ashlesh ________________________________ From: Mahsa Aghajani > Sent: Monday, March 20, 2017 12:41:51 PM To: Ashlesh Gawande (agawande) Cc: Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Yes m_face is the face which is passed to NLSR, if the interest for advertise and withdraw commands should be sent from another face, how should it be related to NLSR? I mean is there a specific face for these kind of interest packets? On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" > wrote: Security is off by default in nlsrSIM (https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so that should not be a problem. So this m_face, is it the same face that is passed to NLSR? That may be a problem. Since you are sending the interest out of that face and NLSR is listening for request on the same face, NFD would not forward the interest back to the same face. Hence interest reject message from NFD. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Saturday, March 18, 2017 7:08:47 AM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers I executed the following code but still after simulation the desired prefix is not in FIB, according to log, the interest gets rejected. void NlsrExec::advertise() { //siteIdentity = ndn::Name(site).appendVersion(); //opIdentity = ndn::Name(siteIdentity).append(ndn::Name(operator)).appendVersion(); std::cout<< "I was called"<> wrote: Yes, receive is just a dummy written for unit testing (https://github.com/named-data/ndn-cxx/blob/master/src/util/dummy-client-face.hpp). You would use expressInterest to send an advertise/withdraw request. (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158) The advertise/withdraw commands are only accepted on localhost (https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). For example, nlsrc issues an advertise interest to NFD, which gives it to NLSR (since NLSR is listening for it). Then NLSR can respond appropriately. Ashlesh ________________________________ From: Muhammad Hosain Abdollahi Sabet > Sent: Tuesday, March 7, 2017 1:04:04 PM To: Ashlesh Gawande (agawande) Cc: ndnsim; Alex Afanasyev; Mahsa Aghajani Subject: Re: [ndnSIM] Question about updating name prefix list of the routers Ashlesh, How about using expressInterest? Does nlsr respond to interest of local scope like nfd? If so, there is no need to have a receive, right? Thanks, Sabet On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" > wrote: 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 > 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" > 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 > 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 withdrawInterest = make_shared(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 http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim _______________________________________________ ndnSIM mailing list ndnSIM at lists.cs.ucla.edu http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -- Mahsa Aghajani M.Sc. Student Department of Computer Engineering Sharif University of Technology -- Mahsa Aghajani M.Sc. Student Department of Computer Engineering Sharif University of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Wed Mar 22 00:23:25 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Wed, 22 Mar 2017 11:53:25 +0430 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Ashlesh, I have installed a simple app on one router node just for expressing the advertise command interest as follows: auto advertiseCommand = make_shared(); Name command = Name("/localhost/nlsr/prefix-update/advertise"); ndn::nfd::ControlParameters parameters; parameters.setName(Name("updated-prefix")); advertiseCommand->setName(command.append(parameters.wireEncode())); m_transmittedInterests(advertiseCommand,this,m_face); m_appLink->onReceiveInterest(*advertiseCommand); The last 2 lines are for ndnSIM applications. They basically send packet on wire. For this I have: 6s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest > face=261 interest=/localhost/nlsr/prefix-update/advertise/h%12% > 07%10%08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss > interest=/localhost/nlsr/prefix-update/advertise/h%12% > 07%10%08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss > noLinkObject > 6s 2 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest > face=260 interest=/localhost/nlsr/prefix-update/advertise/h%12% > 07%10%08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData face=260 > data=/localhost/nlsr/prefix-update/advertise/h%12%07%10% > 08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData > matching=/localhost/nlsr/prefix-update/advertise/h%12% > 07%10%08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onOutgoingData(): [DEBUG] onOutgoingData face=261 > data=/localhost/nlsr/prefix-update/advertise/h%12%07%10% > 08%0Eupdated-prefix > But just after that: > terminate called after throwing an instance of 'boost::exception_detail:: > clone_impl > >' > what(): Name component does not have the requested marker or the value > is not a nonNegativeInteger > And it seems it has nothing to do with encoding. I have tried without encoding, but the error is the same. Also tried with ndn::name instead of controlparameters, but again the same error comes up. There is no other application on node 2 but nlsr; I appreciate your help. Thanks, Sabet On Wed, Mar 22, 2017 at 3:55 AM, Ashlesh Gawande (agawande) < agawande at memphis.edu> wrote: > I am not familiar with ndnSIM. > > But sounds like you install NLSR app on every node (or rather ndnSIM-NLSR > does). > > Why not install an nlsrc like app (separate from NLSR) only on the nodes > where you want to advertise prefixes? > > > Ashlesh > > ------------------------------ > *From:* Mahsa Aghajani > *Sent:* Tuesday, March 21, 2017 5:33:08 PM > *To:* Muhammad Hosain Abdollahi Sabet > *Cc:* Ashlesh Gawande (agawande); Alex Afanasyev; ndnsim > > *Subject:* Re: [ndnSIM] Question about updating name prefix list of the > routers > > I also tried to call onCommandValidated function, which is called in the > onInterest function, > as below and everything went well : > > void >> NlsrExec::advertise() >> { >> > std::cout<< "I was called"< >> m_nlsr.getPrefixUpdateProcessor().enable(); >> >> ndn::nfd::ControlParameters parameters; >> parameters.setName("/prefix/to/advertise/"); >> >> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >> advertiseCommand.append(parameters.wireEncode()); >> >> std::shared_ptr advertiseInterest = >> std::make_shared(advertiseCommand); >> >> m_nlsr.getPrefixUpdateProcessor().onCommandValidated(advert >> iseInterest); >> } > > > But this is useful for calling advertise from within nlsr application, so > it will be called > for all of the nodes that nlsr app is installed on them, which is not > exactly what I need. > > Actually I need to call this function, advertise I mean, for some of the > nodes, so I should be able to > access the app on those nodes and then call advertise functions for those > specifics nodes : > > Simulator::Schedule(Seconds(35.0), advertise, nodes.Get(3)) >> >> void >> advertise(Ptr node) >> { >> Ptr mynlsrApp = (*(node)).GetApplication(0)->G >> etObject(); >> mynlsrApp->Advertise(); >> } > > > Unfortunatly this codes gives the error : > > I was called >> assert failed. cond="n < m_nodes.size ()", msg="Node index 4294967295 is >> out of range (only have 7 nodes).", file=../src/network/model/node-list.cc, >> line=209 >> terminate called without an active exception > > > > I really appreciate helping me get informed why this error rises. > > On Tue, Mar 21, 2017 at 2:06 AM, Mahsa Aghajani > wrote: > >> Dear Ashlesh >> >> As you said, I directly called the onInterest() function in my code : >> >> void >>> NlsrExec::advertise() >>> { >>> std::cout<< "I was called"<>> m_nlsr.getPrefixUpdateProcessor().enable(); >>> ndn::nfd::ControlParameters parameters; >>> parameters.setName("/prefix/to/advertise/"); >>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise"); >>> advertiseCommand.append(parameters.wireEncode()); >>> const ndn::Interest advertiseInterest(advertiseCommand); >>> >>> m_nlsr.getPrefixUpdateProcessor().onInterest(advertiseInterest); >>> } >> >> >> but still there exists an error which shows the app calls advertise >> function once and then something goes wrong : >> >>> >>> 'build' finished successfully (1m8.006s) >>> I was called >>> terminate called after throwing an instance of 'std::bad_weak_ptr' >>> what(): bad_weak_ptr >> >> >> >> On Tue, Mar 21, 2017 at 1:09 AM, Muhammad Hosain Abdollahi Sabet < >> mhasabet at gmail.com> wrote: >> >>> Ok. So for now that we have turned off the security, other sites should >>> be able to use advertise/withdraw commands, right? >>> >>> Suppose the simplest topology like: >>> NodeA<------>Router >>> Whether or not NodeA is a router(has nlsr up and running), if NodeA >>> sends advertise/withdraw command interests Router will take appropriate >>> action. But the question is under what prefix NodeA should send its >>> interests? ndn:/nlsr? Or ndn:RouterName/nlsr? If latter, RouterName is name >>> of an application running on Router node, right? >>> >>> Thanks, >>> Sabet >>> >>> >>> ????? ????? >>> ?? ???? >>> >>> On Tue, Mar 21, 2017 at 12:35 AM, Ashlesh Gawande (agawande) < >>> agawande at memphis.edu> wrote: >>> >>>> Oh okay, you mean why only /localhost? >>>> >>>> Thats because this interest has to be signed by the operator and >>>> operators of other sites should not be able to advertise/withdraw prefixes >>>> on other routers which they don't have (ssh/machine) access to. >>>> >>>> >>>> I don't know how ndnSIM works but advertise/withdraw would have to be >>>> done on a per node level. >>>> >>>> >>>> Ashlesh >>>> ------------------------------ >>>> *From:* Muhammad Hosain Abdollahi Sabet >>>> *Sent:* Monday, March 20, 2017 3:54:20 PM >>>> *To:* Ashlesh Gawande (agawande) >>>> *Cc:* Alex Afanasyev; ndnsim; Mahsa Aghajani >>>> >>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>> the routers >>>> >>>> Ashlesh, >>>> >>>> >>>> External application is supposed to send an interest like nlsrc. >>>> >>>> >>>> If advertise/withdraw commands are only accepted in local scope, then >>>> how external applications are allowed to express to-be-accepted command >>>> interests? >>>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management >>>> >>>> Why do you want to use NlsrExec (which is basically NLSR) to send an >>>>> advertise/withdraw interest to itself? >>>> >>>> Mahsa may answer that better since it is her code. But I think it has >>>> something to do with complying with local scope, and maybe avoiding c++ >>>> complexities. >>>> >>>> Thanks, >>>> Sabet >>>> >>>> >>>> >>>> >>>> On 20 Mar 2017 10:51 pm, "Ashlesh Gawande (agawande)" < >>>> agawande at memphis.edu> wrote: >>>> >>>> nlsrc is separate application than NLSR - has its own face: >>>> >>>> https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L368 >>>> >>>> >>>> External application is supposed to send an interest like nlsrc. >>>> >>>> Why do you want to use NlsrExec (which is basically NLSR) to send an >>>> advertise/withdraw interest to itself? >>>> >>>> >>>> Ashlesh >>>> ------------------------------ >>>> *From:* Muhammad Hosain Abdollahi Sabet >>>> *Sent:* Monday, March 20, 2017 1:53:26 PM >>>> >>>> *To:* Ashlesh Gawande (agawande) >>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>> the routers >>>> >>>> Ashlesh, >>>> >>>> If the face is the problem, so how nlsrc is working? >>>> Nlsrc::sendNamePrefixUpdate uses another face for expressing interest? >>>> >>>> Secondly, if these commands only work in local scope, then no external >>>> application may use them for advertising and withdrawing prefixes, right? >>>> >>>> Thanks, >>>> Sabet >>>> >>>> On 20 Mar 2017 9:31 pm, "Ashlesh Gawande (agawande)" < >>>> agawande at memphis.edu> wrote: >>>> >>>>> So NLSR is listening for advertise and withdraw interests (on its face >>>>> to NFD, ex: face 260). >>>>> >>>>> An application sends an interest to NFD (on its face to NFD, ex: >>>>> face 265). >>>>> >>>>> NFD forwards the interest from the application to NLSR. >>>>> >>>>> >>>>> There should not be any specific face. >>>>> >>>>> >>>>> You can also try to call https://github.com/nam >>>>> ed-data/NLSR/blob/feae5574b8b62ca2dff9991d8bacab48e4737b6a/s >>>>> rc/update/prefix-update-processor.cpp#L68 >>>>> >>>>> directly instead of trying to send an interest - if you want to do it >>>>> from within NLSR instead (i.e. from NlsrExec). Might have to expose the >>>>> function. >>>>> >>>>> >>>>> Ashlesh >>>>> ------------------------------ >>>>> *From:* Mahsa Aghajani >>>>> *Sent:* Monday, March 20, 2017 12:41:51 PM >>>>> *To:* Ashlesh Gawande (agawande) >>>>> *Cc:* Alex Afanasyev; ndnsim; Muhammad Hosain Abdollahi Sabet >>>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>>> the routers >>>>> >>>>> Yes m_face is the face which is passed to NLSR, if the interest for >>>>> advertise and withdraw commands should be sent from another face, how >>>>> should it be related to NLSR? I mean is there a specific face for these >>>>> kind of interest packets? >>>>> >>>>> On Mar 20, 2017 18:02, "Ashlesh Gawande (agawande)" < >>>>> agawande at memphis.edu> wrote: >>>>> >>>>>> Security is off by default in nlsrSIM (https://github.com/3rd-ndn-ha >>>>>> ckathon/ndnSIM-NLSR/blob/master/examples/ndn-nlsr-confgen.cpp#L405), so >>>>>> that should not be a problem. >>>>>> >>>>>> So this m_face, is it the same face that is passed to NLSR? >>>>>> >>>>>> That may be a problem. Since you are sending the interest out of that >>>>>> face and NLSR is listening for request on the same face, NFD would not >>>>>> forward the interest back to the same face. Hence interest reject message >>>>>> from NFD. >>>>>> >>>>>> >>>>>> Ashlesh >>>>>> ------------------------------ >>>>>> *From:* Muhammad Hosain Abdollahi Sabet >>>>>> *Sent:* Saturday, March 18, 2017 7:08:47 AM >>>>>> *To:* Ashlesh Gawande (agawande) >>>>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>>>> the routers >>>>>> >>>>>> >>>>>> I executed the following code but still after simulation the desired prefix is not in FIB, >>>>>> >>>>>> according to log, the interest gets rejected. >>>>>> >>>>>> >>>>>> >>>>>> void >>>>>>> NlsrExec::advertise() >>>>>>> { >>>>>>> //siteIdentity = ndn::Name(site).appendVersion(); >>>>>>> //opIdentity = ndn::Name(siteIdentity).append >>>>>>> (ndn::Name(operator)).appendVersion(); >>>>>>> std::cout<< "I was called"<>>>>>> m_nlsr.getPrefixUpdateProcessor().enable(); >>>>>>> ndn::nfd::ControlParameters parameters; >>>>>>> parameters.setName("/prefix/to/advertise/"); >>>>>>> ndn::Name advertiseCommand("/localhost/nlsr/prefix-update/advertise" >>>>>>> ); >>>>>>> advertiseCommand.append(parameters.wireEncode()); >>>>>>> ndn::Interest advertiseInterest(advertiseCommand); >>>>>>> advertiseInterest.setMustBeFresh(true); >>>>>>> m_keyChain.sign(advertiseInterest); >>>>>>> m_face.expressInterest(advertiseInterest, >>>>>>> std::bind([] { }), >>>>>>> std::bind([] { })); >>>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> The log corresponding to node 5 : >>>>>> >>>>>> 31s 5 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest >>>>>>> face=260 interest=/localhost/nlsr/prefi >>>>>>> x-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09adver >>>>>>> tise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05 >>>>>>> dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/ >>>>>>> %17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0 >>>>>>> %14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4 >>>>>>> %7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA% >>>>>>> 29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28 >>>>>>> %7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F% >>>>>>> 93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8% >>>>>>> D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >>>>>>> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A >>>>>>> 8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B >>>>>>> 8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>>>>>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [DEBUG] >>>>>>> onContentStoreMiss interest=/localhost/nlsr/prefi >>>>>>> x-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09adver >>>>>>> tise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05 >>>>>>> dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/ >>>>>>> %17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0 >>>>>>> %14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4 >>>>>>> %7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA% >>>>>>> 29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28 >>>>>>> %7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F% >>>>>>> 93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8% >>>>>>> D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >>>>>>> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A >>>>>>> 8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B >>>>>>> 8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>>>>>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>>> 31s 5 nfd.Forwarder:onContentStoreMiss(): [LOGIC] >>>>>>> onContentStoreMiss noLinkObject >>>>>>> 31s 5 nfd.Forwarder:onInterestReject(): [DEBUG] onInterestReject >>>>>>> interest=/localhost/nlsr/prefix-update/advertise/h%19%07%17% >>>>>>> 08%06prefix%08%02to%08%09advertise/y%18/%AB%DD%9E%8EO%EAQ%27 >>>>>>> /%164%1B%01%01%1C%2F%07-%08%05dummy%08%03key%08%03KEY%08%11k >>>>>>> sk-1418600391050%08%07ID-CERT/%17%FD%01%00%93%15%09Iy%9E%B7% >>>>>>> 9C%D3%C1%BFa%89%D5%D9%CA%F2%B0%14%AEr%7C%1F%8F%F5%B1p%D6%9B% >>>>>>> 8F%F8%D7-%BC%92o%7Dw%96F%EA%D4%7D%90%BCz%EB%E2%03%93%B1%D2b% >>>>>>> EC%9D%FF%9C%9C%2A%14%7D%23%CA%29%3D%15%1A%40B%2CY3%8A%F7%C0k >>>>>>> %C4%9C%F3%C4%99%A4%1A%60%F5%28%7DL%EFC%7D%BD%7D%00Q%EEA%F5%2 >>>>>>> 5%80%CE%E6dOuT%F3%B2%99%9A%0F%93%9A%28%1D%FE%12%8A%E0%C1%02% >>>>>>> EB%A45R%88%ACD%1AD%82%97O_%A8%D8%9Fg8%A8d%B6b%99%BD%96%3C%F5 >>>>>>> %86%09%5C%97k%8F%AE%E0%60%E7%23%98j%EE%C1%B0%14%BEF%2C%FB%A >>>>>>> 7%27s%E4%F3%263%BA%99%D4%018%A8%F2%9E%87%E0q%0B%25D%075%88%A >>>>>>> Bg%27V%0E%B5%B5%E8%27%B4I%DC%B8H1%FF%99H%AB%11%B4%A0%DF%8Am% >>>>>>> FFCi2%A7%BCc%9D%0F%E0%9546%25K%3E6%BD%81%91%0B%91%9F%3A%0 >>>>>>> 4%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>>> 31.1s 5 nfd.Forwarder:onInterestFinalize(): [DEBUG] >>>>>>> onInterestFinalize interest=/localhost/nlsr/prefi >>>>>>> x-update/advertise/h%19%07%17%08%06prefix%08%02to%08%09adver >>>>>>> tise/y%18/%AB%DD%9E%8EO%EAQ%27/%164%1B%01%01%1C%2F%07-%08%05 >>>>>>> dummy%08%03key%08%03KEY%08%11ksk-1418600391050%08%07ID-CERT/ >>>>>>> %17%FD%01%00%93%15%09Iy%9E%B7%9C%D3%C1%BFa%89%D5%D9%CA%F2%B0 >>>>>>> %14%AEr%7C%1F%8F%F5%B1p%D6%9B%8F%F8%D7-%BC%92o%7Dw%96F%EA%D4 >>>>>>> %7D%90%BCz%EB%E2%03%93%B1%D2b%EC%9D%FF%9C%9C%2A%14%7D%23%CA% >>>>>>> 29%3D%15%1A%40B%2CY3%8A%F7%C0k%C4%9C%F3%C4%99%A4%1A%60%F5%28 >>>>>>> %7DL%EFC%7D%BD%7D%00Q%EEA%F5%25%80%CE%E6dOuT%F3%B2%99%9A%0F% >>>>>>> 93%9A%28%1D%FE%12%8A%E0%C1%02%EB%A45R%88%ACD%1AD%82%97O_%A8% >>>>>>> D8%9Fg8%A8d%B6b%99%BD%96%3C%F5%86%09%5C%97k%8F%AE%E0%60%E7% >>>>>>> 23%98j%EE%C1%B0%14%BEF%2C%FB%A7%27s%E4%F3%263%BA%99%D4%018%A >>>>>>> 8%F2%9E%87%E0q%0B%25D%075%88%ABg%27V%0E%B5%B5%E8%27%B4I%DC%B >>>>>>> 8H1%FF%99H%AB%11%B4%A0%DF%8Am%FFCi2%A7%BCc%9D%0F%E0%9546% >>>>>>> 25K%3E6%BD%81%91%0B%91%9F%3A%04%A2D%28%19%A18%21O%25Y%8AH%C2 >>>>>>> unsatisfied >>>>>> >>>>>> >>>>>> Why is that so? Is it because of the signiture or something? >>>>>> >>>>>> Thanks, >>>>>> Sabet >>>>>> >>>>>> >>>>>> On Tue, Mar 7, 2017 at 10:40 PM, Ashlesh Gawande (agawande) < >>>>>> agawande at memphis.edu> wrote: >>>>>> >>>>>>> Yes, receive is just a dummy written for unit testing ( >>>>>>> https://github.com/named-data/ndn-cxx/blob/master/src/util/ >>>>>>> dummy-client-face.hpp). >>>>>>> >>>>>>> >>>>>>> You would use expressInterest to send an advertise/withdraw request. >>>>>>> >>>>>>> (https://github.com/named-data/NLSR/blob/master/tools/nlsrc.cpp#L158 >>>>>>> ) >>>>>>> >>>>>>> >>>>>>> The advertise/withdraw commands are only accepted on localhost ( >>>>>>> https://redmine.named-data.net/projects/nlsr/wiki/NLSR_Management). >>>>>>> >>>>>>> For example, nlsrc issues an advertise interest to NFD, which gives >>>>>>> it to NLSR (since NLSR is listening for it). >>>>>>> Then NLSR can respond appropriately. >>>>>>> >>>>>>> Ashlesh >>>>>>> ------------------------------ >>>>>>> *From:* Muhammad Hosain Abdollahi Sabet >>>>>>> *Sent:* Tuesday, March 7, 2017 1:04:04 PM >>>>>>> *To:* Ashlesh Gawande (agawande) >>>>>>> *Cc:* ndnsim; Alex Afanasyev; Mahsa Aghajani >>>>>>> >>>>>>> *Subject:* Re: [ndnSIM] Question about updating name prefix list of >>>>>>> the routers >>>>>>> >>>>>>> >>>>>>> Ashlesh, >>>>>>> >>>>>>> How about using expressInterest? Does nlsr respond to interest of >>>>>>> local scope like nfd? If so, there is no need to have a receive, right? >>>>>>> >>>>>>> Thanks, >>>>>>> Sabet >>>>>>> On Mar 6, 2017 10:48 PM, "Ashlesh Gawande (agawande)" < >>>>>>> agawande at memphis.edu> wrote: >>>>>>> >>>>>>>> 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 >>>>>>>> *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" 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> 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/nl >>>>>>>>> sr/prefix-update/withdraw"); >>>>>>>>> withdrawCommand.append(parameters.wireEncode()); >>>>>>>>> >>>>>>>>> shared_ptr withdrawInterest = >>>>>>>>> make_shared(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 >>>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> ndnSIM mailing list >>>>>>>> ndnSIM at lists.cs.ucla.edu >>>>>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>>>>>>> >>>>>>>> >>>>>> >>>> >>> >> >> >> -- >> >> Mahsa Aghajani >> M.Sc. Student >> Department of Computer Engineering >> Sharif University of Technology >> >> > > > -- > > Mahsa Aghajani > M.Sc. Student > Department of Computer Engineering > Sharif University of Technology > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Wed Mar 22 03:14:21 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Wed, 22 Mar 2017 05:14:21 -0500 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: Hi Sabet This log confirms NLSR has received the Interest. However, the Interest is malformed: it should be a Command Interest which has four more components, but they are missing because you forgot to sign the Interest via KeyChain. Also, next time you report a crash (including "terminate called ..."), be sure to include a stack trace. See http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html Yours, Junxiao On Mar 22, 2017 02:24, "Muhammad Hosain Abdollahi Sabet" wrote: Ashlesh, I have installed a simple app on one router node just for expressing the advertise command interest as follows: auto advertiseCommand = make_shared(); Name command = Name("/localhost/nlsr/prefix-update/advertise"); ndn::nfd::ControlParameters parameters; parameters.setName(Name("updated-prefix")); advertiseCommand->setName(command.append(parameters.wireEncode())); m_transmittedInterests(advertiseCommand,this,m_face); m_appLink->onReceiveInterest(*advertiseCommand); The last 2 lines are for ndnSIM applications. They basically send packet on wire. For this I have: 6s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest > face=261 interest=/localhost/nlsr/prefix-update/advertise/h%12%07%10% > 08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onContentStoreMiss(): [DEBUG] onContentStoreMiss > interest=/localhost/nlsr/prefix-update/advertise/h%12%07%10% > 08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onContentStoreMiss(): [LOGIC] onContentStoreMiss > noLinkObject > 6s 2 nfd.Forwarder:onOutgoingInterest(): [DEBUG] onOutgoingInterest > face=260 interest=/localhost/nlsr/prefix-update/advertise/h%12%07%10% > 08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData face=260 > data=/localhost/nlsr/prefix-update/advertise/h%12%07%10%08% > 0Eupdated-prefix > 6s 2 nfd.Forwarder:onIncomingData(): [DEBUG] onIncomingData > matching=/localhost/nlsr/prefix-update/advertise/h%12%07%10% > 08%0Eupdated-prefix > 6s 2 nfd.Forwarder:onOutgoingData(): [DEBUG] onOutgoingData face=261 > data=/localhost/nlsr/prefix-update/advertise/h%12%07%10%08% > 0Eupdated-prefix > But just after that: > terminate called after throwing an instance of > 'boost::exception_detail::clone_impl ::error_info_injector >' > what(): Name component does not have the requested marker or the value > is not a nonNegativeInteger > And it seems it has nothing to do with encoding. I have tried without encoding, but the error is the same. Also tried with ndn::name instead of controlparameters, but again the same error comes up. There is no other application on node 2 but nlsr; I appreciate your help. Thanks, Sabet -------------- next part -------------- An HTML attachment was scrubbed... URL: From marahman at email.arizona.edu Wed Mar 22 08:03:39 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Wed, 22 Mar 2017 08:03:39 -0700 Subject: [ndnSIM] Help: Wifi-AP with wired topology (Md Ashiqur (Ashiq) Rahman) Message-ID: I'm wondering how do we set different apps in ndnSIM for simulating in wifi infrastructure mode like- ftp, streaming, web etc. Also, I am currently observing that the AP forwarder doesn't forward interest unless association is done. So, currently here's my observation from my implementation- if in intersection point of 2 APs range, both APs will forward interest from consumer towards nearest junction between path to producer and both APs will broadcast the data packet. Is there a way to isolate this and allow only one AP to forward interest and broadcast data packet back? Regards- Ashiq -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Wed Mar 22 08:06:57 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 22 Mar 2017 10:06:57 -0500 Subject: [ndnSIM] Help: Wifi-AP with wired topology (Md Ashiqur (Ashiq) Rahman) In-Reply-To: References: Message-ID: Hi, you can install multiple applications at a node in exactly the same way that you install one application at a node. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 22, 2017, at 10:03 AM, Md Ashiqur Rahman wrote: > > I'm wondering how do we set different apps in ndnSIM for simulating in wifi infrastructure mode like- ftp, streaming, web etc. > > Also, I am currently observing that the AP forwarder doesn't forward interest unless association is done. > > So, currently here's my observation from my implementation- if in intersection point of 2 APs range, both APs will forward interest from consumer towards nearest junction between path to producer and both APs will broadcast the data packet. > > Is there a way to isolate this and allow only one AP to forward interest and broadcast data packet back? > > Regards- > Ashiq -------------- next part -------------- An HTML attachment was scrubbed... URL: From marahman at email.arizona.edu Wed Mar 22 08:09:32 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Wed, 22 Mar 2017 08:09:32 -0700 Subject: [ndnSIM] Help: ndnSIM template giving errors Message-ID: Hello, The ndnSIM template here: http://github.com/cawka/ndnSIM-scenario-template is not working, I'm getting error when trying to clone the repo. Regards- Ashiq -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.EDU Wed Mar 22 08:34:14 2017 From: shijunxiao at email.arizona.EDU (Junxiao Shi) Date: Wed, 22 Mar 2017 08:34:14 -0700 Subject: [ndnSIM] Help: Wifi-AP with wired topology (Md Ashiqur (Ashiq) Rahman) In-Reply-To: References: Message-ID: <2C5C177F-C861-4FA1-AA55-0B0E9A09E757@email.arizona.edu> Hi Ashiq > I am currently observing that the AP forwarder doesn't forward interest unless association is done. This is the expected behavior if you operate NDN network layer protocol above infrastructure mode WiFi. At MAC layer, AP delivers a frame to network layer only if it comes from an associated STA. > So, currently here's my observation from my implementation- if in intersection point of 2 APs range, both APs will forward interest from consumer towards nearest junction between path to producer and both APs will broadcast the data packet. This conflicts with the statement above. I guess you are running ad hoc or mesh mode, in which the MAC layer would deliver all received frames up to network layer. > Is there a way to isolate this and allow only one AP to forward interest and broadcast data packet back? Yes, by running WiFi in infrastructure mode. Yours, Junxiao From marahman at email.arizona.edu Wed Mar 22 10:11:31 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Wed, 22 Mar 2017 10:11:31 -0700 Subject: [ndnSIM] Help: Wifi-AP with wired topology (Md Ashiqur (Ashiq) Rahman) Message-ID: Yes, I am using wifiMac.SetType ("ns3::ApWifiMac"); Here's the code again: https://github.com/ashiqopu/ndnMobility/blob/master/ndnWiFi/simple-wifi-mobility.cpp My understanding is that, there might be something wrong in my coding for which I am not able to associate to a particular AP and unicast to that APs MAC. But the example I went through (link: http://www.lists.cs.ucla.edu/pipermail/ndnsim/2015-June/001919.html) had the similar implementation only containing 1 AP and 1 STA which really doesn't help understanding the behavior of Multi APs. Regards- Ashiq -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Wed Mar 22 11:43:19 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 22 Mar 2017 13:43:19 -0500 Subject: [ndnSIM] Help: ndnSIM template giving errors In-Reply-To: References: Message-ID: Hi, can you try cloning this one? https://github.com/named-data-ndnSIM/scenario-template Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 22, 2017, at 10:09 AM, Md Ashiqur Rahman wrote: > > Hello, > > The ndnSIM template here: http://github.com/cawka/ndnSIM-scenario-template is not working, I'm getting error when trying to clone the repo. > > Regards- > Ashiq -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Wed Mar 22 12:42:57 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Wed, 22 Mar 2017 12:42:57 -0700 Subject: [ndnSIM] Help: Wifi-AP with wired topology (Md Ashiqur (Ashiq) Rahman) In-Reply-To: References: Message-ID: <47A86926-A3FF-4DC5-A789-0D66F4E8E5B1@email.arizona.edu> Hi Ashiq The quoted code has more than two APs. I?m not willing to read such complicated code. Can you provide minimal code to illustrate the problem? It should have only two APs and one STA, and should construct the topology directly without using TopologyReader. If the minimal code works as expected, you can expand from there. Yours, Junxiao > On Mar 22, 2017, at 10:11 AM, Md Ashiqur Rahman wrote: > > Yes, I am using wifiMac.SetType ("ns3::ApWifiMac"); > > Here's the code again: https://github.com/ashiqopu/ndnMobility/blob/master/ndnWiFi/simple-wifi-mobility.cpp > > My understanding is that, there might be something wrong in my coding for which I am not able to associate to a particular AP and unicast to that APs MAC. But the example I went through (link: http://www.lists.cs.ucla.edu/pipermail/ndnsim/2015-June/001919.html ) had the similar implementation only containing 1 AP and 1 STA which really doesn't help understanding the behavior of Multi APs. > > Regards- > Ashiq > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Wed Mar 22 13:01:15 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Thu, 23 Mar 2017 00:31:15 +0430 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: ? Junxiao, Thanks for the answer. I did as you said: auto advertiseCommand = make_shared(); > Name command = Name("/localhost/nlsr/prefix-update/advertise"); > ndn::nfd::ControlParameters parameters; > parameters.setName(Name("/updated-prefix")); > advertiseCommand->setName(command.append(parameters.wireEncode())); > m_keyChain.sign(*advertiseCommand); > m_transmittedInterests(advertiseCommand,this,m_face); > m_appLink->onReceiveInterest(*advertiseCommand); And you can see that the interest is signed: 6s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=261 interest=/localhost/nlsr/prefix-update/advertise/h%12% 07%10%08%0Eupdated-prefix/%17p/n%29%05B%EE%F41g/%164%1B% 01%01%1C%2F%07-%08%0Ctmp-identity%08%04Z%21%0A%16%08% 03KEY%08%09ksk-16106%08%07ID-CERT/%17%FD%01%00%A0%9A%8CS% 7CQU%24%E9%A7%5B%AE%84%5B%C0%9D%19W%5B%F6%FA%15%BC%8B%F8% FD%D4B%F7%F4%A7%03%C5SDY%A1%98%B3%A9%17%7B%DDE%D1JF%5E%F1% 0A%7BY%13qA%24HP%DEV%D4%F0%F6Qr%27y%EA-L%82%A1u%01%2A%F2% FB%16%B4%82%02%18%8D%B7Z%C4%22%7C%E8SU%98%E5%C1%CF%D2%1FE% 21%D0A%FD%40%85%C3D%94D%B6%95%FA%10%1AS%19%1E13%7C6%BC%21% 86%D7q%9A%CC%1D%C3%13d%90%C9%C3%14%AB%3D%BA%AA%E4%A3%3C% 98U%CF%7F%BC.j%9B%0C0ui%40%CBnMa%B8%19%2FWR%06%90D%EF%92% EEM%F6%0Am%25%FF%95%97%CF%F6%84W+%FCA%3D%FB%8B%8A%CA-1%98% 8A%5B%1F%14%D3%CB%25%16%B5%95%8AB%D66%13%B5%A8m%F5%8F%1E1o% ADx%0EX%D1LFrS%BF%81%B5%92m%A2%26%91%D71o%FA%CCA%AC%BB7% FFI%210%8DW%E5%F6ctO%2C%3A%CF But then again: terminate called after throwing an instance of 'boost::exception_detail:: > clone_impl > >' > what(): Name component does not have the requested marker or the value > is not a nonNegativeInteger I don't think it is a bug. I guess there is something I should've done but didn't and I'm looking for it. But if it is, I will post a complete report of the environment, steps to reproduce, expected/actual result and so on. Thanks, Sabet? -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Thu Mar 23 08:52:51 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Thu, 23 Mar 2017 08:52:51 -0700 Subject: [ndnSIM] Question about updating name prefix list of the routers In-Reply-To: References: <44A52DAF-0C31-45A8-926D-81D172D957AB@cs.ucla.edu> Message-ID: <9F9A9B60-50F8-4CBB-8B5B-8FF59789C84A@email.arizona.edu> Hi Sabet Yes, the Interest is now signed. Run the scenario within GDB, and type bt full upon crash, so that you can see where the crash happens. Yours, Junxiao > On Mar 22, 2017, at 1:01 PM, Muhammad Hosain Abdollahi Sabet wrote: > > > I did as you said: > > auto advertiseCommand = make_shared(); > Name command = Name("/localhost/nlsr/prefix-update/advertise"); > ndn::nfd::ControlParameters parameters; > parameters.setName(Name("/updated-prefix")); > advertiseCommand->setName(command.append(parameters.wireEncode())); > m_keyChain.sign(*advertiseCommand); > m_transmittedInterests(advertiseCommand,this,m_face); > m_appLink->onReceiveInterest(*advertiseCommand); > > And you can see that the interest is signed: > > 6s 2 nfd.Forwarder:onIncomingInterest(): [DEBUG] onIncomingInterest face=261 interest=/localhost/nlsr/prefix-update/advertise/h%12%07%10%08%0Eupdated-prefix/%17p/n%29%05B%EE%F41g/%164%1B%01%01%1C%2F%07-%08%0Ctmp-identity%08%04Z%21%0A%16%08%03KEY%08%09ksk-16106%08%07ID-CERT/%17%FD%01%00%A0%9A%8CS%7CQU%24%E9%A7%5B%AE%84%5B%C0%9D%19W%5B%F6%FA%15%BC%8B%F8%FD%D4B%F7%F4%A7%03%C5SDY%A1%98%B3%A9%17%7B%DDE%D1JF%5E%F1%0A%7BY%13qA%24HP%DEV%D4%F0%F6Qr%27y%EA-L%82%A1u%01%2A%F2%FB%16%B4%82%02%18%8D%B7Z%C4%22%7C%E8SU%98%E5%C1%CF%D2%1FE%21%D0A%FD%40%85%C3D%94D%B6%95%FA%10%1AS%19%1E13%7C6%BC%21%86%D7q%9A%CC%1D%C3%13d%90%C9%C3%14%AB%3D%BA%AA%E4%A3%3C%98U%CF%7F%BC.j%9B%0C0ui%40%CBnMa%B8%19%2FWR%06%90D%EF%92%EEM%F6%0Am%25%FF%95%97%CF%F6%84W+%FCA%3D%FB%8B%8A%CA-1%98%8A%5B%1F%14%D3%CB%25%16%B5%95%8AB%D66%13%B5%A8m%F5%8F%1E1o%ADx%0EX%D1LFrS%BF%81%B5%92m%A2%26%91%D71o%FA%CCA%AC%BB7%FFI%210%8DW%E5%F6ctO%2C%3A%CF > > But then again: > > terminate called after throwing an instance of 'boost::exception_detail::clone_impl >' > what(): Name component does not have the requested marker or the value is not a nonNegativeInteger > > I don't think it is a bug. I guess there is something I should've done but didn't and I'm looking for it. But if it is, I will post a complete report of the environment, steps to reproduce, expected/actual result and so on. > > Thanks, > Sabet? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gc199211 at mail.ustc.edu.cn Thu Mar 23 22:35:57 2017 From: gc199211 at mail.ustc.edu.cn (gc199211) Date: Fri, 24 Mar 2017 13:35:57 +0800 Subject: [ndnSIM] ndn cache replace policy In-Reply-To: References: <585BEF23.8090601@mail.ustc.edu.cn> Message-ID: 58D4B03A.6060200@mail.ustc.edu.cn Dear John,Spyros: ?ndnSIM-Things I have learned? is quite helpful for me.Thank you for your help.But I still have some problems. In order to keep topology node information along the interest forwarding path ,I need to get node id in NFD/daemon/fw/forward.cpp. However,I haven't found the API yet. Based on ?ndnSIM-Things I have learned? ,we can get the forward instance by node id in jpd-test.cpp: Can I get the node id by forward instance in the opposite way? How can I get node id in Forward::onOutgoingInterest(...) ?Thank you very much! 2017-03-24 gc199211 ????"Spyridon (Spyros) Mastorakis" ?????2016-12-23 16:37 ???Re: [ndnSIM] ndn cache replace policy ????"John Baugh" ???"gc199211","ndnsim" John, thanks for sharing that. Looks quite helpful. Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA On Dec 23, 2016, at 9:27 AM, John Baugh wrote: Greetings, By no means do I claim to be an expert in this simulator (yet!), but I have been taking and trying to organize notes about using it. Please see page 9 in the PDF on my Google Drive: https://drive.google.com/open?id=0By9ufeKqmJYYTnZVYnBlNktvMHc I hope to eventually more fully organize this document after adding a significant amount more, adding a table of contents, etc. But hopefully this helps some people even in its current, very unedited and minimal state. Thanks, John On Fri, Dec 23, 2016 at 2:23 AM, John Baugh wrote: Greetings, By no means do I claim to be an expert in this simulator (yet!), but I have been taking and trying to organize notes about using it. Please see page 9 in the attached PDF. I hope to eventually more fully organize this document after adding a significant amount more, adding a table of contents, etc. But hopefully this helps some people even in its current, very unedited and minimal state. Thanks, John On Fri, Dec 23, 2016 at 2:02 AM, Spyridon (Spyros) Mastorakis wrote: Hi, personally, I feel it would be easier for you to use the CS of NFD. You will have to create your own class that will derive from the Policy class of NFD. Hope that this helps. Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA On Dec 22, 2016, at 5:20 PM, gc199211 wrote: Hello : I am trying to realize a cache replacement policy on ndnSIM .The new policy is based on lfu policy. According to the api document I found that 1) The ns3::ndn::ContentStore has realized lfu policy , but the code is quite complex,including trie.hpp?tire-with-policy.hpp?lfu-policy.hpp and so on 2) The nfd::cs::Cs hasn't realized lfu policy,but the code seems easier. So which kind of contentstore is easier to realize my policy, ns3::ndn::ContentStore or nfd::cs::Cs ?And how to realize a cache replacement policy,Think you very much! 2016-12-22 gc199211 __________ Information from ESET NOD32 Antivirus, version of virus signature database 14571 (20161208) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Clip(03-24-13-20-42).png Type: image/png Size: 9681 bytes Desc: not available URL: From marahman at email.arizona.edu Fri Mar 24 12:59:46 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Fri, 24 Mar 2017 12:59:46 -0700 Subject: [ndnSIM] Help: ndnSIM template giving errors In-Reply-To: References: Message-ID: Hello Spyros, I found that the following packages are required to be installed before ./waf configure in Ubuntu for using the scenario template: - SQLite - OpenSSL - Cryptopp Installation process: ### SQLite installation $ sudo apt-get update. $ sudo apt-get install sqlite3 libsqlite3-dev ### OpenSSL installation $ apt-cache search libssl | grep SSL # install all libssl packages found above ### Cryptopp installation, X is the version number $ apt-cache pkgnames | grep -i crypto++ libcrypto++-utils libcrypto++X libcrypto++X-dbg libcrypto++-dev libcrypto++-doc $ sudo apt-get install libcrypto++X libcrypto++X-dbg libcrypto++-dev Regards- Ashiq On Fri, Mar 24, 2017 at 8:24 AM, Md Ashiqur Rahman < marahman at email.arizona.edu> wrote: > Hello Spyros, > > Having error during ./waf configure -d optimized , here's the log- (see > attached) > > Setting top to : /vagrant/ndnSIM/ns-3 > Setting out to : /vagrant/ndnSIM/ns-3/build > Checking for 'gcc' (C compiler) : /usr/bin/gcc > Checking for cc version : 4.8.4 > Checking for 'g++' (C++ compiler) : /usr/bin/g++ > Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 > Checking supported optimizations CXXFLAGS : -O3 > Checking supported debug CXXFLAGS : -g > Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations > -fstrict-aliasing -Wstrict-aliasing > Checking for compilation flag -march=native... support : ok > Checking for compilation flag -Wl,--soname=foo... support : ok > Checking for program 'python' : > /usr/bin/python > Checking for python version : (2, 7, 6, > 'final', 0) > python-config : not found > Checking for library python2.7 in LIBDIR : yes > Checking for header Python.h : yes > Checking for compilation flag -fvisibility=hidden... support : ok > Checking for compilation flag -Wno-array-bounds... support : ok > Checking for pybindgen location : > ../pybindgen (guessed) > Checking for python module 'pybindgen' : ok > Traceback (most recent call last): > File "setup.py", line 2, in > from setuptools import setup > ImportError: No module named setuptools > Checking for pybindgen version : > pybindgen (found ''), (need '0.17.0.post45+ng4806e4f') > Checking boost includes : 1_54 > Checking boost libs : ok > Checking for boost linkage : ok > Checking for click location : not found > Checking for program 'pkg-config' : > /usr/bin/pkg-config > Checking for 'gtk+-2.0' >= 2.12 : not found > Checking for 'libxml-2.0' >= 2.7 : yes > Checking for type uint128_t : not found > Checking for type __uint128_t : yes > Checking high precision implementation : 128-bit > integer (default) > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for header sys/types.h : yes > Checking for header sys/stat.h : yes > Checking for header dirent.h : yes > Checking for header stdlib.h : yes > Checking for header signal.h : yes > Checking for header pthread.h : yes > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for library rt : yes > Checking for header sys/ioctl.h : yes > Checking for header net/if.h : yes > Checking for header net/ethernet.h : yes > Checking for header linux/if_tun.h : yes > Checking for header netpacket/packet.h : yes > Checking for NSC location : not found > Checking for program 'doxygen' : not found > Checking for program 'tar' : /bin/tar > Checking for program 'sphinx-build' : not found > Checking for std::is_default_constructible : yes > Checking for std::is_nothrow_move_constructible : yes > Checking for std::is_nothrow_move_assignable : yes > Checking for std::to_string : yes > Checking for std::vector::insert with const_iterator : no > Checking for library pthread : yes > Checking for 'sqlite3' : not found > Checking for SQLite3 library : not found > The configuration failed > (complete log in /vagrant/ndnSIM/ns-3/build/config.log) > > Regards- > Ashiq > > > On Wed, Mar 22, 2017 at 11:43 AM, Spyridon (Spyros) Mastorakis < > mastorakis at cs.ucla.edu> wrote: > >> Hi, >> >> can you try cloning this one? >> >> https://github.com/named-data-ndnSIM/scenario-template >> >> Thanks, >> >> Spyridon (Spyros) Mastorakis >> Personal Website: http://cs.ucla.edu/~mastorakis/ >> Internet Research Laboratory >> Computer Science Department >> UCLA >> >> >> On Mar 22, 2017, at 10:09 AM, Md Ashiqur Rahman < >> marahman at email.arizona.edu> wrote: >> >> Hello, >> >> The ndnSIM template here: http://github.com/cawka/ndnSIM >> -scenario-template is not working, I'm getting error when trying to >> clone the repo. >> >> Regards- >> Ashiq >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenniferkulnu at gmail.com Fri Mar 24 15:26:48 2017 From: jenniferkulnu at gmail.com (jennifer kulnu) Date: Sat, 25 Mar 2017 04:26:48 +0600 Subject: [ndnSIM] CS Tracers for NFD Content store implementation. Message-ID: Hello All, Beginner here. Sorry if I'am asking an all too obvious question. Is it not possible to use the CS tracer to see the cache hits and misses for the NFD implementation of the Content Store? Because I tried and all i got was a blank text file. If I were to design a custom policy using the NFD implementation. How would i trace the cache hits and misses of each node? Best, Jennifer -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Fri Mar 24 18:01:41 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Fri, 24 Mar 2017 20:01:41 -0500 Subject: [ndnSIM] CS Tracers for NFD Content store implementation. In-Reply-To: References: Message-ID: <7512E572-7523-455B-9322-7AFF51E8B4FE@cs.ucla.edu> Hi, as we have mentioned in our documentation (http://ndnsim.net/2.3/metric.html#content-store-trace-helper ), the CS tracer works only with the ndnSIM-specific CS (not NFD?s CS). Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 24, 2017, at 5:26 PM, jennifer kulnu wrote: > > Hello All, > > Beginner here. Sorry if I'am asking an all too obvious question. > > Is it not possible to use the CS tracer to see the cache hits and misses for the NFD implementation of the Content Store? Because I tried and all i got was a blank text file. > > If I were to design a custom policy using the NFD implementation. How would i trace the cache hits and misses of each node? > > Best, > Jennifer -------------- next part -------------- An HTML attachment was scrubbed... URL: From binbs.khan at gmail.com Sat Mar 25 12:29:59 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Sun, 26 Mar 2017 00:29:59 +0500 Subject: [ndnSIM] used custom app to update fib in ndnSIM Message-ID: Hi, Everyone I need simple code which update fib through custom app. Anyone who can help me with this I will be very thankful. Regards Naveed -------------- next part -------------- An HTML attachment was scrubbed... URL: From gc199211 at mail.ustc.edu.cn Mon Mar 27 02:24:52 2017 From: gc199211 at mail.ustc.edu.cn (gc199211) Date: Mon, 27 Mar 2017 17:24:52 +0800 Subject: [ndnSIM] how to add hop information in Intererst Message-ID: 58D8DA62.5050102@mail.ustc.edu.cn Hi sir : I am trying to add hop information in Interest recently on ndnSIM 2.2. Here is my code. 1). I add a private member variable which is named hop in ndnSIM/ndn-cxx/src/interest.h 2). I increace the value of hop in the nfd::Forwarder::onOutgoingInterest(shared_ptr pitEntry, Face& outFace,bool wantNewNonce),so as to caculate the hop . Here is my problem,It seems that the hop value is always 0 no matter how many nodes it is forwarded.How to solve the problem? I know there is a ns3::ndn::FwHopCountTag a to caculate the hop in ns3::ndn::NetDeviceLinkService ,But I want to caculate the hop value directly in Interest. If it works ,I can add other member variable in Interest which is quite important for my research.Thank you very much . 2016-12-20 gc199211 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Clip(03-27-16-57-39).png Type: image/png Size: 27698 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Clip(03-27-17-05-05).png Type: image/png Size: 5628 bytes Desc: not available URL: From 3222427760 at qq.com Wed Mar 8 16:08:04 2017 From: 3222427760 at qq.com (=?gb18030?B?o6E=?=) Date: Thu, 09 Mar 2017 00:08:04 -0000 Subject: [ndnSIM] I want to make interests send periodic. Message-ID: I want to make interests send periodic,but the files are too many to understand. I don t know how to achieve it.So I'm looking for help, hoping to get a solution. And I want to make consumer send interests from No.1 to No.100.I have only recently studied,thank you very much!!! -------------- next part -------------- An HTML attachment was scrubbed... URL: From cjb0725 at mail.ustc.edu.cn Sun Mar 5 01:30:07 2017 From: cjb0725 at mail.ustc.edu.cn (cjb0725 at mail.ustc.edu.cn) Date: Sun, 05 Mar 2017 09:30:07 -0000 Subject: [ndnSIM] compilation failed on macOS 10.12.3 Message-ID: <36b04a1b.40490.15a9dcdc0ca.Coremail.cjb0725@mail.ustc.edu.cn> Hi everyone, I was trying to compile ndnsim on my MacBook, but i failed and don't know the reason. Lines I executed as follows: -------------------------------------------------------------------------------------------------- sudo port install pkgconfig boost sqlite3 libcryptopp openssl sudo port install py27-pygraphviz py27-goocanvas py27-kiwi mkdir ndnSIM cd ndnSIM git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3 git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen git clone --recursive https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM cd ns-3 ./waf configure --with-python=/opt/local/bin/python2.7 --enable-examples ./waf -------------------------------------------------------------------------------------------------- and result : Undefined symbols for architecture x86_64:. dont know how to solve this , any help would be great Thanks a lot. Regards, Chen [chenjiebo ns-3]$ ./waf configure --enable-examples Setting top to : /Users/chenjiebo/ndnSIM/ns-3 Setting out to : /Users/chenjiebo/ndnSIM/ns-3/build Checking for 'clang' (C compiler) : /usr/bin/clang Checking for cc version : 8.0.0 Checking for 'clang++' (C++ compiler) : /usr/bin/clang++ Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 Checking supported optimizations CXXFLAGS : -O0 Checking supported debug CXXFLAGS : -ggdb -g3 Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing Checking for program 'python' : /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Checking for python version : (2, 7, 13, 'final', 0) python-config : /opt/local/bin/python2.7-config Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes Getting pyembed flags from python-config : yes Asking python-config for pyext '--cflags --libs --ldflags' flags : yes Getting pyext flags from python-config : yes Checking for compilation flag -Wno-array-bounds... support : ok Checking for pybindgen location : ../pybindgen (guessed) Checking for python module 'pybindgen' : 0.17.0.post45+ng4806e4f Checking for pybindgen version : 0.17.0.post45+ng4806e4f Checking for code snippet : no Checking for types uint64_t and unsigned long equivalence : yes Checking for code snippet : yes Checking for types uint64_t and unsigned long long equivalence : no Checking for the apidefs that can be used for Python bindings : gcc-ILP32 Checking for internal GCC cxxabi : incomplete Checking for python module 'pygccxml' : not found Checking boost includes : 1_60 Checking boost libs : ok Checking for boost linkage : ok Checking for click location : not found Checking for program 'pkg-config' : /opt/local/bin/pkg-config Checking for 'gtk+-2.0' >= 2.12 : yes Checking for 'libxml-2.0' >= 2.7 : yes Checking for type uint128_t : not found Checking for type __uint128_t : yes Checking high precision implementation : 128-bit integer (default) Checking for header stdint.h : yes Checking for header inttypes.h : yes Checking for header sys/inttypes.h : not found Checking for header sys/types.h : yes Checking for header sys/stat.h : yes Checking for header dirent.h : yes Checking for header stdlib.h : yes Checking for header signal.h : yes Checking for header pthread.h : yes Checking for header stdint.h : yes Checking for header inttypes.h : yes Checking for header sys/inttypes.h : not found Checking for library rt : not found Checking for header sys/ioctl.h : yes Checking for header net/if.h : yes Checking for header net/ethernet.h : yes Checking for header linux/if_tun.h : not found Checking for header netpacket/packet.h : not found Checking for NSC location : not found Checking for program 'doxygen' : not found Checking for program 'tar' : /usr/bin/tar Checking for program 'sphinx-build' : not found Checking for std::is_default_constructible : yes Checking for std::is_nothrow_move_constructible : yes Checking for std::is_nothrow_move_assignable : yes Checking for std::to_string : yes Checking for std::vector::insert with const_iterator : yes Checking for library pthread : yes Checking for 'sqlite3' : yes Checking Crypto++ lib : 5.6.3 Checking if CryptoPP library works : yes Checking for OpenSSL lib : "OpenSSL 1.0.2k-fips 26 Jan 2017" Checking if OpenSSL library works : yes Checking for OpenFlow location : not found Checking for 'sqlite3' : yes Checking for header linux/if_tun.h : not found Checking for python module 'gtk' : ok Checking for python module 'goocanvas' : 0.14.1 Checking for python module 'pygraphviz' : 1.1.dev1952 Checking for program 'sudo' : /usr/bin/sudo Checking for program 'valgrind' : not found Checking for 'gsl' : not found Checking for program 'doxygen' : not found ---- Summary of optional NS-3 features: Build profile : debug Build directory : Python Bindings : enabled Python API Scanning Support : not enabled (Missing 'pygccxml' Python module) BRITE Integration : not enabled (BRITE not enabled (see option --with-brite)) NS-3 Click Integration : not enabled (nsclick not enabled (see option --with-nsclick)) GtkConfigStore : enabled XmlIo : enabled Threading Primitives : enabled Real Time Simulator : not enabled (librt is not available) File descriptor NetDevice : enabled Tap FdNetDevice : not enabled (needs linux/if_tun.h) Emulation FdNetDevice : not enabled (needs netpacket/packet.h) PlanetLab FdNetDevice : not enabled (PlanetLab operating system not detected (see option --force-planetlab)) Network Simulation Cradle : not enabled (NSC not found (see option --with-nsc)) MPI Support : not enabled (option --enable-mpi not selected) ndnSIM : enabled NS-3 OpenFlow Integration : not enabled (OpenFlow not enabled (see option --with-openflow)) SQlite stats data output : enabled Tap Bridge : not enabled ( include not detected) PyViz visualizer : enabled Use sudo to set suid bit : not enabled (option --enable-sudo not selected) Build tests : not enabled (defaults to disabled) Build examples : enabled GNU Scientific Library (GSL) : not enabled (GSL not found) 'configure' finished successfully (10.671s) [chenjiebo ns-3]$ ./waf Waf: Entering directory `/Users/chenjiebo/ndnSIM/ns-3/build' [2802/2889] Linking build/libns3-dev-ndnSIM-debug.dylib Undefined symbols for architecture x86_64: "boost::re_detail::get_mem_block()", referenced from: boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in interest-filter.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::extend_stack() in interest-filter.cpp.3.o boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in face-uri.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::extend_stack() in face-uri.cpp.3.o boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in regex-top-matcher.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::extend_stack() in regex-top-matcher.cpp.3.o "boost::re_detail::put_mem_block(void*)", referenced from: boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::unwind_extra_block(bool) in interest-filter.cpp.3.o boost::re_detail::save_state_init::~save_state_init() in interest-filter.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::unwind_extra_block(bool) in face-uri.cpp.3.o boost::re_detail::save_state_init::~save_state_init() in face-uri.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::unwind_extra_block(bool) in regex-top-matcher.cpp.3.o boost::re_detail::save_state_init::~save_state_init() in regex-top-matcher.cpp.3.o "boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)", referenced from: boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::match_imp() in interest-filter.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::match_imp() in face-uri.cpp.3.o boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::match_imp() in regex-top-matcher.cpp.3.o "boost::re_detail::raise_runtime_error(std::runtime_error const&)", referenced from: void boost::re_detail::raise_error > > >(boost::regex_traits_wrapper > > const&, boost::regex_constants::error_type) in interest-filter.cpp.3.o void boost::re_detail::raise_error > > >(boost::regex_traits_wrapper > > const&, boost::regex_constants::error_type) in face-uri.cpp.3.o void boost::re_detail::raise_error > > >(boost::regex_traits_wrapper > > const&, boost::regex_constants::error_type) in regex-top-matcher.cpp.3.o "boost::re_detail::get_default_error_string(boost::regex_constants::error_type)", referenced from: boost::re_detail::cpp_regex_traits_implementation::error_string(boost::regex_constants::error_type) const in interest-filter.cpp.3.o boost::re_detail::cpp_regex_traits_implementation::error_string(boost::regex_constants::error_type) const in face-uri.cpp.3.o boost::re_detail::cpp_regex_traits_implementation::error_string(boost::regex_constants::error_type) const in regex-top-matcher.cpp.3.o "boost::re_detail::cpp_regex_traits_implementation::transform_primary(char const*, char const*) const", referenced from: boost::cpp_regex_traits::transform_primary(char const*, char const*) const in interest-filter.cpp.3.o boost::cpp_regex_traits::transform_primary(char const*, char const*) const in face-uri.cpp.3.o boost::cpp_regex_traits::transform_primary(char const*, char const*) const in regex-top-matcher.cpp.3.o "boost::re_detail::cpp_regex_traits_implementation::transform(char const*, char const*) const", referenced from: boost::cpp_regex_traits::transform(char const*, char const*) const in interest-filter.cpp.3.o boost::cpp_regex_traits::transform(char const*, char const*) const in face-uri.cpp.3.o boost::cpp_regex_traits::transform(char const*, char const*) const in regex-top-matcher.cpp.3.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Waf: Leaving directory `/Users/chenjiebo/ndnSIM/ns-3/build' Build failed -> task in 'ns3-ndnSIM' failed (exit status 1): {task 4537662096: cxxshlib ndn-app.cpp.3.o,ndn-consumer-batches.cpp.3.o,ndn-consumer-cbr.cpp.3.o,ndn-consumer-window.cpp.3.o,ndn-consumer-zipf-mandelbrot.cpp.3.o,ndn-consumer.cpp.3.o,ndn-producer.cpp.3.o,module-helpers.cpp.3.o,ndn-app-helper.cpp.3.o,ndn-face-container.cpp.3.o,ndn-fib-helper.cpp.3.o,ndn-global-routing-helper.cpp.3.o,ndn-link-control-helper.cpp.3.o,ndn-network-region-table-helper.cpp.3.o,ndn-scenario-helper.cpp.3.o,ndn-stack-helper.cpp.3.o,ndn-strategy-choice-helper.cpp.3.o,content-store-impl.cpp.3.o,content-store-nocache.cpp.3.o,content-store-with-freshness.cpp.3.o,content-store-with-probability.cpp.3.o,content-store-with-stats.cpp.3.o,ndn-content-store.cpp.3.o,ndn-app-link-service.cpp.3.o,ndn-block-header.cpp.3.o,ndn-common.cpp.3.o,ndn-global-router.cpp.3.o,ndn-l3-protocol.cpp.3.o,ndn-net-device-transport.cpp.3.o,batches.cpp.3.o,dummy-keychain.cpp.3.o,ndn-rtt-estimator.cpp.3.o,ndn-rtt-mean-deviation.cpp.3.o,ndn-time.cpp.3.o,annotated-topology-reader.cpp.3.o,rocketfuel-map-reader.cpp.3.o,rocketfuel-weights-reader.cpp.3.o,l2-rate-tracer.cpp.3.o,l2-tracer.cpp.3.o,ndn-app-delay-tracer.cpp.3.o,ndn-cs-tracer.cpp.3.o,ndn-l3-rate-tracer.cpp.3.o,ndn-l3-tracer.cpp.3.o,data.cpp.3.o,block-helpers.cpp.3.o,block.cpp.3.o,buffer-stream.cpp.3.o,buffer.cpp.3.o,asn_ext.cpp.3.o,encoder.cpp.3.o,estimator.cpp.3.o,nfd-constants.cpp.3.o,oid.cpp.3.o,exclude.cpp.3.o,face.cpp.3.o,interest-filter.cpp.3.o,interest.cpp.3.o,key-locator.cpp.3.o,link.cpp.3.o,cache-policy.cpp.3.o,field-info.cpp.3.o,nack-header.cpp.3.o,nack.cpp.3.o,packet.cpp.3.o,meta-info.cpp.3.o,control-response.cpp.3.o,dispatcher.cpp.3.o,channel-status.cpp.3.o,command-options.cpp.3.o,control-command.cpp.3.o,control-parameters.cpp.3.o,controller.cpp.3.o,face-event-notification.cpp.3.o,face-query-filter.cpp.3.o,face-status.cpp.3.o,fib-entry.cpp.3.o,forwarder-status.cpp.3.o,rib-entry.cpp.3.o,status-dataset.cpp.3.o,strategy-choice.cpp.3.o,status-dataset-context.cpp.3.o,name-component.cpp.3.o,name.cpp.3.o,certificate-cache-ttl.cpp.3.o,certificate-container.cpp.3.o,command-interest-validator.cpp.3.o,openssl-helper.cpp.3.o,digest-sha256.cpp.3.o,identity-container.cpp.3.o,identity.cpp.3.o,key-chain.cpp.3.o,key-container.cpp.3.o,key-params.cpp.3.o,key.cpp.3.o,pib-memory.cpp.3.o,pib-sqlite3.cpp.3.o,pib.cpp.3.o,safe-bag.cpp.3.o,sec-public-info-sqlite3.cpp.3.o,sec-public-info.cpp.3.o,sec-rule-relative.cpp.3.o,sec-rule-specific.cpp.3.o,sec-tpm-file.cpp.3.o,sec-tpm.cpp.3.o,secured-bag.cpp.3.o,security-common.cpp.3.o,signature-sha256-with-ecdsa.cpp.3.o,signature-sha256-with-rsa.cpp.3.o,signing-helpers.cpp.3.o,signing-info.cpp.3.o,base64-decode.cpp.3.o,base64-encode.cpp.3.o,block-cipher.cpp.3.o,bool-sink.cpp.3.o,buffer-source.cpp.3.o,digest-filter.cpp.3.o,hex-decode.cpp.3.o,hex-encode.cpp.3.o,hmac-filter.cpp.3.o,private-key.cpp.3.o,public-key.cpp.3.o,signer-filter.cpp.3.o,step-source.cpp.3.o,stream-sink.cpp.3.o,stream-source.cpp.3.o,strip-space.cpp.3.o,transform-base.cpp.3.o,verifier-filter.cpp.3.o,certificate-extension.cpp.3.o,certificate-subject-description.cpp.3.o,certificate.cpp.3.o,identity-certificate.cpp.3.o,public-key.cpp.3.o,additional-description.cpp.3.o,validator-config.cpp.3.o,validator-regex.cpp.3.o,validator.cpp.3.o,validity-period.cpp.3.o,selectors.cpp.3.o,signature-info.cpp.3.o,signature.cpp.3.o,tcp-transport.cpp.3.o,transport.cpp.3.o,unix-transport.cpp.3.o,config-file.cpp.3.o,crypto.cpp.3.o,network-monitor-impl-rtnl.cpp.3.o,digest.cpp.3.o,dns.cpp.3.o,ethernet.cpp.3.o,face-uri.cpp.3.o,in-memory-storage-entry.cpp.3.o,in-memory-storage-fifo.cpp.3.o,in-memory-storage-lfu.cpp.3.o,in-memory-storage-lru.cpp.3.o,in-memory-storage-persistent.cpp.3.o,in-memory-storage.cpp.3.o,indented-stream.cpp.3.o,io.cpp.3.o,logger.cpp.3.o,network-monitor.cpp.3.o,random.cpp.3.o,regex-top-matcher.cpp.3.o,scheduler-scoped-event-id.cpp.3.o,scheduler.cpp.3.o,segment-fetcher.cpp.3.o,signal-connection.cpp.3.o,signal-scoped-connection.cpp.3.o,sqlite3-statement.cpp.3.o,string-helper.cpp.3.o,time-unit-test-clock.cpp.3.o,time.cpp.3.o,city-hash.cpp.3.o,config-file.cpp.3.o,global-io.cpp.3.o,manager-base.cpp.3.o,network-interface-predicate.cpp.3.o,network-interface.cpp.3.o,network.cpp.3.o,privilege-helper.cpp.3.o,random.cpp.3.o,scheduler.cpp.3.o,channel.cpp.3.o,face-counters.cpp.3.o,face.cpp.3.o,generic-link-service.cpp.3.o,internal-face.cpp.3.o,internal-transport.cpp.3.o,link-service.cpp.3.o,lp-fragmenter.cpp.3.o,lp-reassembler.cpp.3.o,null-face.cpp.3.o,transport.cpp.3.o,access-strategy.cpp.3.o,algorithm.cpp.3.o,asf-measurements.cpp.3.o,asf-probing-module.cpp.3.o,asf-strategy.cpp.3.o,best-route-strategy.cpp.3.o,best-route-strategy2.cpp.3.o,client-control-strategy.cpp.3.o,face-table.cpp.3.o,forwarder.cpp.3.o,multicast-strategy.cpp.3.o,ncc-strategy.cpp.3.o,retx-suppression-exponential.cpp.3.o,retx-suppression-fixed.cpp.3.o,retx-suppression.cpp.3.o,rtt-estimator.cpp.3.o,strategy-registry.cpp.3.o,strategy.cpp.3.o,unsolicited-data-policy.cpp.3.o,command-authenticator.cpp.3.o,face-manager.cpp.3.o,fib-manager.cpp.3.o,forwarder-status-manager.cpp.3.o,general-config-section.cpp.3.o,nfd-manager-base.cpp.3.o,strategy-choice-manager.cpp.3.o,tables-config-section.cpp.3.o,cleanup.cpp.3.o,cs-entry-impl.cpp.3.o,cs-entry.cpp.3.o,cs-policy-lru.cpp.3.o,cs-policy-priority-fifo.cpp.3.o,cs-policy.cpp.3.o,cs.cpp.3.o,dead-nonce-list.cpp.3.o,fib-entry.cpp.3.o,fib-nexthop.cpp.3.o,fib.cpp.3.o,measurements-accessor.cpp.3.o,measurements-entry.cpp.3.o,measurements.cpp.3.o,name-tree-entry.cpp.3.o,name-tree-hashtable.cpp.3.o,name-tree-iterator.cpp.3.o,name-tree.cpp.3.o,network-region-table.cpp.3.o,pit-entry.cpp.3.o,pit-face-record.cpp.3.o,pit-in-record.cpp.3.o,pit-iterator.cpp.3.o,pit-out-record.cpp.3.o,pit.cpp.3.o,strategy-choice-entry.cpp.3.o,strategy-choice.cpp.3.o,strategy-info-host.cpp.3.o,auto-prefix-propagator.cpp.3.o,fib-update.cpp.3.o,fib-updater.cpp.3.o,propagated-entry.cpp.3.o,rib-entry.cpp.3.o,rib-manager.cpp.3.o,rib-update-batch.cpp.3.o,rib-update.cpp.3.o,rib.cpp.3.o,route.cpp.3.o -> libns3-dev-ndnSIM-debug.dylib} ['/usr/bin/clang++', '-dynamiclib', 'src/ndnSIM/apps/ndn-app.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-batches.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-cbr.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-window.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-zipf-mandelbrot.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer.cpp.3.o', 'src/ndnSIM/apps/ndn-producer.cpp.3.o', 'src/ndnSIM/bindings/module-helpers.cpp.3.o', 'src/ndnSIM/helper/ndn-app-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-face-container.cpp.3.o', 'src/ndnSIM/helper/ndn-fib-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-global-routing-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-link-control-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-network-region-table-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-scenario-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-stack-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-strategy-choice-helper.cpp.3.o', 'src/ndnSIM/model/cs/content-store-impl.cpp.3.o', 'src/ndnSIM/model/cs/content-store-nocache.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-freshness.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-probability.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-stats.cpp.3.o', 'src/ndnSIM/model/cs/ndn-content-store.cpp.3.o', 'src/ndnSIM/model/ndn-app-link-service.cpp.3.o', 'src/ndnSIM/model/ndn-block-header.cpp.3.o', 'src/ndnSIM/model/ndn-common.cpp.3.o', 'src/ndnSIM/model/ndn-global-router.cpp.3.o', 'src/ndnSIM/model/ndn-l3-protocol.cpp.3.o', 'src/ndnSIM/model/ndn-net-device-transport.cpp.3.o', 'src/ndnSIM/utils/batches.cpp.3.o', 'src/ndnSIM/utils/dummy-keychain.cpp.3.o', 'src/ndnSIM/utils/ndn-rtt-estimator.cpp.3.o', 'src/ndnSIM/utils/ndn-rtt-mean-deviation.cpp.3.o', 'src/ndnSIM/utils/ndn-time.cpp.3.o', 'src/ndnSIM/utils/topology/annotated-topology-reader.cpp.3.o', 'src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp.3.o', 'src/ndnSIM/utils/topology/rocketfuel-weights-reader.cpp.3.o', 'src/ndnSIM/utils/tracers/l2-rate-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/l2-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-app-delay-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-cs-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-l3-rate-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-l3-tracer.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/data.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/block-helpers.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/block.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/buffer-stream.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/buffer.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/cryptopp/asn_ext.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/encoder.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/estimator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/nfd-constants.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/oid.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/exclude.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/face.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/interest-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/interest.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/key-locator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/link.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/cache-policy.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/detail/field-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/nack-header.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/nack.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/packet.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/meta-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/control-response.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/dispatcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/channel-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/command-options.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/control-command.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/control-parameters.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/controller.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/face-event-notification.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/face-query-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/face-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/fib-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/forwarder-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/rib-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/status-dataset.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/strategy-choice.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/status-dataset-context.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/name-component.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/name.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-cache-ttl.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/command-interest-validator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/detail/openssl-helper.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/digest-sha256.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-chain.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-params.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib-memory.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib-sqlite3.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/safe-bag.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-public-info-sqlite3.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-public-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-rule-relative.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-rule-specific.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-tpm-file.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-tpm.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/secured-bag.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/security-common.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-ecdsa.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-rsa.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signing-helpers.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signing-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/base64-decode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/base64-encode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/block-cipher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/bool-sink.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/buffer-source.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/digest-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/hex-decode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/hex-encode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/hmac-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/private-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/public-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/signer-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/step-source.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/stream-sink.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/stream-source.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/strip-space.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/transform-base.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/verifier-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/certificate-extension.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/certificate-subject-description.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/certificate.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/identity-certificate.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/public-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v2/additional-description.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator-config.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator-regex.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validity-period.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/selectors.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/signature-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/signature.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/tcp-transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/unix-transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/config-file.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/crypto.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/detail/network-monitor-impl-rtnl.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/digest.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/dns.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/ethernet.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/face-uri.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-fifo.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lfu.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lru.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-persistent.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/indented-stream.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/io.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/logger.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/network-monitor.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/random.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/regex/regex-top-matcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/scheduler-scoped-event-id.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/scheduler.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/segment-fetcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/signal-connection.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/signal-scoped-connection.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/sqlite3-statement.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/string-helper.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/time-unit-test-clock.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/time.cpp.3.o', 'src/ndnSIM/NFD/core/city-hash.cpp.3.o', 'src/ndnSIM/NFD/core/config-file.cpp.3.o', 'src/ndnSIM/NFD/core/global-io.cpp.3.o', 'src/ndnSIM/NFD/core/manager-base.cpp.3.o', 'src/ndnSIM/NFD/core/network-interface-predicate.cpp.3.o', 'src/ndnSIM/NFD/core/network-interface.cpp.3.o', 'src/ndnSIM/NFD/core/network.cpp.3.o', 'src/ndnSIM/NFD/core/privilege-helper.cpp.3.o', 'src/ndnSIM/NFD/core/random.cpp.3.o', 'src/ndnSIM/NFD/core/scheduler.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/channel.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/face-counters.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/generic-link-service.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/internal-face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/internal-transport.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/link-service.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/lp-fragmenter.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/lp-reassembler.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/null-face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/transport.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/access-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/algorithm.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/asf-measurements.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/asf-probing-module.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/asf-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/best-route-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/best-route-strategy2.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/client-control-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/face-table.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/forwarder.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/multicast-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/ncc-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression-exponential.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression-fixed.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/rtt-estimator.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/strategy-registry.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/unsolicited-data-policy.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/command-authenticator.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/face-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/fib-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/forwarder-status-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/general-config-section.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/nfd-manager-base.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/strategy-choice-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/tables-config-section.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cleanup.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-entry-impl.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy-lru.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy-priority-fifo.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/dead-nonce-list.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib-nexthop.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements-accessor.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-hashtable.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-iterator.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/network-region-table.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-face-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-in-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-iterator.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-out-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-choice-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-choice.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-info-host.cpp.3.o', 'src/ndnSIM/NFD/rib/auto-prefix-propagator.cpp.3.o', 'src/ndnSIM/NFD/rib/fib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/fib-updater.cpp.3.o', 'src/ndnSIM/NFD/rib/propagated-entry.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-entry.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-manager.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-update-batch.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/rib.cpp.3.o', 'src/ndnSIM/NFD/rib/route.cpp.3.o', '-o', '/Users/chenjiebo/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.dylib', '-L.', '-L/opt/local/lib', '-L/opt/local/lib', '-L/opt/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', '-L/opt/local/lib', '-lns3-dev-visualizer-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-wifi-debug', '-lns3-dev-applications-debug', '-lns3-dev-internet-debug', '-lns3-dev-mpi-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-bridge-debug', '-lns3-dev-config-store-debug', '-lns3-dev-energy-debug', '-lns3-dev-csma-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lpthread', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-lpangocairo-1.0', '-lgio-2.0', '-lXrender', '-lXinerama', '-lXi', '-lXrandr', '-lXcursor', '-lXcomposite', '-lXdamage', '-lXfixes', '-lX11', '-lXext', '-latk-1.0', '-lcairo', '-lgdk_pixbuf-2.0', '-lpangoft2-1.0', '-lpango-1.0', '-lgobject-2.0', '-lglib-2.0', '-lintl', '-lfontconfig', '-lfreetype', '-lxml2', '-lboost_graph', '-lboost_thread-mt', '-lboost_unit_test_framework', '-lboost_system', '-lboost_random', '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', '-lboost_program_options', '-lboost_chrono', '-lboost_filesystem', '-lboost_system', '-lboost_signals', '-lboost_filesystem', '-lcryptopp', '-lssl', '-lcrypto'] -------------- next part -------------- An HTML attachment was scrubbed... URL: From 3222427760 at qq.com Wed Mar 8 16:16:48 2017 From: 3222427760 at qq.com (=?gb18030?B?o6E=?=) Date: Thu, 09 Mar 2017 00:16:48 -0000 Subject: [ndnSIM] =?gb18030?b?u9i4tKO6SSB3YW50IHRvIG1ha2UgaW50ZXJlc3RzIHNl?= =?gb18030?q?nd_periodic=2E?= References: Message-ID: Sorry , I forgot a little detail in the last email. I want to make interests send periodic,but the files are too many to understand. I don t know how to achieve it.So I'm looking for help, hoping to get a solution. And I want to make consumer send interests from No.1 to No.100,then interests will return to No.1 and cycle.I have only recently studied,thank you very much!!! -------------- next part -------------- An HTML attachment was scrubbed... URL: From marahman at email.arizona.edu Thu Mar 9 20:40:51 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Fri, 10 Mar 2017 04:40:51 -0000 Subject: [ndnSIM] Wifi-AP with wired topology Message-ID: Hello! I'm working on an ndnSIM setup of the following topology: [image: Inline image 1] *AP1* and* AP2* are 2 wifi* AP* nodes with overlapping transmission range and both are wire connected to producer *P*. Consumer *C* moves from left to right with some constant velocity. I've implemented a similar code for 6 *AP*s with multiple routers in a tree fashion but facing some problems. My questions are as follows: 1. How can I make *C* to communicate with only one* AP* at any particular time in this scenario? In my current setup, when in intersecting region, both *AP1* and *AP2* forwards interests posted by *C* to *P*. 2. How can I get perfect association in ndnSIM? Currently, C sends association request to an *AP* and receives response. However, in that time, some interest packets are lost, which I observed in the log files. 3. How do I set different applications in the consumer+producer? Currently I'm testing FTP application. What about Web and Streaming? How to set timeout for interest sent by *C*? My current code is attached here: https://github.com/ashiqopu/ndnMobility/tree/master/ndnWiFi Regards- Ashiq Computer Science University of Arizona -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: ndnwifi.jpg Type: image/jpeg Size: 142420 bytes Desc: not available URL: From marahman at email.arizona.edu Fri Mar 24 08:24:00 2017 From: marahman at email.arizona.edu (Md Ashiqur Rahman) Date: Fri, 24 Mar 2017 08:24:00 -0700 Subject: [ndnSIM] Help: ndnSIM template giving errors In-Reply-To: References: Message-ID: Hello Spyros, Having error during ./waf configure -d optimized , here's the log- (see attached) Setting top to : /vagrant/ndnSIM/ns-3 Setting out to : /vagrant/ndnSIM/ns-3/build Checking for 'gcc' (C compiler) : /usr/bin/gcc Checking for cc version : 4.8.4 Checking for 'g++' (C++ compiler) : /usr/bin/g++ Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 Checking supported optimizations CXXFLAGS : -O3 Checking supported debug CXXFLAGS : -g Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing Checking for compilation flag -march=native... support : ok Checking for compilation flag -Wl,--soname=foo... support : ok Checking for program 'python' : /usr/bin/python Checking for python version : (2, 7, 6, 'final', 0) python-config : not found Checking for library python2.7 in LIBDIR : yes Checking for header Python.h : yes Checking for compilation flag -fvisibility=hidden... support : ok Checking for compilation flag -Wno-array-bounds... support : ok Checking for pybindgen location : ../pybindgen (guessed) Checking for python module 'pybindgen' : ok Traceback (most recent call last): File "setup.py", line 2, in from setuptools import setup ImportError: No module named setuptools Checking for pybindgen version : pybindgen (found ''), (need '0.17.0.post45+ng4806e4f') Checking boost includes : 1_54 Checking boost libs : ok Checking for boost linkage : ok Checking for click location : not found Checking for program 'pkg-config' : /usr/bin/pkg-config Checking for 'gtk+-2.0' >= 2.12 : not found Checking for 'libxml-2.0' >= 2.7 : yes Checking for type uint128_t : not found Checking for type __uint128_t : yes Checking high precision implementation : 128-bit integer (default) Checking for header stdint.h : yes Checking for header inttypes.h : yes Checking for header sys/inttypes.h : not found Checking for header sys/types.h : yes Checking for header sys/stat.h : yes Checking for header dirent.h : yes Checking for header stdlib.h : yes Checking for header signal.h : yes Checking for header pthread.h : yes Checking for header stdint.h : yes Checking for header inttypes.h : yes Checking for header sys/inttypes.h : not found Checking for library rt : yes Checking for header sys/ioctl.h : yes Checking for header net/if.h : yes Checking for header net/ethernet.h : yes Checking for header linux/if_tun.h : yes Checking for header netpacket/packet.h : yes Checking for NSC location : not found Checking for program 'doxygen' : not found Checking for program 'tar' : /bin/tar Checking for program 'sphinx-build' : not found Checking for std::is_default_constructible : yes Checking for std::is_nothrow_move_constructible : yes Checking for std::is_nothrow_move_assignable : yes Checking for std::to_string : yes Checking for std::vector::insert with const_iterator : no Checking for library pthread : yes Checking for 'sqlite3' : not found Checking for SQLite3 library : not found The configuration failed (complete log in /vagrant/ndnSIM/ns-3/build/config.log) Regards- Ashiq On Wed, Mar 22, 2017 at 11:43 AM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > can you try cloning this one? > > https://github.com/named-data-ndnSIM/scenario-template > > Thanks, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > > On Mar 22, 2017, at 10:09 AM, Md Ashiqur Rahman < > marahman at email.arizona.edu> wrote: > > Hello, > > The ndnSIM template here: http://github.com/cawka/ndnSIM-scenario-template > is not working, I'm getting error when trying to clone the repo. > > Regards- > Ashiq > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log Type: application/octet-stream Size: 68622 bytes Desc: not available URL: From tteixeira at engin.umass.edu Sat Mar 25 14:19:44 2017 From: tteixeira at engin.umass.edu (Thiago Teixeira) Date: Sat, 25 Mar 2017 21:19:44 +0000 Subject: [ndnSIM] Location tag Message-ID: <8df0a894922b42afadd2faf00e291778@engin.umass.edu> Hi, I am tweaking an older implementation of a Face and a Forwarding Strategy that uses ndnSIM 1.0. I want the sender to add its location in the Interest packet and the custodian to also add its location in the Data packet (see figure below). I borrowed the GeoTag class from the car-2-car implementation. __ __ __ | C | | R | | P | |_____________| |__________| Add InterestTag Read Tag Add DataTag A segment of the forwarding strategy code is attached, where I'm adding the tags to Interest and Data packets. The Face code is also attached, where I want the intermediate nodes to read the tags and do some actions. Position is being read correctly, but tag seems to be printed always 1. In SEND() - Consumer sends INTEREST Position: 37.3333 , 426.895 ... In OnInterest() Position is: 87.9029:346.258:0.964829 Tag is: 1 ... Tag not found ... In OnData() Position is: 87.9003:346.255:0.964829 Tag is: 1 ... Can you help please? Is the OnData() and OnInterest() the right place to add the tags? Thank you! -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: forwardingStrategy.txt URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: face.txt URL: From tteixeira at engin.umass.edu Sun Mar 26 20:33:48 2017 From: tteixeira at engin.umass.edu (Thiago Teixeira) Date: Mon, 27 Mar 2017 03:33:48 +0000 Subject: [ndnSIM] Location tag In-Reply-To: <8df0a894922b42afadd2faf00e291778@engin.umass.edu> References: <8df0a894922b42afadd2faf00e291778@engin.umass.edu> Message-ID: ** update ** I was able to make tagging work. I'm adding the tags in the producer and consumer applications, and reading the tags in the Face by using PeekPacketTag. The program crashes in the middle, however. I ran under gdb and got this error: ... In SEND() - Tag is OK, distance is 0.614296 0.000376375 In SEND() - Node 10 sends DATA. Position: 115.358 , 469.604 assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 terminate called without an active exception Program received signal SIGABRT, Aborted. 0x00007fffed3f8428 in __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) Do you have any pointers? Thanks, Thiago From: Thiago Teixeira Sent: Saturday, March 25, 2017 5:20 PM To: 'ndnsim at lists.cs.ucla.edu' Subject: Location tag Hi, I am tweaking an older implementation of a Face and a Forwarding Strategy that uses ndnSIM 1.0. I want the sender to add its location in the Interest packet and the custodian to also add its location in the Data packet (see figure below). I borrowed the GeoTag class from the car-2-car implementation. __ __ __ | C | | R | | P | |_____________| |__________| Add InterestTag Read Tag Add DataTag A segment of the forwarding strategy code is attached, where I'm adding the tags to Interest and Data packets. The Face code is also attached, where I want the intermediate nodes to read the tags and do some actions. Position is being read correctly, but tag seems to be printed always 1. In SEND() - Consumer sends INTEREST Position: 37.3333 , 426.895 ... In OnInterest() Position is: 87.9029:346.258:0.964829 Tag is: 1 ... Tag not found ... In OnData() Position is: 87.9003:346.255:0.964829 Tag is: 1 ... Can you help please? Is the OnData() and OnInterest() the right place to add the tags? Thank you! -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 27 15:27:33 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 27 Mar 2017 15:27:33 -0700 Subject: [ndnSIM] compilation failed on macOS 10.12.3 In-Reply-To: <36b04a1b.40490.15a9dcdc0ca.Coremail.cjb0725@mail.ustc.edu.cn> References: <36b04a1b.40490.15a9dcdc0ca.Coremail.cjb0725@mail.ustc.edu.cn> Message-ID: <27320F30-9A25-4576-A63B-018C28858688@cs.ucla.edu> Hi, please uninstall your current boost libraries and try to install them again through macports. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 5, 2017, at 1:29 AM, cjb0725 at mail.ustc.edu.cn wrote: > > Hi everyone, > I was trying to compile ndnsim on my MacBook, but i failed and don't know the reason. Lines I executed as follows: > -------------------------------------------------------------------------------------------------- > sudo port install pkgconfig boost sqlite3 libcryptopp openssl > sudo port install py27-pygraphviz py27-goocanvas py27-kiwi > mkdir ndnSIM > cd ndnSIM > git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3 > git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen > git clone --recursive https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM > cd ns-3 > ./waf configure --with-python=/opt/local/bin/python2.7 --enable-examples > ./waf > -------------------------------------------------------------------------------------------------- > and result : Undefined symbols for architecture x86_64:. > dont know how to solve this , any help would be great > Thanks a lot. > > Regards, > Chen > > [chenjiebo ns-3]$ ./waf configure --enable-examples > Setting top to : /Users/chenjiebo/ndnSIM/ns-3 > Setting out to : /Users/chenjiebo/ndnSIM/ns-3/build > Checking for 'clang' (C compiler) : /usr/bin/clang > Checking for cc version : 8.0.0 > Checking for 'clang++' (C++ compiler) : /usr/bin/clang++ > Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 > Checking supported optimizations CXXFLAGS : -O0 > Checking supported debug CXXFLAGS : -ggdb -g3 > Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing > Checking for program 'python' : /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python > Checking for python version : (2, 7, 13, 'final', 0) > python-config : /opt/local/bin/python2.7-config > Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes > Getting pyembed flags from python-config : yes > Asking python-config for pyext '--cflags --libs --ldflags' flags : yes > Getting pyext flags from python-config : yes > Checking for compilation flag -Wno-array-bounds... support : ok > Checking for pybindgen location : ../pybindgen (guessed) > Checking for python module 'pybindgen' : 0.17.0.post45+ng4806e4f > Checking for pybindgen version : 0.17.0.post45+ng4806e4f > Checking for code snippet : no > Checking for types uint64_t and unsigned long equivalence : yes > Checking for code snippet : yes > Checking for types uint64_t and unsigned long long equivalence : no > Checking for the apidefs that can be used for Python bindings : gcc-ILP32 > Checking for internal GCC cxxabi : incomplete > Checking for python module 'pygccxml' : not found > Checking boost includes : 1_60 > Checking boost libs : ok > Checking for boost linkage : ok > Checking for click location : not found > Checking for program 'pkg-config' : /opt/local/bin/pkg-config > Checking for 'gtk+-2.0' >= 2.12 : yes > Checking for 'libxml-2.0' >= 2.7 : yes > Checking for type uint128_t : not found > Checking for type __uint128_t : yes > Checking high precision implementation : 128-bit integer (default) > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for header sys/types.h : yes > Checking for header sys/stat.h : yes > Checking for header dirent.h : yes > Checking for header stdlib.h : yes > Checking for header signal.h : yes > Checking for header pthread.h : yes > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for library rt : not found > Checking for header sys/ioctl.h : yes > Checking for header net/if.h : yes > Checking for header net/ethernet.h : yes > Checking for header linux/if_tun.h : not found > Checking for header netpacket/packet.h : not found > Checking for NSC location : not found > Checking for program 'doxygen' : not found > Checking for program 'tar' : /usr/bin/tar > Checking for program 'sphinx-build' : not found > Checking for std::is_default_constructible : yes > Checking for std::is_nothrow_move_constructible : yes > Checking for std::is_nothrow_move_assignable : yes > Checking for std::to_string : yes > Checking for std::vector::insert with const_iterator : yes > Checking for library pthread : yes > Checking for 'sqlite3' : yes > Checking Crypto++ lib : 5.6.3 > Checking if CryptoPP library works : yes > Checking for OpenSSL lib : "OpenSSL 1.0.2k-fips 26 Jan 2017" > Checking if OpenSSL library works : yes > Checking for OpenFlow location : not found > Checking for 'sqlite3' : yes > Checking for header linux/if_tun.h : not found > Checking for python module 'gtk' : ok > Checking for python module 'goocanvas' : 0.14.1 > Checking for python module 'pygraphviz' : 1.1.dev1952 > Checking for program 'sudo' : /usr/bin/sudo > Checking for program 'valgrind' : not found > Checking for 'gsl' : not found > Checking for program 'doxygen' : not found > ---- Summary of optional NS-3 features: > Build profile : debug > Build directory : > Python Bindings : enabled > Python API Scanning Support : not enabled (Missing 'pygccxml' Python module) > BRITE Integration : not enabled (BRITE not enabled (see option --with-brite)) > NS-3 Click Integration : not enabled (nsclick not enabled (see option --with-nsclick)) > GtkConfigStore : enabled > XmlIo : enabled > Threading Primitives : enabled > Real Time Simulator : not enabled (librt is not available) > File descriptor NetDevice : enabled > Tap FdNetDevice : not enabled (needs linux/if_tun.h) > Emulation FdNetDevice : not enabled (needs netpacket/packet.h) > PlanetLab FdNetDevice : not enabled (PlanetLab operating system not detected (see option --force-planetlab)) > Network Simulation Cradle : not enabled (NSC not found (see option --with-nsc)) > MPI Support : not enabled (option --enable-mpi not selected) > ndnSIM : enabled > NS-3 OpenFlow Integration : not enabled (OpenFlow not enabled (see option --with-openflow)) > SQlite stats data output : enabled > Tap Bridge : not enabled ( include not detected) > PyViz visualizer : enabled > Use sudo to set suid bit : not enabled (option --enable-sudo not selected) > Build tests : not enabled (defaults to disabled) > Build examples : enabled > GNU Scientific Library (GSL) : not enabled (GSL not found) > 'configure' finished successfully (10.671s) > [chenjiebo ns-3]$ ./waf > Waf: Entering directory `/Users/chenjiebo/ndnSIM/ns-3/build' > [2802/2889] Linking build/libns3-dev-ndnSIM-debug.dylib > Undefined symbols for architecture x86_64: > "boost::re_detail::get_mem_block()", referenced from: > boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in interest-filter.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::extend_stack() in interest-filter.cpp.3.o > boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in face-uri.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::extend_stack() in face-uri.cpp.3.o > boost::re_detail::save_state_init::save_state_init(boost::re_detail::saved_state**, boost::re_detail::saved_state**) in regex-top-matcher.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::extend_stack() in regex-top-matcher.cpp.3.o > "boost::re_detail::put_mem_block(void*)", referenced from: > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::unwind_extra_block(bool) in interest-filter.cpp.3.o > boost::re_detail::save_state_init::~save_state_init() in interest-filter.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::unwind_extra_block(bool) in face-uri.cpp.3.o > boost::re_detail::save_state_init::~save_state_init() in face-uri.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::unwind_extra_block(bool) in regex-top-matcher.cpp.3.o > boost::re_detail::save_state_init::~save_state_init() in regex-top-matcher.cpp.3.o > "boost::re_detail::verify_options(unsigned int, boost::regex_constants::_match_flags)", referenced from: > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::match_imp() in interest-filter.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::match_imp() in face-uri.cpp.3.o > boost::re_detail::perl_matcher, std::__1::allocator > >, boost::regex_traits > >::match_imp() in regex-top-matcher.cpp.3.o > "boost::re_detail::raise_runtime_error(std::runtime_error const&)", referenced from: > void boost::re_detail::raise_error > > >(boost::regex_traits_wrapper > > const&, boost::regex_constants::error_type) in interest-filter.cpp.3.o > void boost::re_detail::raise_error > > >(boost::regex_traits_wrapper > > const&, boost::regex_constants::error_type) in face-uri.cpp.3.o > void boost::re_detail::raise_error > > >(boost::regex_traits_wrapper > > const&, boost::regex_constants::error_type) in regex-top-matcher.cpp.3.o > "boost::re_detail::get_default_error_string(boost::regex_constants::error_type)", referenced from: > boost::re_detail::cpp_regex_traits_implementation::error_string(boost::regex_constants::error_type) const in interest-filter.cpp.3.o > boost::re_detail::cpp_regex_traits_implementation::error_string(boost::regex_constants::error_type) const in face-uri.cpp.3.o > boost::re_detail::cpp_regex_traits_implementation::error_string(boost::regex_constants::error_type) const in regex-top-matcher.cpp.3.o > "boost::re_detail::cpp_regex_traits_implementation::transform_primary(char const*, char const*) const", referenced from: > boost::cpp_regex_traits::transform_primary(char const*, char const*) const in interest-filter.cpp.3.o > boost::cpp_regex_traits::transform_primary(char const*, char const*) const in face-uri.cpp.3.o > boost::cpp_regex_traits::transform_primary(char const*, char const*) const in regex-top-matcher.cpp.3.o > "boost::re_detail::cpp_regex_traits_implementation::transform(char const*, char const*) const", referenced from: > boost::cpp_regex_traits::transform(char const*, char const*) const in interest-filter.cpp.3.o > boost::cpp_regex_traits::transform(char const*, char const*) const in face-uri.cpp.3.o > boost::cpp_regex_traits::transform(char const*, char const*) const in regex-top-matcher.cpp.3.o > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see invocation) > > Waf: Leaving directory `/Users/chenjiebo/ndnSIM/ns-3/build' > Build failed > -> task in 'ns3-ndnSIM' failed (exit status 1): > {task 4537662096: cxxshlib ndn-app.cpp.3.o,ndn-consumer-batches.cpp.3.o,ndn-consumer-cbr.cpp.3.o,ndn-consumer-window.cpp.3.o,ndn-consumer-zipf-mandelbrot.cpp.3.o,ndn-consumer.cpp.3.o,ndn-producer.cpp.3.o,module-helpers.cpp.3.o,ndn-app-helper.cpp.3.o,ndn-face-container.cpp.3.o,ndn-fib-helper.cpp.3.o,ndn-global-routing-helper.cpp.3.o,ndn-link-control-helper.cpp.3.o,ndn-network-region-table-helper.cpp.3.o,ndn-scenario-helper.cpp.3.o,ndn-stack-helper.cpp.3.o,ndn-strategy-choice-helper.cpp.3.o,content-store-impl.cpp.3.o,content-store-nocache.cpp.3.o,content-store-with-freshness.cpp.3.o,content-store-with-probability.cpp.3.o,content-store-with-stats.cpp.3.o,ndn-content-store.cpp.3.o,ndn-app-link-service.cpp.3.o,ndn-block-header.cpp.3.o,ndn-common.cpp.3.o,ndn-global-router.cpp.3.o,ndn-l3-protocol.cpp.3.o,ndn-net-device-transport.cpp.3.o,batches.cpp.3.o,dummy-keychain.cpp.3.o,ndn-rtt-estimator.cpp.3.o,ndn-rtt-mean-deviation.cpp.3.o,ndn-time.cpp.3.o,annotated-topology-reader.cpp.3.o,rocketfuel-map-reader.cpp.3.o,rocketfuel-weights-reader.cpp.3.o,l2-rate-tracer.cpp.3.o,l2-tracer.cpp.3.o,ndn-app-delay-tracer.cpp.3.o,ndn-cs-tracer.cpp.3.o,ndn-l3-rate-tracer.cpp.3.o,ndn-l3-tracer.cpp.3.o,data.cpp.3.o,block-helpers.cpp.3.o,block.cpp.3.o,buffer-stream.cpp.3.o,buffer.cpp.3.o,asn_ext.cpp.3.o,encoder.cpp.3.o,estimator.cpp.3.o,nfd-constants.cpp.3.o,oid.cpp.3.o,exclude.cpp.3.o,face.cpp.3.o,interest-filter.cpp.3.o,interest.cpp.3.o,key-locator.cpp.3.o,link.cpp.3.o,cache-policy.cpp.3.o,field-info.cpp.3.o,nack-header.cpp.3.o,nack.cpp.3.o,packet.cpp.3.o,meta-info.cpp.3.o,control-response.cpp.3.o,dispatcher.cpp.3.o,channel-status.cpp.3.o,command-options.cpp.3.o,control-command.cpp.3.o,control-parameters.cpp.3.o,controller.cpp.3.o,face-event-notification.cpp.3.o,face-query-filter.cpp.3.o,face-status.cpp.3.o,fib-entry.cpp.3.o,forwarder-status.cpp.3.o,rib-entry.cpp.3.o,status-dataset.cpp.3.o,strategy-choice.cpp.3.o,status-dataset-context.cpp.3.o,name-component.cpp.3.o,name.cpp.3.o,certificate-cache-ttl.cpp.3.o,certificate-container.cpp.3.o,command-interest-validator.cpp.3.o,openssl-helper.cpp.3.o,digest-sha256.cpp.3.o,identity-container.cpp.3.o,identity.cpp.3.o,key-chain.cpp.3.o,key-container.cpp.3.o,key-params.cpp.3.o,key.cpp.3.o,pib-memory.cpp.3.o,pib-sqlite3.cpp.3.o,pib.cpp.3.o,safe-bag.cpp.3.o,sec-public-info-sqlite3.cpp.3.o,sec-public-info.cpp.3.o,sec-rule-relative.cpp.3.o,sec-rule-specific.cpp.3.o,sec-tpm-file.cpp.3.o,sec-tpm.cpp.3.o,secured-bag.cpp.3.o,security-common.cpp.3.o,signature-sha256-with-ecdsa.cpp.3.o,signature-sha256-with-rsa.cpp.3.o,signing-helpers.cpp.3.o,signing-info.cpp.3.o,base64-decode.cpp.3.o,base64-encode.cpp.3.o,block-cipher.cpp.3.o,bool-sink.cpp.3.o,buffer-source.cpp.3.o,digest-filter.cpp.3.o,hex-decode.cpp.3.o,hex-encode.cpp.3.o,hmac-filter.cpp.3.o,private-key.cpp.3.o,public-key.cpp.3.o,signer-filter.cpp.3.o,step-source.cpp.3.o,stream-sink.cpp.3.o,stream-source.cpp.3.o,strip-space.cpp.3.o,transform-base.cpp.3.o,verifier-filter.cpp.3.o,certificate-extension.cpp.3.o,certificate-subject-description.cpp.3.o,certificate.cpp.3.o,identity-certificate.cpp.3.o,public-key.cpp.3.o,additional-description.cpp.3.o,validator-config.cpp.3.o,validator-regex.cpp.3.o,validator.cpp.3.o,validity-period.cpp.3.o,selectors.cpp.3.o,signature-info.cpp.3.o,signature.cpp.3.o,tcp-transport.cpp.3.o,transport.cpp.3.o,unix-transport.cpp.3.o,config-file.cpp.3.o,crypto.cpp.3.o,network-monitor-impl-rtnl.cpp.3.o,digest.cpp.3.o,dns.cpp.3.o,ethernet.cpp.3.o,face-uri.cpp.3.o,in-memory-storage-entry.cpp.3.o,in-memory-storage-fifo.cpp.3.o,in-memory-storage-lfu.cpp.3.o,in-memory-storage-lru.cpp.3.o,in-memory-storage-persistent.cpp.3.o,in-memory-storage.cpp.3.o,indented-stream.cpp.3.o,io.cpp.3.o,logger.cpp.3.o,network-monitor.cpp.3.o,random.cpp.3.o,regex-top-matcher.cpp.3.o,scheduler-scoped-event-id.cpp.3.o,scheduler.cpp.3.o,segment-fetcher.cpp.3.o,signal-connection.cpp.3.o,signal-scoped-connection.cpp.3.o,sqlite3-statement.cpp.3.o,string-helper.cpp.3.o,time-unit-test-clock.cpp.3.o,time.cpp.3.o,city-hash.cpp.3.o,config-file.cpp.3.o,global-io.cpp.3.o,manager-base.cpp.3.o,network-interface-predicate.cpp.3.o,network-interface.cpp.3.o,network.cpp.3.o,privilege-helper.cpp.3.o,random.cpp.3.o,scheduler.cpp.3.o,channel.cpp.3.o,face-counters.cpp.3.o,face.cpp.3.o,generic-link-service.cpp.3.o,internal-face.cpp.3.o,internal-transport.cpp.3.o,link-service.cpp.3.o,lp-fragmenter.cpp.3.o,lp-reassembler.cpp.3.o,null-face.cpp.3.o,transport.cpp.3.o,access-strategy.cpp.3.o,algorithm.cpp.3.o,asf-measurements.cpp.3.o,asf-probing-module.cpp.3.o,asf-strategy.cpp.3.o,best-route-strategy.cpp.3.o,best-route-strategy2.cpp.3.o,client-control-strategy.cpp.3.o,face-table.cpp.3.o,forwarder.cpp.3.o,multicast-strategy.cpp.3.o,ncc-strategy.cpp.3.o,retx-suppression-exponential.cpp.3.o,retx-suppression-fixed.cpp.3.o,retx-suppression.cpp.3.o,rtt-estimator.cpp.3.o,strategy-registry.cpp.3.o,strategy.cpp.3.o,unsolicited-data-policy.cpp.3.o,command-authenticator.cpp.3.o,face-manager.cpp.3.o,fib-manager.cpp.3.o,forwarder-status-manager.cpp.3.o,general-config-section.cpp.3.o,nfd-manager-base.cpp.3.o,strategy-choice-manager.cpp.3.o,tables-config-section.cpp.3.o,cleanup.cpp.3.o,cs-entry-impl.cpp.3.o,cs-entry.cpp.3.o,cs-policy-lru.cpp.3.o,cs-policy-priority-fifo.cpp.3.o,cs-policy.cpp.3.o,cs.cpp.3.o,dead-nonce-list.cpp.3.o,fib-entry.cpp.3.o,fib-nexthop.cpp.3.o,fib.cpp.3.o,measurements-accessor.cpp.3.o,measurements-entry.cpp.3.o,measurements.cpp.3.o,name-tree-entry.cpp.3.o,name-tree-hashtable.cpp.3.o,name-tree-iterator.cpp.3.o,name-tree.cpp.3.o,network-region-table.cpp.3.o,pit-entry.cpp.3.o,pit-face-record.cpp.3.o,pit-in-record.cpp.3.o,pit-iterator.cpp.3.o,pit-out-record.cpp.3.o,pit.cpp.3.o,strategy-choice-entry.cpp.3.o,strategy-choice.cpp.3.o,strategy-info-host.cpp.3.o,auto-prefix-propagator.cpp.3.o,fib-update.cpp.3.o,fib-updater.cpp.3.o,propagated-entry.cpp.3.o,rib-entry.cpp.3.o,rib-manager.cpp.3.o,rib-update-batch.cpp.3.o,rib-update.cpp.3.o,rib.cpp.3.o,route.cpp.3.o -> libns3-dev-ndnSIM-debug.dylib} > ['/usr/bin/clang++', '-dynamiclib', 'src/ndnSIM/apps/ndn-app.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-batches.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-cbr.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-window.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-zipf-mandelbrot.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer.cpp.3.o', 'src/ndnSIM/apps/ndn-producer.cpp.3.o', 'src/ndnSIM/bindings/module-helpers.cpp.3.o', 'src/ndnSIM/helper/ndn-app-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-face-container.cpp.3.o', 'src/ndnSIM/helper/ndn-fib-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-global-routing-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-link-control-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-network-region-table-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-scenario-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-stack-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-strategy-choice-helper.cpp.3.o', 'src/ndnSIM/model/cs/content-store-impl.cpp.3.o', 'src/ndnSIM/model/cs/content-store-nocache.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-freshness.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-probability.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-stats.cpp.3.o', 'src/ndnSIM/model/cs/ndn-content-store.cpp.3.o', 'src/ndnSIM/model/ndn-app-link-service.cpp.3.o', 'src/ndnSIM/model/ndn-block-header.cpp.3.o', 'src/ndnSIM/model/ndn-common.cpp.3.o', 'src/ndnSIM/model/ndn-global-router.cpp.3.o', 'src/ndnSIM/model/ndn-l3-protocol.cpp.3.o', 'src/ndnSIM/model/ndn-net-device-transport.cpp.3.o', 'src/ndnSIM/utils/batches.cpp.3.o', 'src/ndnSIM/utils/dummy-keychain.cpp.3.o', 'src/ndnSIM/utils/ndn-rtt-estimator.cpp.3.o', 'src/ndnSIM/utils/ndn-rtt-mean-deviation.cpp.3.o', 'src/ndnSIM/utils/ndn-time.cpp.3.o', 'src/ndnSIM/utils/topology/annotated-topology-reader.cpp.3.o', 'src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp.3.o', 'src/ndnSIM/utils/topology/rocketfuel-weights-reader.cpp.3.o', 'src/ndnSIM/utils/tracers/l2-rate-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/l2-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-app-delay-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-cs-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-l3-rate-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-l3-tracer.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/data.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/block-helpers.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/block.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/buffer-stream.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/buffer.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/cryptopp/asn_ext.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/encoder.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/estimator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/nfd-constants.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/oid.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/exclude.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/face.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/interest-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/interest.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/key-locator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/link.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/cache-policy.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/detail/field-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/nack-header.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/nack.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/packet.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/meta-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/control-response.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/dispatcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/channel-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/command-options.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/control-command.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/control-parameters.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/controller.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/face-event-notification.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/face-query-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/face-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/fib-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/forwarder-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/rib-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/status-dataset.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/nfd/strategy-choice.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/status-dataset-context.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/name-component.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/name.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-cache-ttl.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/command-interest-validator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/detail/openssl-helper.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/digest-sha256.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-chain.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-params.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib-memory.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib-sqlite3.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/safe-bag.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-public-info-sqlite3.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-public-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-rule-relative.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-rule-specific.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-tpm-file.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-tpm.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/secured-bag.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/security-common.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-ecdsa.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-rsa.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signing-helpers.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signing-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/base64-decode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/base64-encode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/block-cipher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/bool-sink.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/buffer-source.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/digest-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/hex-decode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/hex-encode.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/hmac-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/private-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/public-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/signer-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/step-source.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/stream-sink.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/stream-source.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/strip-space.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/transform-base.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/transform/verifier-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/certificate-extension.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/certificate-subject-description.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/certificate.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/identity-certificate.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v1/public-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/v2/additional-description.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator-config.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator-regex.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validity-period.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/selectors.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/signature-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/signature.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/tcp-transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/unix-transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/config-file.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/crypto.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/detail/network-monitor-impl-rtnl.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/digest.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/dns.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/ethernet.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/face-uri.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-fifo.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lfu.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lru.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-persistent.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/indented-stream.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/io.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/logger.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/network-monitor.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/random.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/regex/regex-top-matcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/scheduler-scoped-event-id.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/scheduler.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/segment-fetcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/signal-connection.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/signal-scoped-connection.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/sqlite3-statement.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/string-helper.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/time-unit-test-clock.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/time.cpp.3.o', 'src/ndnSIM/NFD/core/city-hash.cpp.3.o', 'src/ndnSIM/NFD/core/config-file.cpp.3.o', 'src/ndnSIM/NFD/core/global-io.cpp.3.o', 'src/ndnSIM/NFD/core/manager-base.cpp.3.o', 'src/ndnSIM/NFD/core/network-interface-predicate.cpp.3.o', 'src/ndnSIM/NFD/core/network-interface.cpp.3.o', 'src/ndnSIM/NFD/core/network.cpp.3.o', 'src/ndnSIM/NFD/core/privilege-helper.cpp.3.o', 'src/ndnSIM/NFD/core/random.cpp.3.o', 'src/ndnSIM/NFD/core/scheduler.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/channel.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/face-counters.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/generic-link-service.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/internal-face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/internal-transport.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/link-service.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/lp-fragmenter.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/lp-reassembler.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/null-face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/transport.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/access-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/algorithm.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/asf-measurements.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/asf-probing-module.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/asf-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/best-route-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/best-route-strategy2.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/client-control-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/face-table.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/forwarder.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/multicast-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/ncc-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression-exponential.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression-fixed.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/rtt-estimator.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/strategy-registry.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/unsolicited-data-policy.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/command-authenticator.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/face-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/fib-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/forwarder-status-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/general-config-section.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/nfd-manager-base.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/strategy-choice-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/tables-config-section.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cleanup.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-entry-impl.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy-lru.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy-priority-fifo.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/dead-nonce-list.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib-nexthop.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements-accessor.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-hashtable.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-iterator.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/network-region-table.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-face-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-in-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-iterator.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-out-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-choice-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-choice.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-info-host.cpp.3.o', 'src/ndnSIM/NFD/rib/auto-prefix-propagator.cpp.3.o', 'src/ndnSIM/NFD/rib/fib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/fib-updater.cpp.3.o', 'src/ndnSIM/NFD/rib/propagated-entry.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-entry.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-manager.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-update-batch.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/rib.cpp.3.o', 'src/ndnSIM/NFD/rib/route.cpp.3.o', '-o', '/Users/chenjiebo/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.dylib', '-L.', '-L/opt/local/lib', '-L/opt/local/lib', '-L/opt/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', '-L/opt/local/lib', '-lns3-dev-visualizer-debug', '-lns3-dev-point-to-point-layout-debug', '-lns3-dev-point-to-point-debug', '-lns3-dev-wifi-debug', '-lns3-dev-applications-debug', '-lns3-dev-internet-debug', '-lns3-dev-mpi-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-propagation-debug', '-lns3-dev-mobility-debug', '-lns3-dev-bridge-debug', '-lns3-dev-config-store-debug', '-lns3-dev-energy-debug', '-lns3-dev-csma-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lpthread', '-lsqlite3', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-lpangocairo-1.0', '-lgio-2.0', '-lXrender', '-lXinerama', '-lXi', '-lXrandr', '-lXcursor', '-lXcomposite', '-lXdamage', '-lXfixes', '-lX11', '-lXext', '-latk-1.0', '-lcairo', '-lgdk_pixbuf-2.0', '-lpangoft2-1.0', '-lpango-1.0', '-lgobject-2.0', '-lglib-2.0', '-lintl', '-lfontconfig', '-lfreetype', '-lxml2', '-lboost_graph', '-lboost_thread-mt', '-lboost_unit_test_framework', '-lboost_system', '-lboost_random', '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', '-lboost_program_options', '-lboost_chrono', '-lboost_filesystem', '-lboost_system', '-lboost_signals', '-lboost_filesystem', '-lcryptopp', '-lssl', '-lcrypto -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 27 15:28:58 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 27 Mar 2017 15:28:58 -0700 Subject: [ndnSIM] =?utf-8?b?5Zue5aSN77yaSSB3YW50IHRvIG1ha2UgaW50ZXJlc3Rz?= =?utf-8?q?_send_periodic=2E?= In-Reply-To: References: Message-ID: <40118430-BDBE-4B98-A303-83F0D9E25293@cs.ucla.edu> Hi, this is already implemented as a part of the cbr consumer: https://github.com/named-data-ndnSIM/ndnSIM/blob/master/apps/ndn-consumer-cbr.cpp Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 8, 2017, at 4:16 PM, ? <3222427760 at qq.com> wrote: > > Sorry , I forgot a little detail in the last email. > > I want to make interests send periodic,but the files are too many to understand. I don t know how to achieve it.So I'm looking for help, hoping to get a solution. > And I want to make consumer send interests from No.1 to No.100,then interests will return to No.1 and cycle.I have only recently studied,thank you very much!!!_______________________________________________ > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 27 15:30:00 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 27 Mar 2017 15:30:00 -0700 Subject: [ndnSIM] A question about the expiry of PIT entry In-Reply-To: <2017022415594216327025@iie.ac.cn> References: <2017022415594216327025@iie.ac.cn> Message-ID: <2EE0D729-27CF-495F-806E-D9A23395C916@cs.ucla.edu> Hi, most probably, you do not set the Interest lifetime in the appropriate way. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Feb 23, 2017, at 11:59 PM, xinyonghui at iie.ac.cn wrote: > > Dear all: > Recently, I wonder about the expiry of PIT entry recorded in the PIT module, and I print the expiry in the Inrecord of each entry by adding print information in the "Forwarder::onIncomingInterset()" and move function "compare_InRecord_expiry" ahead to avoid error. I run the "./waf --run ndn-simple" successfully and redirect the output into a text file. > //+++++++++++++++++++++++++++++++++++++++ > double tt = ns3::Simulator::Now().ToDouble(ns3::Time::S); > std::cout <<"==========Forwarder::onIncomingInterest==================" << interest.getName().toUri() << "\t" << m_pit.size() << std::endl; > auto it = m_pit.begin(); > for(it = m_pit.begin(); it != m_pit.end(); it++) > { > pit::InRecordCollection::iterator lastExpiring = std::max_element(it->in_begin(), it->in_end(), &compare_InRecord_expiry); > time::nanoseconds time_s = lastExpiring->getExpiry()- time::steady_clock::now(); > std::cout << tt << "\t" << it->getName().toUri() << "\t" << time_s << std::endl; > } > //+++++++++++++++++++++++++++++++++++++++ > In general, the expiry should be a non-negetive value since it means the time interval to be expired. However, I find there are negetive values and huge positive values in the result file. As shown below fig. and I doubt the entry satisfied by Data is not clear timely, but I still cannot convince myself. > > I need your help and looking forward to your reply. Thanks very much. > ??? > ??? > ???????????? 5? > ????????????????????C1 ?? > ???100093 > ???15600615794 > ???xinyonghui at iie.ac.cn -------------- next part -------------- An HTML attachment was scrubbed... URL: From gc199211 at mail.ustc.edu.cn Mon Mar 27 19:25:42 2017 From: gc199211 at mail.ustc.edu.cn (gc199211) Date: Tue, 28 Mar 2017 10:25:42 +0800 Subject: [ndnSIM] how to add private member variable in class Intererst Message-ID: <58D9C9A5.5020403@mail.ustc.edu.cn> Hi sir : I find out that my last email is incomplete in maillist, so I finish it and send again. I am trying to add hop information in Interest recently on ndnSIM 2.2. Here is my code. 1). I add a private member variable which is named hop in ndnSIM/ndn-cxx/src/interest.h private: Name m_name; ...... mutable Block m_wire; int hop; // a new private member variable 2). I increace the value of hop in the nfd::Forwarder::onOutgoingInterest(shared_ptr pitEntry, Face& outFace,bool wantNewNonce),so as to caculate the hop . int tmpHop=interest->getHop(); tmpHop++; interest->setHop(tmpHop); Here is my problem,It seems that the hop value is always 0 no matter how many nodes it is forwarded.How to solve the problem? I know there is a ns3::ndn::FwHopCountTag a to caculate the hop in ns3::ndn::NetDeviceLinkService ,But I want to caculate the hop value directly in Interest. If it works ,I can add other member variable in Interest which is quite important for my research.Thank you very much . 2016-12-20 gc199211 -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Mar 27 19:30:24 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 27 Mar 2017 19:30:24 -0700 Subject: [ndnSIM] how to add private member variable in class Intererst In-Reply-To: <58D9C9A5.5020403@mail.ustc.edu.cn> References: <58D9C9A5.5020403@mail.ustc.edu.cn> Message-ID: <0589ED38-3F12-47D4-AF40-887A948B7099@cs.ucla.edu> Hi, why you do not use the hopCount of a data packet? This is already provided by ndnSIM. I guess that you do not encode your hop count as a TLV field for the Interest. You will to modify the wireEncode and wireDecode methods of the Interest class to do that. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 27, 2017, at 7:25 PM, gc199211 wrote: > > > Hi sir : > I find out that my last email is incomplete in maillist, so I finish it and send again. > I am trying to add hop information in Interest recently on ndnSIM 2.2. Here is my code. > 1). I add a private member variable which is named hop in ndnSIM/ndn-cxx/src/interest.h > private: > Name m_name; > ...... > mutable Block m_wire; > int hop; // a new private member variable > > 2). I increace the value of hop in the nfd::Forwarder::onOutgoingInterest(shared_ptr pitEntry, Face& outFace,bool wantNewNonce),so as to caculate the hop . > > int tmpHop=interest->getHop(); > tmpHop++; > interest->setHop(tmpHop); > > Here is my problem,It seems that the hop value is always 0 no matter how many nodes it is forwarded.How to solve the problem? I know there is a ns3::ndn::FwHopCountTag a to caculate the hop in ns3::ndn::NetDeviceLinkService ,But I want to caculate the hop value directly in Interest. If it works ,I can add other member variable in Interest which is quite important for my research.Thank you very much . > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kzer95 at gmail.com Mon Mar 27 21:20:24 2017 From: kzer95 at gmail.com (John Bennedict Lorenzo) Date: Tue, 28 Mar 2017 12:20:24 +0800 Subject: [ndnSIM] How to perform large data transfer Message-ID: Hello, I'm working on a delay tolerant solution to resume a data transfer when the network is interrupted. I tried setting the data size to a large value but it just says libc++abi.dylib: terminating with uncaught exception of type boost::exception_detail::clone_impl >: Length of block from stream is too large You would be very helpful if you know how to do this. Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From ilyaslahmer93 at gmail.com Tue Mar 28 02:19:27 2017 From: ilyaslahmer93 at gmail.com (lahmer ilyas) Date: Tue, 28 Mar 2017 10:19:27 +0100 Subject: [ndnSIM] how to add private member variable in class Intererst In-Reply-To: <58D9C9A5.5020403@mail.ustc.edu.cn> References: <58D9C9A5.5020403@mail.ustc.edu.cn> Message-ID: <7ab43567-d113-4b12-aae5-88bb4e49ceb7@typeapp.com> Hi, I had the same problem, but I added a string rather than int in the interest. My solution was to recreate the interest at each hop with the new string value. I don't know why but this fixed the problem. ? Sent from BlueMail ? On Mar 28, 2017, 3:26 AM, at 3:26 AM, gc199211 wrote: > >Hi sir : >I find out that my last email is incomplete in maillist, so I finish >it and send again. >I am trying to add hop information in Interest recently on ndnSIM >2.2. Here is my code. >1). I add a private member variable which is named hop in >ndnSIM/ndn-cxx/src/interest.h > private: > Name m_name; > ...... > mutable Block m_wire; >int hop; // a new private member variable > > >2). I increace the value of hop in the >nfd::Forwarder::onOutgoingInterest(shared_ptr pitEntry, >Face& outFace,bool wantNewNonce),so as to caculate the hop . > > int tmpHop=interest->getHop(); > tmpHop++; > interest->setHop(tmpHop); > >Here is my problem,It seems that the hop value is always 0 no matter >how many nodes it is forwarded.How to solve the problem? I know there >is a ns3::ndn::FwHopCountTag a to caculate the hop in >ns3::ndn::NetDeviceLinkService ,But I want to caculate the hop value >directly in Interest. If it works ,I can add other member variable in >Interest which is quite important for my research.Thank you very much >. > >2016-12-20 > > >gc199211 > >------------------------------------------------------------------------ > >_______________________________________________ >ndnSIM mailing list >ndnSIM at lists.cs.ucla.edu >http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From v0918732669 at gmail.com Tue Mar 28 08:14:31 2017 From: v0918732669 at gmail.com (=?UTF-8?B?5ZGC5bu65b63?=) Date: Tue, 28 Mar 2017 23:14:31 +0800 Subject: [ndnSIM] how to add private member variable in class Intererst In-Reply-To: <7ab43567-d113-4b12-aae5-88bb4e49ceb7@typeapp.com> References: <58D9C9A5.5020403@mail.ustc.edu.cn> <7ab43567-d113-4b12-aae5-88bb4e49ceb7@typeapp.com> Message-ID: Hi I also had the same problem , and happened that "TLV length doesn't match buffer length". I add the length of my value to the "totallength" , and it pops up that messages. Anyone knows how to fixed it step by step , I will appreciate very much 2017-03-28 17:19 GMT+08:00 lahmer ilyas : > Hi, I had the same problem, but I added a string rather than int in the > interest. My solution was to recreate the interest at each hop with the new > string value. I don't know why but this fixed the problem. > > > > Sent from BlueMail > > On Mar 28, 2017, at 3:26 AM, gc199211 wrote: >> >> >> Hi sir : >> I find out that my last email is incomplete in maillist, so I >> finish it and send again. >> I am trying to add hop information in Interest recently on *ndnSIM >> 2.2*. Here is my code. >> 1). I add a private member variable which is named hop in >> ndnSIM/ndn-cxx/src/interest.h >> private: >> Name m_name; >> ...... >> mutable Block m_wire; >> *int hop;* // a new private member >> variable >> >> 2). I increace the value of hop in the nfd::Forwarder:: >> onOutgoingInterest(shared_ptr pitEntry, Face& outFace,bool wantNewNonce),so >> as to caculate the hop . >> >> * int tmpHop=interest->getHop();* >> * tmpHop++;* >> * interest->setHop(tmpHop);* >> >> Here is my problem,It seems that the hop value is always 0 no matter how >> many nodes it is forwarded.How to solve the problem? I know there is a ns3::ndn::FwHopCountTag >> a to caculate the hop in ns3::ndn::NetDeviceLinkService ,But I want to >> caculate the hop value directly in Interest. If it works ,I can add other >> member variable in Interest which is quite important for my research.Thank >> you very much . >> >> >> ! &nb sp; >> 2016-12-20 >> ------------------------------ >> gc199211 >> >> ------------------------------ >> >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> >> > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Mar 28 10:56:40 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 28 Mar 2017 10:56:40 -0700 Subject: [ndnSIM] how to add private member variable in class Intererst In-Reply-To: References: <58D9C9A5.5020403@mail.ustc.edu.cn> <7ab43567-d113-4b12-aae5-88bb4e49ceb7@typeapp.com> Message-ID: <56E7FD00-2377-4D08-A996-F095251FF2D3@cs.ucla.edu> Hi, a step-by-step solution varies, therefore I can only help with some general guidelines: 1) Add the desired attribute to the Interest/Data class. 2) Encode and decode the attribute (modify the wireEncode and wireDecode classes respectively). The NDN packet encoding follows a TLV format that stands for Type Length Value, therefore, you have to use the API provided by ndn-cxx to: a) define a new type for the field you want to add: https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.5.0-17-g99832d4-ndnSIM/src/encoding/tlv.hpp b) for the length and value fields, encode/decode your field using the appropriate format (non negative integer, string block, etc.). Use the block helpers to do that: https://github.com/named-data-ndnSIM/ndn-cxx/blob/ndn-cxx-0.5.0-17-g99832d4-ndnSIM/src/encoding/block-helpers.cpp c) Pointer to the NDN TLV packet format: http://named-data.net/doc/NDN-TLV/current/ 3) If you want to modify a field on a hop by hop basis, the best way to do that would be to define a new Link Protocol (LP) field instead of directly modifying the Interest/Data classes. I have done that for the hopCount of data packets and the way to do that for any new LP field is similar: https://github.com/named-data-ndnSIM/NFD/commit/d0abae38024a6aecf6f956f4bbea36f4a9ff6d6f https://github.com/named-data-ndnSIM/ndn-cxx/commit/4692ba80cf1dcf07acbbaba8a134ea22481dd457 https://github.com/named-data-ndnSIM/ndn-cxx/commit/e53204419c51356dab70e0e5450ff5dcf587827a https://github.com/named-data-ndnSIM/ndnSIM/commit/73df9f587e1c16c4f67a0053fe29b68f523ff138 Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 28, 2017, at 8:14 AM, ??? wrote: > > Hi > > I also had the same problem , and happened that "TLV length doesn't match buffer length". > > I add the length of my value to the "totallength" , and it pops up that messages. > > Anyone knows how to fixed it step by step , I will appreciate very much > > 2017-03-28 17:19 GMT+08:00 lahmer ilyas >: > Hi, I had the same problem, but I added a string rather than int in the interest. My solution was to recreate the interest at each hop with the new string value. I don't know why but this fixed the problem. > > > > Sent from BlueMail > > On Mar 28, 2017, at 3:26 AM, gc199211 > wrote: > > Hi sir : > I find out that my last email is incomplete in maillist, so I finish it and send again. > I am trying to add hop information in Interest recently on ndnSIM 2.2. Here is my code. > 1). I add a private member variable which is named hop in ndnSIM/ndn-cxx/src/interest.h > private: > Name m_name; > ...... > mutable Block m_wire; > int hop; // a new private member variable > > 2). I increace the value of hop in the nfd::Forwarder::onOutgoingInterest(shared_ptr pitEntry, Face& outFace,bool wantNewNonce),so as to caculate the hop . > > int tmpHop=interest->getHop(); > tmpHop++; > interest->setHop(tmpHop); > > Here is my problem,It seems that the hop value is always 0 no matter how many nodes it is forwarded.How to solve the problem? I know there is a ns3::ndn::FwHopCountTag a to caculate the hop in ns3::ndn::NetDeviceLinkService ,But I want to caculate the hop value directly in Interest. If it works ,I can add other member variable in Interest which is quite important for my research.Thank you very much . > ! &nb sp; > 2016-12-20 > gc199211 -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Mar 28 11:00:11 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 28 Mar 2017 11:00:11 -0700 Subject: [ndnSIM] How to perform large data transfer In-Reply-To: References: Message-ID: <96114870-E71D-4299-95D9-96C14770F67C@cs.ucla.edu> Hi, you are trying to send a packet with a size greater than 8800 bytes, which is the maximum packet size defined in ndn-cxx: https://github.com/named-data/ndn-cxx/blob/e78eeca5cc6c882ea1c72daaffc7678bf42f526b/src/encoding/tlv.hpp#L37 It is not clear to me why you would like to do that, but you could try to change the value of this constant. However, I do not know if further issues will come up because of that. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 27, 2017, at 9:20 PM, John Bennedict Lorenzo wrote: > > Length of block from stream is too large -------------- next part -------------- An HTML attachment was scrubbed... URL: From gauravpanwar at live.in Tue Mar 28 13:57:26 2017 From: gauravpanwar at live.in (Gaurav Panwar) Date: Tue, 28 Mar 2017 20:57:26 +0000 Subject: [ndnSIM] BestRoute2 and Nacks Message-ID: Hello all, I was working with ndnsim2.3 and came across the BestRoute2 strategy. I had a few questions about it. Firstly if i have multiple interfaces to reach a producer, how does it select a best route, based on hop count? When does it decide to switch this best interface to another interface? What affects the metric of selection of best interface. Also while going through Nack Header class i see Congestion, Duplicate and No Route nack. When do the congestion and no route nacks get generated and where are they used? Are they generated at the strategy or the forwarder? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Mar 28 15:46:14 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 28 Mar 2017 15:46:14 -0700 Subject: [ndnSIM] BestRoute2 and Nacks In-Reply-To: References: Message-ID: <321842DE-8107-4981-821D-FB7EF32154C3@cs.ucla.edu> Hi, for the way that BestRoute2 works take a look at section 5.2.1 and for NACKs at section 4.4 of the NFD developer?s guide: https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Mar 28, 2017, at 1:57 PM, Gaurav Panwar wrote: > > Hello all, > I was working with ndnsim2.3 and came across the BestRoute2 strategy. I had a few questions about it. Firstly if i have multiple interfaces to reach a producer, how does it select a best route, based on hop count? When does it decide to switch this best interface to another interface? What affects the metric of selection of best interface. > Also while going through Nack Header class i see Congestion, Duplicate and No Route nack. > When do the congestion and no route nacks get generated and where are they used? Are they generated at the strategy or the forwarder? -------------- next part -------------- An HTML attachment was scrubbed... URL: From n.boubakr at BIT.edu.cn Tue Mar 28 21:37:40 2017 From: n.boubakr at BIT.edu.cn (Boubakr NOUR) Date: Wed, 29 Mar 2017 12:37:40 +0800 Subject: [ndnSIM] Cache every-thing strategy in a specific time Message-ID: <38c35a91-93a3-2d4e-7da4-5fc2b4f015e6@bit.edu.cn> Hello, I'd like to know how to use cache every-thing strategy in an interval of time, example from second 10 to 20. regards, -- Boubakr NOUR (Ph.D Candidate) Beijing Institute of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Tue Mar 28 21:52:13 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Wed, 29 Mar 2017 10:22:13 +0530 Subject: [ndnSIM] how to classified interest packet Message-ID: hello i am working on caching schema and for that i need to classifeird interest packet based on their popularity.so can any body tell me how to do that?? Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad -------------- next part -------------- An HTML attachment was scrubbed... URL: From ibrahim at internetworks.my Tue Mar 28 22:14:44 2017 From: ibrahim at internetworks.my (Dr. Ibrahim ABDULLAHI) Date: Wed, 29 Mar 2017 05:14:44 +0000 Subject: [ndnSIM] Cache every-thing strategy in a specific time In-Reply-To: <38c35a91-93a3-2d4e-7da4-5fc2b4f015e6@bit.edu.cn> References: <38c35a91-93a3-2d4e-7da4-5fc2b4f015e6@bit.edu.cn> Message-ID: This approach sounds interesting. We have tried working and proposing something of such. However, you will need to use some algorithm to approximate the timing. Good justification to the time allotment could prove important. All the best. On Wed, 29 Mar 2017 at 5:37 AM Boubakr NOUR wrote: > > > > > > > > > > > > > Hello, > > > I'd like to know how to use > > cache every-thing strategy in an interval of time, example > > from second 10 to 20. > > > regards, > > > > > -- > > Boubakr NOUR (Ph.D Candidate) > > Beijing Institute of Technology > > > > > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wyou at xidian.edu.cn Wed Mar 29 00:44:04 2017 From: wyou at xidian.edu.cn (wyou) Date: Wed, 29 Mar 2017 15:44:04 +0800 Subject: [ndnSIM] CryptoPP is present, but is not usable Message-ID: <30692196-8B6E-4434-B922-CCA41C0D72F4@xidian.edu.cn> Hi everyone, I got this error message when I compile the ndnSIM. OS: Mac OS X 10.11.6 El Capitan, and I installed all the dependencies from the MacPorts. Could someone help me out? Thanks! Here is the error message: ------- Yohan-MBP:ns-3 yohan$ ./waf configure --with-python --enable-examples Setting top to : /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3 Setting out to : /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3/build Checking for 'clang' (C compiler) : /usr/bin/clang Checking for cc version : 8.0.0 Checking for 'clang++' (C++ compiler) : /usr/bin/clang++ Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 Checking supported optimizations CXXFLAGS : -O0 Checking supported debug CXXFLAGS : -ggdb -g3 Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing Checking for program 'python' : /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Checking for python version : (2, 7, 12, 'final', 0) python-config : /opt/local/bin/python2.7-config Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes Getting pyembed flags from python-config : yes Asking python-config for pyext '--cflags --libs --ldflags' flags : yes Getting pyext flags from python-config : yes Checking for compilation flag -Wno-array-bounds... support : ok Checking for pybindgen location : ../pybindgen (guessed) Checking for python module 'pybindgen' : 0.17.0.post45+ng4806e4f Checking for pybindgen version : 0.17.0.post45+ng4806e4f Checking for code snippet : no Checking for types uint64_t and unsigned long equivalence : yes Checking for code snippet : yes Checking for types uint64_t and unsigned long long equivalence : no Checking for the apidefs that can be used for Python bindings : gcc-ILP32 Checking for internal GCC cxxabi : incomplete Checking for python module 'pygccxml' : 1.8.0 Checking for pygccxml version : 1.8.0 Checking for program 'gccxml' : /usr/local/bin/gccxml Checking for gccxml version : 0.9.0 Checking boost includes : 1_59 Checking boost libs : ok Checking for boost linkage : Could not link against boost libraries using supplied options Checking for click location : not found Checking for program 'pkg-config' : /opt/local/bin/pkg-config Checking for 'gtk+-2.0' >= 2.12 : yes Checking for 'libxml-2.0' >= 2.7 : yes Checking for type uint128_t : not found Checking for type __uint128_t : yes Checking high precision implementation : 128-bit integer (default) Checking for header stdint.h : yes Checking for header inttypes.h : yes Checking for header sys/inttypes.h : not found Checking for header sys/types.h : yes Checking for header sys/stat.h : yes Checking for header dirent.h : yes Checking for header stdlib.h : yes Checking for header signal.h : yes Checking for header pthread.h : yes Checking for header stdint.h : yes Checking for header inttypes.h : yes Checking for header sys/inttypes.h : not found Checking for library rt : not found Checking for header sys/ioctl.h : yes Checking for header net/if.h : yes Checking for header net/ethernet.h : yes Checking for header linux/if_tun.h : not found Checking for header netpacket/packet.h : not found Checking for NSC location : not found Checking for program 'doxygen' : /usr/local/bin/doxygen Checking for program 'tar' : /usr/bin/tar Checking for program 'sphinx-build' : not found Checking for std::is_default_constructible : no Checking for std::is_nothrow_move_constructible : no Checking for std::is_nothrow_move_assignable : no Checking for std::to_string : no Checking for std::vector::insert with const_iterator : no Checking for library pthread : yes Checking for 'sqlite3' : yes Checking Crypto++ lib : 5.6.3 Checking if CryptoPP library works : no Checking if CryptoPP library works : no CryptoPP is present, but is not usable (complete log in /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3/build/config.log) ????? -- Wei YOU Cyber Engineering School XiDian University Xi'an China From aa at CS.UCLA.EDU Wed Mar 29 07:39:30 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Wed, 29 Mar 2017 09:39:30 -0500 Subject: [ndnSIM] CryptoPP is present, but is not usable In-Reply-To: <30692196-8B6E-4434-B922-CCA41C0D72F4@xidian.edu.cn> References: <30692196-8B6E-4434-B922-CCA41C0D72F4@xidian.edu.cn> Message-ID: I have seen similar error on macOS and not yet sure about the cause (only appears on some systems and we still investigating). As a workaround, I can suggest compiling in a virtual machine, e.g., created using Vagrant. --- Alex > On Mar 29, 2017, at 2:44 AM, wyou wrote: > > Hi everyone, > > I got this error message when I compile the ndnSIM. OS: Mac OS X 10.11.6 El Capitan, and I installed all the dependencies from the MacPorts. Could someone help me out? Thanks! > Here is the error message: > ------- > Yohan-MBP:ns-3 yohan$ ./waf configure --with-python --enable-examples > Setting top to : /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3 > Setting out to : /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3/build > Checking for 'clang' (C compiler) : /usr/bin/clang > Checking for cc version : 8.0.0 > Checking for 'clang++' (C++ compiler) : /usr/bin/clang++ > Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 > Checking supported optimizations CXXFLAGS : -O0 > Checking supported debug CXXFLAGS : -ggdb -g3 > Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing > Checking for program 'python' : /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python > Checking for python version : (2, 7, 12, 'final', 0) > python-config : /opt/local/bin/python2.7-config > Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes > Getting pyembed flags from python-config : yes > Asking python-config for pyext '--cflags --libs --ldflags' flags : yes > Getting pyext flags from python-config : yes > Checking for compilation flag -Wno-array-bounds... support : ok > Checking for pybindgen location : ../pybindgen (guessed) > Checking for python module 'pybindgen' : 0.17.0.post45+ng4806e4f > Checking for pybindgen version : 0.17.0.post45+ng4806e4f > Checking for code snippet : no > Checking for types uint64_t and unsigned long equivalence : yes > Checking for code snippet : yes > Checking for types uint64_t and unsigned long long equivalence : no > Checking for the apidefs that can be used for Python bindings : gcc-ILP32 > Checking for internal GCC cxxabi : incomplete > Checking for python module 'pygccxml' : 1.8.0 > Checking for pygccxml version : 1.8.0 > Checking for program 'gccxml' : /usr/local/bin/gccxml > Checking for gccxml version : 0.9.0 > Checking boost includes : 1_59 > Checking boost libs : ok > Checking for boost linkage : Could not link against boost libraries using supplied options > Checking for click location : not found > Checking for program 'pkg-config' : /opt/local/bin/pkg-config > Checking for 'gtk+-2.0' >= 2.12 : yes > Checking for 'libxml-2.0' >= 2.7 : yes > Checking for type uint128_t : not found > Checking for type __uint128_t : yes > Checking high precision implementation : 128-bit integer (default) > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for header sys/types.h : yes > Checking for header sys/stat.h : yes > Checking for header dirent.h : yes > Checking for header stdlib.h : yes > Checking for header signal.h : yes > Checking for header pthread.h : yes > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for library rt : not found > Checking for header sys/ioctl.h : yes > Checking for header net/if.h : yes > Checking for header net/ethernet.h : yes > Checking for header linux/if_tun.h : not found > Checking for header netpacket/packet.h : not found > Checking for NSC location : not found > Checking for program 'doxygen' : /usr/local/bin/doxygen > Checking for program 'tar' : /usr/bin/tar > Checking for program 'sphinx-build' : not found > Checking for std::is_default_constructible : no > Checking for std::is_nothrow_move_constructible : no > Checking for std::is_nothrow_move_assignable : no > Checking for std::to_string : no > Checking for std::vector::insert with const_iterator : no > Checking for library pthread : yes > Checking for 'sqlite3' : yes > Checking Crypto++ lib : 5.6.3 > Checking if CryptoPP library works : no > Checking if CryptoPP library works : no > CryptoPP is present, but is not usable > (complete log in /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3/build/config.log) > ????? > > > -- > Wei YOU > Cyber Engineering School > XiDian University > Xi'an China > > > > > > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From wyou at xidian.edu.cn Wed Mar 29 07:51:43 2017 From: wyou at xidian.edu.cn (wyou) Date: Wed, 29 Mar 2017 22:51:43 +0800 Subject: [ndnSIM] CryptoPP is present, but is not usable In-Reply-To: References: <30692196-8B6E-4434-B922-CCA41C0D72F4@xidian.edu.cn> Message-ID: Thanks Muhammad, but it does not work. I guess that the error is not from the cryptopp, because when I tried without python ?./waf configure --disable-python --enable-examples?, the configuration passed. I noticed that there is a problem about the linkage of boost: > Checking for boost linkage : Could not link against boost libraries using supplied options But the weird thing is that the boost works well in the ?pure? ns-3: like ns-allinone-3.25. The linkage of boost is ok during the configuration. I then removed the boost which I installed from MacPorts, and manually reinstalled from the source code, but it did not work neither in our ndnSIM. I have no idea now? -- Wei YOU Cyber Engineering School XiDian University Xi'an China > ? 2017?3?29??18:52?Muhammad Hosain Abdollahi Sabet ??? > > Hi, > > Try --with-cryptopp /address/to/cryptolib > > I dont know about the address in Mac. But it worked in Ubuntu. > > Sabet > > On 29 Mar 2017 12:15 pm, "wyou" > wrote: > Hi everyone, > > I got this error message when I compile the ndnSIM. OS: Mac OS X 10.11.6 El Capitan, and I installed all the dependencies from the MacPorts. Could someone help me out? Thanks! > Here is the error message: > ------- > Yohan-MBP:ns-3 yohan$ ./waf configure --with-python --enable-examples > Setting top to : /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3 > Setting out to : /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3/build > Checking for 'clang' (C compiler) : /usr/bin/clang > Checking for cc version : 8.0.0 > Checking for 'clang++' (C++ compiler) : /usr/bin/clang++ > Checking supported compiler CXXFLAGS : -std=c++0x -std=c++11 > Checking supported optimizations CXXFLAGS : -O0 > Checking supported debug CXXFLAGS : -ggdb -g3 > Checking supported warnings CXXFLAGS : -Wall -Wno-error=deprecated-declarations -fstrict-aliasing -Wstrict-aliasing > Checking for program 'python' : /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python > Checking for python version : (2, 7, 12, 'final', 0) > python-config : /opt/local/bin/python2.7-config > Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes > Getting pyembed flags from python-config : yes > Asking python-config for pyext '--cflags --libs --ldflags' flags : yes > Getting pyext flags from python-config : yes > Checking for compilation flag -Wno-array-bounds... support : ok > Checking for pybindgen location : ../pybindgen (guessed) > Checking for python module 'pybindgen' : 0.17.0.post45+ng4806e4f > Checking for pybindgen version : 0.17.0.post45+ng4806e4f > Checking for code snippet : no > Checking for types uint64_t and unsigned long equivalence : yes > Checking for code snippet : yes > Checking for types uint64_t and unsigned long long equivalence : no > Checking for the apidefs that can be used for Python bindings : gcc-ILP32 > Checking for internal GCC cxxabi : incomplete > Checking for python module 'pygccxml' : 1.8.0 > Checking for pygccxml version : 1.8.0 > Checking for program 'gccxml' : /usr/local/bin/gccxml > Checking for gccxml version : 0.9.0 > Checking boost includes : 1_59 > Checking boost libs : ok > Checking for boost linkage : Could not link against boost libraries using supplied options > Checking for click location : not found > Checking for program 'pkg-config' : /opt/local/bin/pkg-config > Checking for 'gtk+-2.0' >= 2.12 : yes > Checking for 'libxml-2.0' >= 2.7 : yes > Checking for type uint128_t : not found > Checking for type __uint128_t : yes > Checking high precision implementation : 128-bit integer (default) > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for header sys/types.h : yes > Checking for header sys/stat.h : yes > Checking for header dirent.h : yes > Checking for header stdlib.h : yes > Checking for header signal.h : yes > Checking for header pthread.h : yes > Checking for header stdint.h : yes > Checking for header inttypes.h : yes > Checking for header sys/inttypes.h : not found > Checking for library rt : not found > Checking for header sys/ioctl.h : yes > Checking for header net/if.h : yes > Checking for header net/ethernet.h : yes > Checking for header linux/if_tun.h : not found > Checking for header netpacket/packet.h : not found > Checking for NSC location : not found > Checking for program 'doxygen' : /usr/local/bin/doxygen > Checking for program 'tar' : /usr/bin/tar > Checking for program 'sphinx-build' : not found > Checking for std::is_default_constructible : no > Checking for std::is_nothrow_move_constructible : no > Checking for std::is_nothrow_move_assignable : no > Checking for std::to_string : no > Checking for std::vector::insert with const_iterator : no > Checking for library pthread : yes > Checking for 'sqlite3' : yes > Checking Crypto++ lib : 5.6.3 > Checking if CryptoPP library works : no > Checking if CryptoPP library works : no > CryptoPP is present, but is not usable > (complete log in /Users/yohan/WorkingSpace/Recherche/Simulations/NDN/ndnSIM/ns-3/build/config.log) > ????? > > > -- > Wei YOU > Cyber Engineering School > XiDian University > Xi'an China > > > > > > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen21 at nirmauni.ac.in Wed Mar 29 22:21:01 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Thu, 30 Mar 2017 10:51:01 +0530 Subject: [ndnSIM] how could i rin "content-store-impl.cpp"file Message-ID: hello In terminal in ndnSim/ns-3 folder run ./waf --run content-store-impl it showing error like below: program 'content-store-impl' not found; available programs are: ['scratch-simulator', 'scratch/scratch-simulator', 'subdir', 'scratch/subdir/subdir', 'test-runner', 'utils/test-runner', 'bench-simulator', 'utils/bench-simulator', 'bench-packets', 'utils/bench-packets', 'print-introspected-doxygen', 'utils/print-introspected-doxygen', 'tap-device-creator', 'src/fd-net-device/tap-device-creator', 'raw-sock-creator', 'src/fd-net-device/raw-sock-creator', 'tap-creator', 'src/tap-bridge/tap-creator'] how to solve it????? Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad -------------- next part -------------- An HTML attachment was scrubbed... URL: From hexiaochun at bupt.edu.cn Thu Mar 30 15:25:06 2017 From: hexiaochun at bupt.edu.cn (=?gbk?B?us7P/rS6?=) Date: Thu, 30 Mar 2017 15:25:06 +0800(CST) Subject: [ndnSIM] =?gbk?q?About_extracting_the_name_of_data_in_Queue_of_nd?= =?gbk?q?nSIM?= Message-ID: <20170330072506.CA42C19F390@mx2.bupt.edu.cn> An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Mar 30 05:22:18 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 30 Mar 2017 07:22:18 -0500 Subject: [ndnSIM] how could i rin "content-store-impl.cpp"file In-Reply-To: References: Message-ID: You cannot run "file", as this is not a scenario. You need to define a scenario that uses whichever content store policy you would like and run it (see examples on ndnsim.net website). -- Alex > On Mar 30, 2017, at 12:21 AM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in> wrote: > > hello > > > In terminal in ndnSim/ns-3 folder run ./waf --run content-store-impl it showing error like below: > > program 'content-store-impl' not found; available programs are: ['scratch-simulator', 'scratch/scratch-simulator', 'subdir', 'scratch/subdir/subdir', 'test-runner', 'utils/test-runner', 'bench-simulator', 'utils/bench-simulator', 'bench-packets', 'utils/bench-packets', 'print-introspected-doxygen', 'utils/print-introspected-doxygen', 'tap-device-creator', 'src/fd-net-device/tap-device-creator', 'raw-sock-creator', 'src/fd-net-device/raw-sock-creator', 'tap-creator', 'src/tap-bridge/tap-creator'] > > how to solve it????? -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Mar 30 05:27:17 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 30 Mar 2017 07:27:17 -0500 Subject: [ndnSIM] About extracting the name of data in Queue of ndnSIM In-Reply-To: <20170330072506.CA42C19F390@mx2.bupt.edu.cn> References: <20170330072506.CA42C19F390@mx2.bupt.edu.cn> Message-ID: It is defined in cs-internal.hpp. iterator is a typedef for std::set::iterator, and EntryImpl is subclass of cs::Entry. You should be able to just `yourIterator->getName();` -- Alex > On Mar 30, 2017, at 2:25 AM, ??? wrote: > > Dear Sir/Madam, > > > > I'm a senior student in China. Recently, I want to extract the cached name of the nfd::cs::lru::Queue with sequenced index in order to match Interest. But I can't figure out the type of thing which the iterator of Queue points to . > > > > In a word , I can't figure out the struct of the things which is storaged in the Queue. > > > > PS: > > 1.The definition of Queue: > > typedef boost::multi_index_container< > iterator, > boost::multi_index::indexed_by< > boost::multi_index::sequenced<>, > boost::multi_index::ordered_unique< > boost::multi_index::identity, EntryItComparator > > > > > > Queue > > 2.file > > ..../ndnSIM/ns-3/build/ns3/ndnSIM/NFD/daemon/table/cs-policy-lru.hpp > > ..../ndnSIM/ns-3/src/ndnSIM/NFD/daemon/table/cs-policy-lru.cpp > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Mar 30 05:30:55 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 30 Mar 2017 07:30:55 -0500 Subject: [ndnSIM] Location tag In-Reply-To: References: <8df0a894922b42afadd2faf00e291778@engin.umass.edu> Message-ID: NS-3 Tags are a bit challenge to use. I have suspicion that you're trying to add a duplicate tag of the same time. In your OnData, try removing tag in OnData prior to adding it (or remove it when it exists). --- Alex > On Mar 26, 2017, at 10:33 PM, Thiago Teixeira wrote: > > ** update ** > > I was able to make tagging work. I?m adding the tags in the producer and consumer applications, and reading the tags in the Face by using PeekPacketTag. The program crashes in the middle, however. I ran under gdb and got this error: > > ? > In SEND() - Tag is OK, distance is 0.614296 > 0.000376375 In SEND() - Node 10 sends DATA. Position: 115.358 , 469.604 > assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", file=../src/network/model/packet-tag-list.cc, line=250 > terminate called without an active exception > > Program received signal SIGABRT, Aborted. > 0x00007fffed3f8428 in __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 > 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. > (gdb) > > > Do you have any pointers? > > Thanks, > Thiago > > > From: Thiago Teixeira > Sent: Saturday, March 25, 2017 5:20 PM > To: 'ndnsim at lists.cs.ucla.edu' > Subject: Location tag > > Hi, > > I am tweaking an older implementation of a Face and a Forwarding Strategy that uses ndnSIM 1.0. I want the sender to add its location in the Interest packet and the custodian to also add its location in the Data packet (see figure below). I borrowed the GeoTag class from the car-2-car implementation. > __ __ __ > | C | | R | | P | > |_____________| |__________| > Add InterestTag Read Tag Add DataTag > > A segment of the forwarding strategy code is attached, where I?m adding the tags to Interest and Data packets. The Face code is also attached, where I want the intermediate nodes to read the tags and do some actions. > > Position is being read correctly, but tag seems to be printed always 1. > > In SEND() - Consumer sends INTEREST Position: 37.3333 , 426.895 > ? > In OnInterest() Position is: 87.9029:346.258:0.964829 Tag is: 1 > ? > Tag not found > ? > In OnData() Position is: 87.9003:346.255:0.964829 Tag is: 1 > ? > > Can you help please? > Is the OnData() and OnInterest() the right place to add the tags? > > Thank you! > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From tteixeira at engin.umass.edu Thu Mar 30 05:33:03 2017 From: tteixeira at engin.umass.edu (Thiago Teixeira) Date: Thu, 30 Mar 2017 12:33:03 +0000 Subject: [ndnSIM] Location tag In-Reply-To: References: <8df0a894922b42afadd2faf00e291778@engin.umass.edu> Message-ID: Hi Alex, Thank you. I was able to solve the issue. Rgds, Thiago -----Original Message----- From: Alex Afanasyev [mailto:aa at cs.ucla.edu] Sent: Thursday, March 30, 2017 8:31 AM To: Thiago Teixeira Cc: ndnsim at lists.cs.ucla.edu Subject: Re: [ndnSIM] Location tag NS-3 Tags are a bit challenge to use. I have suspicion that you're trying to add a duplicate tag of the same time. In your OnData, try removing tag in OnData prior to adding it (or remove it when it exists). --- Alex > On Mar 26, 2017, at 10:33 PM, Thiago Teixeira wrote: > > ** update ** > > I was able to make tagging work. I?m adding the tags in the producer and consumer applications, and reading the tags in the Face by using PeekPacketTag. The program crashes in the middle, however. I ran under gdb and got this error: > > ? > In SEND() - Tag is OK, distance is 0.614296 > 0.000376375 In SEND() - Node 10 sends DATA. Position: 115.358 , > 469.604 assert failed. cond="cur->tid != tag.GetInstanceTypeId ()", > file=../src/network/model/packet-tag-list.cc, line=250 terminate > called without an active exception > > Program received signal SIGABRT, Aborted. > 0x00007fffed3f8428 in __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 > 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. > (gdb) > > > Do you have any pointers? > > Thanks, > Thiago > > > From: Thiago Teixeira > Sent: Saturday, March 25, 2017 5:20 PM > To: 'ndnsim at lists.cs.ucla.edu' > Subject: Location tag > > Hi, > > I am tweaking an older implementation of a Face and a Forwarding Strategy that uses ndnSIM 1.0. I want the sender to add its location in the Interest packet and the custodian to also add its location in the Data packet (see figure below). I borrowed the GeoTag class from the car-2-car implementation. > __ __ __ > | C | | R | | P | > |_____________| |__________| > Add InterestTag Read Tag Add DataTag > > A segment of the forwarding strategy code is attached, where I?m adding the tags to Interest and Data packets. The Face code is also attached, where I want the intermediate nodes to read the tags and do some actions. > > Position is being read correctly, but tag seems to be printed always 1. > > In SEND() - Consumer sends INTEREST Position: 37.3333 , 426.895 ? In > OnInterest() Position is: 87.9029:346.258:0.964829 Tag is: 1 ? Tag > not found ? In OnData() Position is: 87.9003:346.255:0.964829 Tag is: > 1 ? > > Can you help please? > Is the OnData() and OnInterest() the right place to add the tags? > > Thank you! > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From 15mcen21 at nirmauni.ac.in Thu Mar 30 21:16:07 2017 From: 15mcen21 at nirmauni.ac.in (ZALAKBEN PRAJAPATI) Date: Fri, 31 Mar 2017 09:46:07 +0530 Subject: [ndnSIM] how could i rin "content-store-impl.cpp"file In-Reply-To: References: Message-ID: thank you sir for your response. but ,can you help me how could i define scenario and using "content-store-imp" file. Thanks & Regards Prajapati Zalak Institute of Technology, Nirma University, Ahmedabad On Thu, Mar 30, 2017 at 5:52 PM, Alex Afanasyev wrote: > You cannot run "file", as this is not a scenario. You need to define a > scenario that uses whichever content store policy you would like and run it > (see examples on ndnsim.net website). > > -- > Alex > > On Mar 30, 2017, at 12:21 AM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in> > wrote: > > hello > > > In terminal in ndnSim/ns-3 folder run ./waf --run content-store-impl it > showing error like below: > > program 'content-store-impl' not found; available programs are: > ['scratch-simulator', 'scratch/scratch-simulator', 'subdir', > 'scratch/subdir/subdir', 'test-runner', 'utils/test-runner', > 'bench-simulator', 'utils/bench-simulator', 'bench-packets', > 'utils/bench-packets', 'print-introspected-doxygen', > 'utils/print-introspected-doxygen', 'tap-device-creator', > 'src/fd-net-device/tap-device-creator', 'raw-sock-creator', > 'src/fd-net-device/raw-sock-creator', 'tap-creator', > 'src/tap-bridge/tap-creator'] > > how to solve it????? > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15mcen09 at nirmauni.ac.in Fri Mar 31 05:08:07 2017 From: 15mcen09 at nirmauni.ac.in (AEMI KALARIA) Date: Fri, 31 Mar 2017 17:38:07 +0530 Subject: [ndnSIM] Config file regarding error Message-ID: Hello everyone , As i run basic sample program i get error like below.What should i do? In file included from ns3/ndnSIM/NFD/daemon/face/face.hpp:29:0, from ./ns3/ndnSIM/model/ndn-common.hpp:38, from ./ns3/ndnSIM/helper/ndn-stack-helper.hpp:23, from ./ns3/ndn-all.hpp:23, from ./ns3/ndnSIM-module.h:10, from ../src/ndnSIM/examples/ndn-triangle-calculate-routes.cpp:24: ns3/ndnSIM/NFD/common.hpp:29:22: fatal error: config.hpp: No such file or directory #include "config.hpp" ^ compilation terminated. In file included from ns3/ndnSIM/NFD/daemon/face/face.hpp:29:0, from ./ns3/ndnSIM/model/ndn-common.hpp:38, from ./ns3/ndnSIM/helper/ndn-stack-helper.hpp:23, from ./ns3/ndn-all.hpp:23, from ./ns3/ndnSIM-module.h:10, from ../src/ndnSIM/examples/ndn-zipf-mandelbrot.cpp:26: ns3/ndnSIM/NFD/common.hpp:29:22: fatal error: config.hpp: No such file or directory #include "config.hpp" ^ compilation terminated. How to solve it?? -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Mar 31 05:24:15 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 31 Mar 2017 07:24:15 -0500 Subject: [ndnSIM] Config file regarding error In-Reply-To: References: Message-ID: <8CC0A718-DC78-4818-850E-3FA4CD3CEBC0@cs.ucla.edu> Did you happen to update ndnSIM form an older version? If so, you also need to update submodules (make sure you saved your custom changes in NFD/ndn-cxx subfolder! or they will be overwritten): cd src/ndnSIM git submodule update --init Alternatively, you can re-clone ns3 and ndnSIM repositories to another folder, as described in ndnSIM.net . -- Alex > On Mar 31, 2017, at 7:08 AM, AEMI KALARIA <15mcen09 at nirmauni.ac.in> wrote: > > Hello everyone , > > As i run basic sample program i get error like below.What should i do? > > > In file included from ns3/ndnSIM/NFD/daemon/face/face.hpp:29:0, > from ./ns3/ndnSIM/model/ndn-common.hpp:38, > from ./ns3/ndnSIM/helper/ndn-stack-helper.hpp:23, > from ./ns3/ndn-all.hpp:23, > from ./ns3/ndnSIM-module.h:10, > from ../src/ndnSIM/examples/ndn-triangle-calculate-routes.cpp:24: > ns3/ndnSIM/NFD/common.hpp:29:22: fatal error: config.hpp: No such file or directory > #include "config.hpp" > ^ > compilation terminated. > > In file included from ns3/ndnSIM/NFD/daemon/face/face.hpp:29:0, > from ./ns3/ndnSIM/model/ndn-common.hpp:38, > from ./ns3/ndnSIM/helper/ndn-stack-helper.hpp:23, > from ./ns3/ndn-all.hpp:23, > from ./ns3/ndnSIM-module.h:10, > from ../src/ndnSIM/examples/ndn-zipf-mandelbrot.cpp:26: > ns3/ndnSIM/NFD/common.hpp:29:22: fatal error: config.hpp: No such file or directory > #include "config.hpp" > ^ > compilation terminated. > > > How to solve it?? > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Mar 31 05:26:32 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 31 Mar 2017 07:26:32 -0500 Subject: [ndnSIM] how could i rin "content-store-impl.cpp"file In-Reply-To: References: Message-ID: What exactly you're trying to accomplish? Whenever you're using "old-style" content store (http://ndnsim.net/2.3/helpers.html#content-store ), you're (indirectly) using parts of code in this file. -- Alex > On Mar 30, 2017, at 11:16 PM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in> wrote: > > thank you sir for your response. > > but ,can you help me how could i define scenario and using "content-store-imp" file. > > Thanks & Regards > Prajapati Zalak > Institute of Technology, > Nirma University, Ahmedabad > > > On Thu, Mar 30, 2017 at 5:52 PM, Alex Afanasyev > wrote: > You cannot run "file", as this is not a scenario. You need to define a scenario that uses whichever content store policy you would like and run it (see examples on ndnsim.net website). > > -- > Alex > >> On Mar 30, 2017, at 12:21 AM, ZALAKBEN PRAJAPATI <15mcen21 at nirmauni.ac.in > wrote: >> >> hello >> >> >> In terminal in ndnSim/ns-3 folder run ./waf --run content-store-impl it showing error like below: >> >> program 'content-store-impl' not found; available programs are: ['scratch-simulator', 'scratch/scratch-simulator', 'subdir', 'scratch/subdir/subdir', 'test-runner', 'utils/test-runner', 'bench-simulator', 'utils/bench-simulator', 'bench-packets', 'utils/bench-packets', 'print-introspected-doxygen', 'utils/print-introspected-doxygen', 'tap-device-creator', 'src/fd-net-device/tap-device-creator', 'raw-sock-creator', 'src/fd-net-device/raw-sock-creator', 'tap-creator', 'src/tap-bridge/tap-creator'] >> >> how to solve it????? > > -------------- next part -------------- An HTML attachment was scrubbed... URL: