From mastorakis at CS.UCLA.EDU Wed Feb 1 09:56:39 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Wed, 1 Feb 2017 09:56:39 -0800 Subject: [ndnSIM] Memory leaks In-Reply-To: <84c5e54b-e0fa-903f-819b-f7cb408df14f@itec.aau.at> References: <84c5e54b-e0fa-903f-819b-f7cb408df14f@itec.aau.at> Message-ID: Hi, as Alex mentioned, we have been trying to reproduce the problem for quite some time. It would be very helpful if you could share a simple example that causes the problem with us, so that we can take a look. Thank you, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Jan 31, 2017, at 11:54 PM, Philipp Moll wrote: > > > Hi, > > I also recognized this memory leak. In some cases the memory consumption of my simulations increase linear over the time; at the end of the simulation they consume up to 60GB. This problem especially arises in scenarios where Multicast is used as FW-Strategy and many packets are sent. > > I?m currently working with ndnSIM-2.1 (Commit-Hash: a9d889b). > > Regards, > Philipp Moll > > On 31/01/17 19:14, Saad SA wrote: >> No stabilization, it keeps growing up till the end of the simulation (Yes, it finishes). So if the same simulation ran on two different computers; the faster one would finish before, hence consuming less memory than the slower, the growing stops just when the simulation ends. (You have a rate of growing equal to X MB/s, so taking long time to finish would lead to consume more!) >> >> Sa'd >> >> On Tue, Jan 31, 2017 at 7:56 PM, Alex Afanasyev > wrote: >> >> > On Jan 31, 2017, at 8:31 AM, Saad SA > wrote: >> > >> > Hi, >> > >> > I had an application on ndnSIM version 0.2.8, and it was working too fine. Now I'm using the latest version, I changed the old application to work over the new ndnSIM and noticed huge memory leaks that are proportional to the run-time; On some computer it took more time and consumed 10 GB of RAM !! and on another faster one, it took less, hence consumed less RAM (4 GB or less), both are still huge amounts of memory as I'm using a small topology with 18 nodes and an average frequency of 500 requests/s; and all of that was running fine on the older version of ndnSIM. >> > Any ideas? >> >> Can you clarify a bit (if you can share a simple scenario that highlights the issue, it would be even better). Was the memory consumption growing or got to a point of high utilization and stabilized (you said it is run-time, but then mentioned that simulation finished). The reason I'm asking is that the old version of ndnSIM had optimization of "virtual payloads", which is not available in the new version. This has impact on the amounts of memory used, but it should be just a constant factor increase, not continuous increase during runtime. >> >> -- >> Alex >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Wed Feb 1 15:30:21 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Wed, 1 Feb 2017 16:30:21 -0700 Subject: [ndnSIM] Filtering of Traces In-Reply-To: References: Message-ID: Hi MD You may use different name prefixes for each content type. For example: /org/example/web/ /org/example/video/ /org/example/audio/ /org/example/voice/ Then, grep '/video/' gives you all log lines about video traffic. If you are using ns-3 tracers, you'll need to modify or configure the tracer to only collect statistics from names with a certain component. I don't know how to do this because I don't use them. Yours, Junxiao On Mon, Jan 30, 2017 at 6:20 AM, MD TAUSHIF wrote: > I wanted to filter the packet flows according to the type of data (like > video, audio, voice) in my topology. Can you help me with some ideas how > can I push data's which have all video, audio and voice file in the flow in > NDNSIM and then filter them according to their types? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From xristos.romanas at gmail.com Thu Feb 2 04:09:25 2017 From: xristos.romanas at gmail.com (Christos Romanas) Date: Thu, 2 Feb 2017 14:09:25 +0200 Subject: [ndnSIM] content store and frequency of interests Message-ID: <0E3B7FC3-45C6-4982-B7C1-E9DFAD20CD2E@gmail.com> Hi guys! i?m kind of new in ns3 and especially ndnSIM. I would like to run some scenarios with dumbbell topology with ndnstack and a simple cbr application and I will run the exact same scenarios with TCP/IP. My main concerns are getting the system throughput with l3tracer ,as long as the role and the size of Content Store that I will use. Do you have any suggestions on how should i approach the topic? I mean with an interest frequency of 40 interests/sec how much should the size of CS be? Thanks! From mastorakis at CS.UCLA.EDU Thu Feb 2 09:54:29 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Thu, 2 Feb 2017 09:54:29 -0800 Subject: [ndnSIM] content store and frequency of interests In-Reply-To: <0E3B7FC3-45C6-4982-B7C1-E9DFAD20CD2E@gmail.com> References: <0E3B7FC3-45C6-4982-B7C1-E9DFAD20CD2E@gmail.com> Message-ID: <546B4F86-E617-48C8-BC77-E4BA37563C60@cs.ucla.edu> Hi, I feel that this a research question. It depends on what exactly you are trying to do and what are the goals of your research. Nobody can tell what will be the size of caches when NDN gets extensively deployed. I think you should experiment with various setups till you get the desired results. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Feb 2, 2017, at 4:09 AM, Christos Romanas wrote: > > Hi guys! i?m kind of new in ns3 and especially ndnSIM. I would like to run some scenarios with dumbbell topology with ndnstack and a simple cbr application and I will run the exact same scenarios with TCP/IP. > My main concerns are getting the system throughput with l3tracer ,as long as the role and the size of Content Store that I will use. > Do you have any suggestions on how should i approach the topic? I mean with an interest frequency of 40 interests/sec how much should the size of CS be? > > Thanks! > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Feb 2 11:19:12 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 2 Feb 2017 11:19:12 -0800 Subject: [ndnSIM] Problem related to ndnSIM with Redis integration in Content-Store In-Reply-To: References: Message-ID: <3B274498-9082-4D01-9F41-5A7758F2DD86@cs.ucla.edu> If you're trying to use an external library, then you need not just put headers in (unless it is just header-only library), but also properly link the library to the code, in this case to ndnSIM module. You can take a look at examples in wscript in NS-3 folder, examples in waf book, and examples in waf source (the last one, in my opinion, is the best place to look). Also. Based on the errors, I highly suspect that you not going to succeed in making Redis working with NS-3. NS-3 is a discrete event simulator that expects that all events are scheduled and processed by the NS-3's Simulator interface. ev_io_start is part of libev library that implements an even loop. You can probably make code compile (e.g., by properly linking to libev), but it most likely not going to give you the expected results: some parts of the code will be working with simulated events (simulated time), some parts with real events (real time) with unpredictable interactions. You can try to replace the even loop in redis library by NS-3's facilities (this is exactly what has been done for ndn-cxx and NFD integration), but it may be a non-trivial task. -- Alex > On Feb 2, 2017, at 11:11 AM, Mobin Ranjbar wrote: > > Hi there, > > I am going to replace Table data structure with Redis in-memory database in Content-Store for benchmarking purpose. I have downloaded a C++ client for Redis called Redox that has some .h and .hpp files. I have added #include parts in cs-entry.cpp and run ./waf. But there are some errors following below: > > ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_start` > ./libns3-dev-ndnSIM-debug.so: undefined reference to `redisAsyncHandleRead` > ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_stop` > ./libns3-dev-ndnSIM-debug.so: undefined reference to `redisAsyncHandleWrite` > ` > > I figured out that it does not find those headers but I do not know where do I have to put header definition to make './waf' aware of new module. Any idea about this problem? Where should .h and .hpp files be defined? I have defined them in ndn-all.hpp but no hopes. > > Thanks for your help. > > > ________ > Mobin Ranjbar > Software Engineer, Big Data Evangelist and Startup Guy > Co-Founder of Iran Startups > Founder of Shariksho > Editor in Chief at Techly.co > Founder of FaraFekr Technology > Founder of Hadoop.ir > Founder of Big Data Watcher > Website | Twitter | Linkedin | skype: mobinranjbar -------------- next part -------------- An HTML attachment was scrubbed... URL: From pengminjiong19911004 at outlook.com Mon Feb 6 02:41:11 2017 From: pengminjiong19911004 at outlook.com (=?iso-2022-jp?B?GyRCV0UbKEIgGyRCWmF6dBsoQg==?=) Date: Mon, 6 Feb 2017 10:41:11 +0000 Subject: [ndnSIM] A question about packets aggregation level Message-ID: Hi I wonder if in NDN, the packets aggregation is on router-level not publisher-level. ? By publisher-level, I mean once publisher received two interest packets with the same data name , it should give two responses. Is that correct ? For example In my simulation, if the publisher receive 100 interest packets with same data name within a short time and the publisher answers 100 times. I checked the log file of publisher to confirm the results. peng minjiong -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Feb 6 08:45:15 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 6 Feb 2017 08:45:15 -0800 Subject: [ndnSIM] A question about packets aggregation level In-Reply-To: References: Message-ID: <6786C13A-E400-4FED-B881-45D54BD3F357@cs.ucla.edu> Hi, the aggregation is being done at each forwarder (NFD instance). This might happen if there is no pending interest for the interest name and the data is not cached along the path that the interest arrives at the publisher. Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Feb 6, 2017, at 2:41 AM, ? ??? wrote: > > Hi > > I wonder if in NDN, the packets aggregation is on router-level not publisher-level. ? > By publisher-level, I mean once publisher received two interest packets with the same data name , it should give two responses. Is that correct ? > > For example > In my simulation, if the publisher receive 100 interest packets with same data name within a short time and the publisher answers 100 times. > > I checked the log file of publisher to confirm the results. > > > peng minjiong -------------- next part -------------- An HTML attachment was scrubbed... URL: From xristos.romanas at gmail.com Mon Feb 6 11:07:45 2017 From: xristos.romanas at gmail.com (Christos Romanas) Date: Mon, 6 Feb 2017 21:07:45 +0200 Subject: [ndnSIM] Obtaining Metrics in ndnSIM Message-ID: Hello guys! I am a new user of ns-3 and ndnSIM and I'm facing some problems while obtaining measurements for my experiments.My main goal is to compare the network throughput and the app-delays in a dumbbell topology while using ndn stack on the one hand and the classic TCP/IP architecture on the other. My main concern is the network throughput measurement. I added the l3 tracer on the ndn-simple scenario and my thoughts are that I should isolate the InData measurements of all nodes,add them up, and maybe that would generate the throughput of the network as long as I use the seventh column(Kilobytes) of the rate-trace.txt file. Another concern of mine is,how would i get the same network approach in TCP/IP scenarios. I guess that i should use a TCP Bulk Sender Application(or an OnOff application since I'm using consumer cbr in ndnSIM) with the exact same Data rate, with which interests are generated in ndnSIM. (100 interests/sec --> 100 packets/sec data rate in TCP/IP). Any advice/comment/correction of the above logic would be extremely helpful! Thanks in advance for your time! -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Mon Feb 6 14:25:03 2017 From: rdeshmukh at umass.edu (Rajvardhan) Date: Mon, 06 Feb 2017 17:25:03 -0500 Subject: [ndnSIM] ndnSIM Digest, Vol 51, Issue 2 In-Reply-To: References: Message-ID: <9062f988-7a8e-4d78-87b9-c5c25d8df939@typeapp.com> Hello, I'm trying to write a CustomTracer that includes the functionality of AppDelayTracer and CsTracer. I get error(CustomTracer not defined) when I use it like using ns3::ndn::CustomTracer. which is same as using ns3::ndn::AppDelayTracer using ns3::ndn::CsTracer regards, Raj ? Sent from BlueMail ? On 6 Feb 2017 11:46, at 11:46, 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 related to ndnSIM with Redis integration in > Content-Store (Alex Afanasyev) > 2. A question about packets aggregation level > (=?iso-2022-jp?B?GyRCV0UbKEIgGyRCWmF6dBsoQg==?=) > 3. Re: A question about packets aggregation level > (Spyridon (Spyros) Mastorakis) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Thu, 2 Feb 2017 11:19:12 -0800 >From: Alex Afanasyev >To: Mobin Ranjbar >Cc: ndnsim , Spyros Mastorakis > , Lixia Zhang >Subject: Re: [ndnSIM] Problem related to ndnSIM with Redis integration > in Content-Store >Message-ID: <3B274498-9082-4D01-9F41-5A7758F2DD86 at cs.ucla.edu> >Content-Type: text/plain; charset="us-ascii" > >If you're trying to use an external library, then you need not just put >headers in (unless it is just header-only library), but also properly >link the library to the code, in this case to ndnSIM module. You can >take a look at examples in wscript in NS-3 folder, examples in waf >book, and examples in waf source (the last one, in my opinion, is the >best place to look). > >Also. Based on the errors, I highly suspect that you not going to >succeed in making Redis working with NS-3. NS-3 is a discrete event >simulator that expects that all events are scheduled and processed by >the NS-3's Simulator interface. ev_io_start is part of libev library >that implements an even loop. You can probably make code compile >(e.g., by properly linking to libev), but it most likely not going to >give you the expected results: some parts of the code will be working >with simulated events (simulated time), some parts with real events >(real time) with unpredictable interactions. You can try to replace >the even loop in redis library by NS-3's facilities (this is exactly >what has been done for ndn-cxx and NFD integration), but it may be a >non-trivial task. > >-- >Alex > >> On Feb 2, 2017, at 11:11 AM, Mobin Ranjbar >wrote: >> >> Hi there, >> >> I am going to replace Table data structure with Redis in-memory >database in Content-Store for benchmarking purpose. I have downloaded a >C++ client for Redis called Redox that has some .h and .hpp files. I >have added #include parts in cs-entry.cpp and run ./waf. But there are >some errors following below: >> >> ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_start` >> ./libns3-dev-ndnSIM-debug.so: undefined reference to >`redisAsyncHandleRead` >> ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_stop` >> ./libns3-dev-ndnSIM-debug.so: undefined reference to >`redisAsyncHandleWrite` >> ` >> >> I figured out that it does not find those headers but I do not know >where do I have to put header definition to make './waf' aware of new >module. Any idea about this problem? Where should .h and .hpp files be >defined? I have defined them in ndn-all.hpp but no hopes. >> >> Thanks for your help. >> >> >> ________ >> Mobin Ranjbar >> Software Engineer, Big Data Evangelist and Startup Guy >> Co-Founder of Iran Startups >> Founder of Shariksho >> Editor in Chief at Techly.co >> Founder of FaraFekr Technology >> Founder of Hadoop.ir >> Founder of Big Data Watcher >> Website | Twitter > | Linkedin > | skype: mobinranjbar > >-------------- next part -------------- >An HTML attachment was scrubbed... >URL: > > >------------------------------ > >Message: 2 >Date: Mon, 6 Feb 2017 10:41:11 +0000 >From: =?iso-2022-jp?B?GyRCV0UbKEIgGyRCWmF6dBsoQg==?= > >To: "ndnsim at lists.cs.ucla.edu" >Subject: [ndnSIM] A question about packets aggregation level >Message-ID: > > >Content-Type: text/plain; charset="iso-2022-jp" > >Hi > > >I wonder if in NDN, the packets aggregation is on router-level not >publisher-level. ? > >By publisher-level, I mean once publisher received two interest packets >with the same data name , it should give two responses. Is that >correct ? > > >For example > >In my simulation, if the publisher receive 100 interest packets with >same data name within a short time and the publisher answers 100 >times. > > >I checked the log file of publisher to confirm the results. > > > >peng minjiong >-------------- next part -------------- >An HTML attachment was scrubbed... >URL: > > >------------------------------ > >Message: 3 >Date: Mon, 6 Feb 2017 08:45:15 -0800 >From: "Spyridon (Spyros) Mastorakis" >To: ? ??? >Cc: "ndnsim at lists.cs.ucla.edu" >Subject: Re: [ndnSIM] A question about packets aggregation level >Message-ID: <6786C13A-E400-4FED-B881-45D54BD3F357 at cs.ucla.edu> >Content-Type: text/plain; charset="utf-8" > >Hi, > >the aggregation is being done at each forwarder (NFD instance). > >This might happen if there is no pending interest for the interest name >and the data is not cached along the path that the interest arrives at >the publisher. > >Thanks, > >Spyridon (Spyros) Mastorakis >Personal Website: http://cs.ucla.edu/~mastorakis/ > >Internet Research Laboratory >Computer Science Department >UCLA > >> On Feb 6, 2017, at 2:41 AM, ? ??? >wrote: >> >> Hi >> >> I wonder if in NDN, the packets aggregation is on router-level not >publisher-level. ? >> By publisher-level, I mean once publisher received two interest >packets with the same data name , it should give two responses. Is >that correct ? >> >> For example >> In my simulation, if the publisher receive 100 interest packets with >same data name within a short time and the publisher answers 100 >times. >> >> I checked the log file of publisher to confirm the results. >> >> >> peng minjiong > >-------------- 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 51, Issue 2 >************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Tue Feb 7 09:58:16 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Tue, 7 Feb 2017 09:58:16 -0800 Subject: [ndnSIM] Obtaining Metrics in ndnSIM In-Reply-To: References: Message-ID: <018C6FA1-106B-41F5-9F3F-F2A5BCB42675@cs.ucla.edu> Hi, > On Feb 6, 2017, at 11:07 AM, Christos Romanas wrote: > > Hello guys! > > I am a new user of ns-3 and ndnSIM and I'm facing some problems while obtaining measurements for my experiments.My main goal is to compare the network throughput and the app-delays in a dumbbell topology while using ndn stack on the one hand and the classic TCP/IP architecture on the other. > > My main concern is the network throughput measurement. I added the l3 tracer on the ndn-simple scenario and my thoughts are that I should isolate the InData measurements of all nodes,add them up, and maybe that would generate the throughput of the network as long as I use the seventh column(Kilobytes) of the rate-trace.txt file. You can use some trace processing framework to do that (e.g., grep, awk, R). Then, excel or gnuplot to visualize the results. Thanks, 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 susmit.shannigrahi at gmail.com Wed Feb 8 11:59:46 2017 From: susmit.shannigrahi at gmail.com (Susmit) Date: Wed, 8 Feb 2017 12:59:46 -0700 Subject: [ndnSIM] Missing HopCountTag in Data Packets Message-ID: Hi All, I have an ndnSIM topology with one producer, multiple consumers and intermediate nodes. I am trying to get the hop count for incoming data packets at the consumers. Below are the code and the trace for a single Interest packet. I confirmed that I am getting data from a different node (node 64) than the consumer (node 54), so the reply is not from local cache/local producer. This is my code for consumer::onData ________________________ Code ______________________________________ void onData(const ndn::Interest& interest, const ndn::Data& data) { auto ID = ns3::Simulator::GetContext(); auto now = ns3::Simulator::Now().To(ns3::Time::S); int hopCount = 0; auto hopCountTag = data.getTag(); if (hopCountTag != nullptr) { hopCount = *hopCountTag; std::cout << "Hop count: " << *hopCountTag << std::endl; } else { std::cout << "Packet tag doesn't exist for " << data.getName() << std::endl; } std::cout << "Time: " << now << ",node:" << ID << " Consumer:onData" << ",Data Name " << data.getName() << ",Hop Count " << hopCount << std::endl; .............. } __________________________ Trace ____________________________________ 1. Scheduling /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 at node 54 at time 1446227878 nonce 1495198176 2. Time: +1.44622787799999999995,node:54, Consumer:delayedInterest, Interest Name /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 3. Time :+1.44635877299999999996 node:64, Producer::OnInterest, Received interest: /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 Nonce : 1495198176 4. Packet tag doesn't exist for /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00/1495198176 5. Time: +1.57473100799999999997,node:54, Consumer:onData, Data Name /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00/1495198176,Hop Count 0 I am not sure if I am missing something. Thanks for your help. -- Regards, Susmit. From mobinranjbar at hotmail.com Thu Feb 2 11:30:49 2017 From: mobinranjbar at hotmail.com (Mobin Ranjbar) Date: Thu, 2 Feb 2017 19:30:49 +0000 Subject: [ndnSIM] Problem related to ndnSIM with Redis integration in Content-Store In-Reply-To: <3B274498-9082-4D01-9F41-5A7758F2DD86@cs.ucla.edu> References: , <3B274498-9082-4D01-9F41-5A7758F2DD86@cs.ucla.edu> Message-ID: Thanks Alex, Do you have any idea to deal with it and simulate Redis with ndnSIM(or something else) ? Best, ________ Mobin Ranjbar Software Engineer, Big Data Evangelist and Startup Guy Co-Founder of Iran Startups Founder of Shariksho Editor in Chief at Techly.co Founder of FaraFekr Technology Founder of Hadoop.ir Founder of Big Data Watcher Website | Twitter | Linkedin | skype: mobinranjbar ________________________________ From: Alex Afanasyev Sent: February 2, 2017 7:19 PM To: Mobin Ranjbar Cc: ndnsim; Spyros Mastorakis; Lixia Zhang Subject: Re: Problem related to ndnSIM with Redis integration in Content-Store If you're trying to use an external library, then you need not just put headers in (unless it is just header-only library), but also properly link the library to the code, in this case to ndnSIM module. You can take a look at examples in wscript in NS-3 folder, examples in waf book, and examples in waf source (the last one, in my opinion, is the best place to look). Also. Based on the errors, I highly suspect that you not going to succeed in making Redis working with NS-3. NS-3 is a discrete event simulator that expects that all events are scheduled and processed by the NS-3's Simulator interface. ev_io_start is part of libev library that implements an even loop. You can probably make code compile (e.g., by properly linking to libev), but it most likely not going to give you the expected results: some parts of the code will be working with simulated events (simulated time), some parts with real events (real time) with unpredictable interactions. You can try to replace the even loop in redis library by NS-3's facilities (this is exactly what has been done for ndn-cxx and NFD integration), but it may be a non-trivial task. -- Alex On Feb 2, 2017, at 11:11 AM, Mobin Ranjbar > wrote: Hi there, I am going to replace Table data structure with Redis in-memory database in Content-Store for benchmarking purpose. I have downloaded a C++ client for Redis called Redox that has some .h and .hpp files. I have added #include parts in cs-entry.cpp and run ./waf. But there are some errors following below: ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_start` ./libns3-dev-ndnSIM-debug.so: undefined reference to `redisAsyncHandleRead` ./libns3-dev-ndnSIM-debug.so: undefined reference to `ev_io_stop` ./libns3-dev-ndnSIM-debug.so: undefined reference to `redisAsyncHandleWrite` ` I figured out that it does not find those headers but I do not know where do I have to put header definition to make './waf' aware of new module. Any idea about this problem? Where should .h and .hpp files be defined? I have defined them in ndn-all.hpp but no hopes. Thanks for your help. ________ Mobin Ranjbar Software Engineer, Big Data Evangelist and Startup Guy Co-Founder of Iran Startups Founder of Shariksho Editor in Chief at Techly.co Founder of FaraFekr Technology Founder of Hadoop.ir Founder of Big Data Watcher Website | Twitter | Linkedin | skype: mobinranjbar -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Wed Feb 8 20:21:15 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Wed, 8 Feb 2017 20:21:15 -0800 Subject: [ndnSIM] Missing HopCountTag in Data Packets In-Reply-To: References: Message-ID: <1EC0362A-64A7-45AE-803C-3400F67656ED@cs.ucla.edu> FYI. Susmit sent me his code and after a bit of deep debugging, I discovered that this problem was actually caused by a small bug in ndnSIM. I just pushed a fix to our code review system and it should be merged as soon as all sanity checks passed. -- Alex > On Feb 8, 2017, at 11:59 AM, Susmit wrote: > > Hi All, > > I have an ndnSIM topology with one producer, multiple consumers and > intermediate nodes. I am trying to get the hop count for incoming > data packets at the consumers. > > Below are the code and the trace for a single Interest packet. > I confirmed that I am getting data from a different node (node 64) > than the consumer (node 54), so the reply is not from local > cache/local producer. > > This is my code for consumer::onData > > ________________________ Code ______________________________________ > > void > onData(const ndn::Interest& interest, const ndn::Data& data) > { > auto ID = ns3::Simulator::GetContext(); > auto now = ns3::Simulator::Now().To(ns3::Time::S); > > int hopCount = 0; > auto hopCountTag = data.getTag(); > if (hopCountTag != nullptr) { > hopCount = *hopCountTag; > std::cout << "Hop count: " << *hopCountTag << std::endl; > } > else { > std::cout << "Packet tag doesn't exist for " << > data.getName() << std::endl; > } > std::cout << "Time: " << now << ",node:" << ID << " > Consumer:onData" << ",Data Name " << data.getName() << ",Hop Count > " << hopCount << std::endl; > > .............. > } > __________________________ Trace ____________________________________ > > > > > 1. Scheduling /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 > at node 54 at time 1446227878 nonce 1495198176 > > 2. Time: +1.44622787799999999995,node:54, Consumer:delayedInterest, > Interest Name /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 > > 3. Time :+1.44635877299999999996 node:64, Producer::OnInterest, > Received interest: > /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 Nonce > : 1495198176 > > 4. Packet tag doesn't exist for > /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00/1495198176 > > 5. Time: +1.57473100799999999997,node:54, Consumer:onData, Data Name > /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00/1495198176,Hop > Count 0 > > > I am not sure if I am missing something. > > Thanks for your help. > > -- > Regards, > Susmit. > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From susmit.shannigrahi at gmail.com Wed Feb 8 21:08:30 2017 From: susmit.shannigrahi at gmail.com (Susmit) Date: Wed, 8 Feb 2017 22:08:30 -0700 Subject: [ndnSIM] Missing HopCountTag in Data Packets In-Reply-To: <1EC0362A-64A7-45AE-803C-3400F67656ED@cs.ucla.edu> References: <1EC0362A-64A7-45AE-803C-3400F67656ED@cs.ucla.edu> Message-ID: Thanks a lot Alex! I tested the code and can confirm it works properly. On Wed, Feb 8, 2017 at 9:21 PM, Alex Afanasyev wrote: > FYI. Susmit sent me his code and after a bit of deep debugging, I discovered that this problem was actually caused by a small bug in ndnSIM. I just pushed a fix to our code review system and it should be merged as soon as all sanity checks passed. > > -- > Alex > >> On Feb 8, 2017, at 11:59 AM, Susmit wrote: >> >> Hi All, >> >> I have an ndnSIM topology with one producer, multiple consumers and >> intermediate nodes. I am trying to get the hop count for incoming >> data packets at the consumers. >> >> Below are the code and the trace for a single Interest packet. >> I confirmed that I am getting data from a different node (node 64) >> than the consumer (node 54), so the reply is not from local >> cache/local producer. >> >> This is my code for consumer::onData >> >> ________________________ Code ______________________________________ >> >> void >> onData(const ndn::Interest& interest, const ndn::Data& data) >> { >> auto ID = ns3::Simulator::GetContext(); >> auto now = ns3::Simulator::Now().To(ns3::Time::S); >> >> int hopCount = 0; >> auto hopCountTag = data.getTag(); >> if (hopCountTag != nullptr) { >> hopCount = *hopCountTag; >> std::cout << "Hop count: " << *hopCountTag << std::endl; >> } >> else { >> std::cout << "Packet tag doesn't exist for " << >> data.getName() << std::endl; >> } >> std::cout << "Time: " << now << ",node:" << ID << " >> Consumer:onData" << ",Data Name " << data.getName() << ",Hop Count >> " << hopCount << std::endl; >> >> .............. >> } >> __________________________ Trace ____________________________________ >> >> >> >> >> 1. Scheduling /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 >> at node 54 at time 1446227878 nonce 1495198176 >> >> 2. Time: +1.44622787799999999995,node:54, Consumer:delayedInterest, >> Interest Name /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 >> >> 3. Time :+1.44635877299999999996 node:64, Producer::OnInterest, >> Received interest: >> /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00 Nonce >> : 1495198176 >> >> 4. Packet tag doesn't exist for >> /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00/1495198176 >> >> 5. Time: +1.57473100799999999997,node:54, Consumer:onData, Data Name >> /cmip5/app/zg_Amon_EC-EARTH_rcp45_r6i1p1_200601-205012.nc/%00%00/1495198176,Hop >> Count 0 >> >> >> I am not sure if I am missing something. >> >> Thanks for your help. >> >> -- >> Regards, >> Susmit. >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -- Regards, Susmit. From 158678408 at qq.com Thu Feb 9 19:30:24 2017 From: 158678408 at qq.com (=?ISO-8859-1?B?VmF5?=) Date: Fri, 10 Feb 2017 11:30:24 +0800 Subject: [ndnSIM] How to get queue length from outface in ndnSIM2.3 Message-ID: Hi All: I can get the queue length from an outface in ndnSIM2.0, but something has changed from the version 2.2, which causes my code does not work. In ndnSIM2.0 there are NetDeviceFace, but in version 2.3, this class is replaced with NetDeviceTransport. Now I can not get the queue length from an outFace in ndnSIM2.3? with my best regardVay -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Feb 10 00:15:06 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 10 Feb 2017 00:15:06 -0800 Subject: [ndnSIM] How to get queue length from outface in ndnSIM2.3 In-Reply-To: References: Message-ID: <1F7522EC-30AE-4713-8A14-2B2D697D0C18@cs.ucla.edu> > On Feb 9, 2017, at 7:30 PM, Vay <158678408 at qq.com> wrote: > > Hi All: > > I can get the queue length from an outface in ndnSIM2.0, but something has changed from the version 2.2, which causes my code does not work. > In ndnSIM2.0 there are NetDeviceFace, but in version 2.3, this class is replaced with NetDeviceTransport. Now I can not get the queue length from an outFace in ndnSIM2.3? Hi Vay, It is similar, but just a little bit more indirect: nfd::Face face; auto& transport = dynamic_cast(face->getTransport()) if (transport != nullptr) { transport->GetNetDevice() ... // and the rest the same as before } // else it is not a NetDevice-based face Sincerely, Alex From v0918732669 at gmail.com Fri Feb 10 04:06:41 2017 From: v0918732669 at gmail.com (=?UTF-8?B?5ZGC5bu65b63?=) Date: Fri, 10 Feb 2017 20:06:41 +0800 Subject: [ndnSIM] How to add a new variable Message-ID: Dear all I want to add a new variable in data.hpp and create get?set functions. Then , in ndn-producer.cpp::oninterest , i use set functions like below. data->setString(str); //std::cout << data->getString() << std::endl; I make sure that the str was set. but , in ndn-consumer.cpp::ondata , i use get functions like below. std::cout << data->getString() << std::endl; there is something wrong, str is empty! why i want to do that is the content may be encoded , and the consumer will receive some trash that i dont need. can someone help me to solve this questions I need some steps or tips. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Feb 10 09:24:31 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 10 Feb 2017 09:24:31 -0800 Subject: [ndnSIM] How to add a new variable In-Reply-To: References: Message-ID: <98820D1A-DB45-4094-A53C-A03342ADE1D1@cs.ucla.edu> My guess that you have missed two more steps while modifying data.cpp. You also need to properly encode and decode your new string to/from wire format. However, I'm kind of unsure what the problem you referring about receiving trash. The producer app is controlling what is put into the content and in which format. If you want to publish just a string, you just need to encode and decode it from the content. If you want to include more content (e.g., to inflate packet size), you can define a small structure on how content part is encoded. --- Alex > On Feb 10, 2017, at 4:06 AM, ??? wrote: > > Dear all > > I want to add a new variable in data.hpp and create get?set functions. > Then , in ndn-producer.cpp::oninterest , i use set functions like below. > > data->setString(str); > //std::cout << data->getString() << std::endl; > I make sure that the str was set. > > but , in ndn-consumer.cpp::ondata , i use get functions like below. > > std::cout << data->getString() << std::endl; > > there is something wrong, str is empty! > > why i want to do that is the content may be encoded , > and the consumer will receive some trash that i dont need. > > can someone help me to solve this questions > I need some steps or tips. > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From v0918732669 at gmail.com Fri Feb 10 19:30:50 2017 From: v0918732669 at gmail.com (=?UTF-8?B?5ZGC5bu65b63?=) Date: Sat, 11 Feb 2017 11:30:50 +0800 Subject: [ndnSIM] How to add a new variable In-Reply-To: <98820D1A-DB45-4094-A53C-A03342ADE1D1@cs.ucla.edu> References: <98820D1A-DB45-4094-A53C-A03342ADE1D1@cs.ucla.edu> Message-ID: I test the same code on three platfoms like below. http://imgur.com/a/9e38l and the first one is mac os, second one is mint based on ubuntu16.04, the last one is ubuntu16.04 LTS. the code in ndn-producer is data->setContent(::ndn::encoding::makeStringBlock(::ndn::tlv::Content, str)); the code in ndn-consumer is NS_LOG_INFO("< DATA for " << data->getContent().value()); I dont know what happened on these platforms, the same code ,the different result. orz > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Feb 10 20:37:20 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 10 Feb 2017 20:37:20 -0800 Subject: [ndnSIM] How to add a new variable In-Reply-To: References: <98820D1A-DB45-4094-A53C-A03342ADE1D1@cs.ucla.edu> Message-ID: > On Feb 10, 2017, at 7:30 PM, ??? wrote: > > I test the same code on three platfoms like below. > > http://imgur.com/a/9e38l > > and the first one is mac os, second one is mint based on ubuntu16.04, the last one is ubuntu16.04 LTS. > > the code in ndn-producer is > data->setContent(::ndn::encoding::makeStringBlock(::ndn::tlv::Content, str)); > > the code in ndn-consumer is > NS_LOG_INFO("< DATA for " << data->getContent().value()); This is not the proper way of interpreting content as a string. This will try to interpret bytes carried in the content as a null-terminated string, which the content probably isn't. Use this, a bit more explicit, way: std::string stringValue(data->getContent().value(), data->getContent().value_size()); > > I dont know what happened on these platforms, the same code ,the different result. orz > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From v0918732669 at gmail.com Fri Feb 10 21:08:01 2017 From: v0918732669 at gmail.com (=?UTF-8?B?5ZGC5bu65b63?=) Date: Sat, 11 Feb 2017 13:08:01 +0800 Subject: [ndnSIM] How to add a new variable In-Reply-To: References: <98820D1A-DB45-4094-A53C-A03342ADE1D1@cs.ucla.edu> Message-ID: thanks! Alex? I got it 2017-02-11 12:37 GMT+08:00 Alex Afanasyev : > > On Feb 10, 2017, at 7:30 PM, ??? wrote: > > I test the same code on three platfoms like below. > > http://imgur.com/a/9e38l > > and the first one is mac os, second one is mint based on ubuntu16.04, the > last one is ubuntu16.04 LTS. > > the code in ndn-producer is > data->setContent(::ndn::encoding::makeStringBlock(::ndn::tlv::Content, > str)); > > the code in ndn-consumer is > NS_LOG_INFO("< DATA for " << data->getContent().value()); > > > > This is not the proper way of interpreting content as a string. This will > try to interpret bytes carried in the content as a null-terminated string, > which the content probably isn't. > > Use this, a bit more explicit, way: > > std::string stringValue(data->getContent().value(), > data->getContent().value_size()); > > > > I dont know what happened on these platforms, the same code ,the different > result. orz > >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From anilj.mailing at gmail.com Sat Feb 11 09:32:18 2017 From: anilj.mailing at gmail.com (Anil Jangam) Date: Sat, 11 Feb 2017 09:32:18 -0800 Subject: [ndnSIM] =?utf-8?q?Cisco_VNI_Global_Mobile_Data_Forecast=2C_2016?= =?utf-8?b?4oCTMjAyMS4=?= Message-ID: If you haven't seen this so far. http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/mobile-white-paper-c11-520862.html /anil. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Sun Feb 12 05:45:49 2017 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Sun, 12 Feb 2017 17:15:49 +0330 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM Message-ID: Dear ndnSIM users I need to run a topology consisting of a producer, a consumer and a few routers. I want to use the nlsr as the routing protocol in this simulation. I know I can use nlsrSIM which is ported by Anil Jangam into ndnSIM recently but I do not know how exactly I can do it. I appreciate if anyone help me doing this. -- Mahsa Aghajani M.Sc. Student Department of Computer Engineering Sharif University of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From bmohammadi at ce.sharif.edu Sun Feb 12 06:01:05 2017 From: bmohammadi at ce.sharif.edu (bmohammadi) Date: Sun, 12 Feb 2017 17:31:05 +0330 Subject: [ndnSIM] How to locate nodes in the correct position in visualizer Message-ID: <67e912ceb39827bd71ba62bea936ce26@ce.sharif.edu> Dear all I am working with ndnSIM-NLSR and I want to use 5_node_router.brite as the topology. Although in that file the position of nodes are different but when I use visualizer all the nodes locate in the same position. I would appreciate if you help me how to locate the nodes in the correct position. Thank you in advanced for your help -------------- next part -------------- An HTML attachment was scrubbed... URL: From anilj.mailing at gmail.com Sun Feb 12 09:28:48 2017 From: anilj.mailing at gmail.com (Anil Jangam) Date: Sun, 12 Feb 2017 09:28:48 -0800 Subject: [ndnSIM] How to locate nodes in the correct position in visualizer In-Reply-To: <67e912ceb39827bd71ba62bea936ce26@ce.sharif.edu> References: <67e912ceb39827bd71ba62bea936ce26@ce.sharif.edu> Message-ID: Hi bmohammadi, Visualizationis not implemented or tested for this port yet. /anil. On Feb 12, 2017 5:59 AM, "bmohammadi" wrote: Dear all I am working with ndnSIM-NLSR and I want to use 5_node_router.brite as the topology. Although in that file the position of nodes are different but when I use visualizer all the nodes locate in the same position. I would appreciate if you help me how to locate the nodes in the correct position. Thank you in advanced for your help _______________________________________________ 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 anilj.mailing at gmail.com Sun Feb 12 09:39:39 2017 From: anilj.mailing at gmail.com (Anil Jangam) Date: Sun, 12 Feb 2017 09:39:39 -0800 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM In-Reply-To: References: Message-ID: Hello Mahsa, This scenario of application is not available yet nor tested. Below are some some directions how it can be done. As discussed, you will have to install the producer consumer apps on the nodes along with NLSR and start the producer/consumer application as soon as you detect that routing has converged. You can start them ahead of routing convergence but it may not find the routes and traffic may not go through. Please note that the default routing must disabled when NLSR is active. /anil. On Feb 12, 2017 5:46 AM, "Mahsa Aghajani" wrote: > Dear ndnSIM users > > I need to run a topology consisting of a producer, a consumer > and a few routers. I want to use the nlsr as the routing protocol > in this simulation. I know I can use nlsrSIM which is ported by > Anil Jangam into ndnSIM recently but I do not know how exactly I can do it. > I appreciate if anyone help me doing this. > > -- > > 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 rdeshmukh at umass.edu Mon Feb 13 15:28:29 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Mon, 13 Feb 2017 18:28:29 -0500 Subject: [ndnSIM] ndnSIM Digest, Vol 51, Issue 5 In-Reply-To: References: Message-ID: <337e03f46d7acf1672d246ea238318ac@umail.it.umass.edu> Topic: AppDelay tracer hi Alex, ndnsim Appdelaytracer stops writing into the specified file after 5 seconds. I am simulating a VANETS scenario using multicast forwarding strategy. i've called/defined the following virtual function as per the sources: Simulator::Stop (Seconds (50.0)); AppDelayTracer::InstallAll("3trapptrace.txt") Simulator::Run (); Simulator::Destroy (); Let me know if further details are required to debug this problem. Regards, Raj From aa at CS.UCLA.EDU Mon Feb 13 15:40:46 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Mon, 13 Feb 2017 15:40:46 -0800 Subject: [ndnSIM] ndnSIM Digest, Vol 51, Issue 5 In-Reply-To: <337e03f46d7acf1672d246ea238318ac@umail.it.umass.edu> References: <337e03f46d7acf1672d246ea238318ac@umail.it.umass.edu> Message-ID: Hi Raj, AppDelayTracer add a line into the output only when the client app receives data. The behavior you observing suggests that your client apps stop receiving data after 5 seconds. -- Alex > On Feb 13, 2017, at 3:28 PM, Rajvardhan Deshmukh wrote: > > Topic: AppDelay tracer > hi Alex, > ndnsim Appdelaytracer stops writing into the specified file after 5 seconds. > I am simulating a VANETS scenario using multicast forwarding strategy. > > i've called/defined the following virtual function as per the sources: > > Simulator::Stop (Seconds (50.0)); > AppDelayTracer::InstallAll("3trapptrace.txt") > Simulator::Run (); > Simulator::Destroy (); > > Let me know if further details are required to debug this problem. > > Regards, > Raj > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From dimpal.s at somaiya.edu Tue Feb 14 04:22:41 2017 From: dimpal.s at somaiya.edu (DIMPAL SUTAR) Date: Tue, 14 Feb 2017 17:52:41 +0530 Subject: [ndnSIM] Regarding RTT calculation in ndnsim Message-ID: I'm working on ndnsim's forwarding strategy, I want to extract Round trip time values in real time, through code so that I can regulate the transmission of outgoing interests. Can anyone guide me how to use ndn-rtt-estimator ? or any alternative to get rtt values? thanks -- Miss. Dimpal S. Sutar Student of M.Tech Electronics, KJSCE -- -------------- next part -------------- An HTML attachment was scrubbed... URL: From gorghino at gmail.com Wed Feb 15 11:10:06 2017 From: gorghino at gmail.com (Davide Aguiari) Date: Wed, 15 Feb 2017 19:10:06 +0000 Subject: [ndnSIM] scenario-ChronoSync building fails Message-ID: Hi! I'm trying to build scenario-ChronoSync in order to test NS3+ChronoSync and this is the most recent git with it. I'm running Elementary OS Loki Linux 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Python version: 2.7 Following you readme I got error here: `gorgo at dago:~/ndnSIM/ns-3$ ./waf configure -d optimized Traceback (most recent call last): File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Scripting.py", line 108, in waf_entry_point run_commands() File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Scripting.py", line 165, in run_commands parse_options() File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Scripting.py", line 138, in parse_options Context.create_context('options').execute() File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Options.py", line 146, in execute super(OptionsContext,self).execute() File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Context.py", line 92, in execute self.recurse([os.path.dirname(g_module.root_path)]) File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Context.py", line 133, in recurse user_function(self) File "/home/gorgo/ndnSIM/ns-3/wscript", line 213, in options opt.recurse('src') File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Context.py", line 133, in recurse user_function(self) File "/home/gorgo/ndnSIM/ns-3/src/wscript", line 48, in options opt.recurse(module, mandatory=False) File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Context.py", line 133, in recurse user_function(self) File "/home/gorgo/ndnSIM/ns-3/src/ndnSIM/wscript", line 18, in options tooldir=['%s/ndn-cxx/.waf-tools' % opt.path.abspath()]) File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Context.py", line 86, in load module=load_tool(t,path) File "/home/gorgo/ndnSIM/ns-3/.waf-1.8.12-f00e5b53f6bbeab1384a38c9cc5d51f7/waflib/Context.py", line 342, in load_tool __import__(tool) ImportError: No module named doxygen ` So I tried ndnSIM 2.3 following the getting started webpage. So: 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 git clone --recursive https://github.com/spirosmastorakis/scenario-ChronoSync git clone https://github.com/named-data-ndnSIM/scenario-template.git my-simulations git submodule update --init [...] ./waf configure -d optimized (or ./waf configure --enable-examples) ./waf sudo ./waf install [...] ``` gorgo at dago:~/ndnSIM/my-simulations$ ./waf configure gorgo at dago:~/ndnSIM/my-simulations$ ./waf --run scenario Waf: Entering directory `/home/gorgo/ndnSIM/my-simulations/build' Waf: Leaving directory `/home/gorgo/ndnSIM/my-simulations/build' 'build' finished successfully (0.021s) Traceback (most recent call last): File "/home/gorgo/ndnSIM/my-simulations/.waf-1.8.5-d178df7a9bb732db109001d6b461550f/waflib/Scripting.py", line 103, in waf_entry_point run_commands() File "/home/gorgo/ndnSIM/my-simulations/.waf-1.8.5-d178df7a9bb732db109001d6b461550f/waflib/Scripting.py", line 166, in run_commands run_command('shutdown') File "/home/gorgo/ndnSIM/my-simulations/.waf-1.8.5-d178df7a9bb732db109001d6b461550f/waflib/Scripting.py", line 155, in run_command ctx.execute() File "/home/gorgo/ndnSIM/my-simulations/.waf-1.8.5-d178df7a9bb732db109001d6b461550f/waflib/Context.py", line 92, in execute self.recurse([os.path.dirname(g_module.root_path)]) File "/home/gorgo/ndnSIM/my-simulations/.waf-1.8.5-d178df7a9bb732db109001d6b461550f/waflib/Context.py", line 133, in recurse user_function(self) File "/home/gorgo/ndnSIM/my-simulations/wscript", line 122, in shutdown return subprocess.call (argv) File "/usr/lib/python2.7/subprocess.py", line 523, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory ``` If I compile ChronoSync it fails too: ``` gorgo at dago:~/ndnSIM/scenario-ChronoSync$ ./waf --run chronosync-simple Waf: Entering directory `/home/gorgo/ndnSIM/scenario-ChronoSync/build' [ 1/13] Compiling ChronoSync/src/diff-state-container.cpp [ 2/13] Compiling ChronoSync/src/diff-state.cpp [ 3/13] Compiling ChronoSync/src/interest-container.cpp [ 4/13] Compiling ChronoSync/src/interest-table.cpp [ 5/13] Compiling ChronoSync/src/leaf-container.cpp [ 6/13] Compiling ChronoSync/src/leaf.cpp [ 7/13] Compiling ChronoSync/src/logic.cpp [ 8/13] Compiling ChronoSync/src/socket.cpp [ 9/13] Compiling ChronoSync/src/state.cpp [10/13] Compiling extensions/chronosync-app.cpp [11/13] Compiling extensions/chronosync.cpp [12/13] Compiling scenarios/chronosync-simple.cpp ../ChronoSync/src/socket.cpp: In member function ?void chronosync::Socket::publishData(const uint8_t*, std::size_t, const milliseconds&, const ndn::Name&)?: ../ChronoSync/src/socket.cpp:107:15: error: ?dataBlock? is not a member of ?ndn? publishData(ndn::dataBlock(ndn::tlv::Content, buf, len), freshness, prefix); ^ Waf: Leaving directory `/home/gorgo/ndnSIM/scenario-ChronoSync/build' Build failed -> task in 'ChronoSync' failed (exit status 1): {task 140012675614352: cxx socket.cpp -> socket.cpp.1.o} ['/usr/bin/g++', '-Wall', '-O0', '-g3', '-Wno-error=maybe-uninitialized', '-Og', '-fdiagnostics-color', '-std=c++11', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-I/home/gorgo/ndnSIM/scenario-ChronoSync/build/ChronoSync', '-I/home/gorgo/ndnSIM/scenario-ChronoSync/ChronoSync', '-I/usr/local/include/ns3-dev', '-I/usr/include/gtk-2.0', '-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include', '-I/usr/include/gio-unix-2.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/atk-1.0', '-I/usr/include/pixman-1', '-I/usr/include/libpng12', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/harfbuzz', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/include/freetype2', '-I/home/gorgo/ndnSIM/ns-3/build/ns3/ndnSIM/NFD', '-I/home/gorgo/ndnSIM/ns-3/ns3/ndnSIM/NFD', '-I/home/gorgo/ndnSIM/ns-3/build/src/ndnSIM/NFD/core', '-I/home/gorgo/ndnSIM/ns-3/src/ndnSIM/NFD/core', '-I/home/gorgo/ndnSIM/ns-3/build/src/ndnSIM/NFD/daemon', '-I/home/gorgo/ndnSIM/ns-3/src/ndnSIM/NFD/daemon', '-I/home/gorgo/ndnSIM/ns-3/build/src/ndnSIM/NFD/rib', '-I/home/gorgo/ndnSIM/ns-3/src/ndnSIM/NFD/rib', '-I/home/gorgo/ndnSIM/ns-3/build/ns3/ndnSIM', '-I/home/gorgo/ndnSIM/ns-3/ns3/ndnSIM', '-D_DEBUG', '-DNS3_LOG_ENABLE', '-DNS3_LOG_ENABLE=1', '-DNS3_ASSERT_ENABLE=1', '-DHAVE_NS3_CORE=1', '-DHAVE_NS3_NETWORK=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_POINT_TO_POINT=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_APPLICATIONS=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_MOBILITY=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_NDNSIM=1', '-DHAVE_SQLITE3=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_ANTENNA=1', '-DHAVE_NS3_AODV=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_BRIDGE=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_BUILDINGS=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_CONFIG_STORE=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_CSMA=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_CSMA_LAYOUT=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_DSDV=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_DSR=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_ENERGY=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_FD_NET_DEVICE=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_FLOW_MONITOR=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_INTERNET=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_LTE=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_MESH=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_MPI=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_NETANIM=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_NIX_VECTOR_ROUTING=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_OLSR=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_POINT_TO_POINT_LAYOUT=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_PROPAGATION=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_SPECTRUM=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_STATS=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_TAP_BRIDGE=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_TOPOLOGY_READ=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_UAN=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_VIRTUAL_NET_DEVICE=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_VISUALIZER=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_WIFI=1', '-DHAVE_GTK2=1', '-DHAVE_SQLITE3=1', '-DHAVE_NS3_WIMAX=1', '-DHAVE_SQLITE3=1', '../ChronoSync/src/socket.cpp', '-c', '-o', '/home/gorgo/ndnSIM/scenario-ChronoSync/build/ChronoSync/src/socket.cpp.1.o'] ``` Thank you for the support :) Davide -------------- next part -------------- An HTML attachment was scrubbed... URL: From v0918732669 at gmail.com Thu Feb 16 10:04:22 2017 From: v0918732669 at gmail.com (=?UTF-8?B?5ZGC5bu65b63?=) Date: Fri, 17 Feb 2017 02:04:22 +0800 Subject: [ndnSIM] MCU Message-ID: Dear all ndn users I changed my max packet length , but it's something bad happened. The MCU size is to short. Where is the MCU attributed variable that I can set? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From susmit at cs.colostate.edu Thu Feb 16 10:07:50 2017 From: susmit at cs.colostate.edu (Susmit) Date: Thu, 16 Feb 2017 11:07:50 -0700 Subject: [ndnSIM] MCU In-Reply-To: References: Message-ID: You need to modify MAX_NDN_PACKET_SIZE in ns-3/src/ndnSIM/ndn-cxx/src/encoding/tlv.hpp On Thu, Feb 16, 2017 at 11:04 AM, ??? wrote: > Dear all ndn users > > > I changed my max packet length , but it's something bad happened. > > The MCU size is to short. > > Where is the MCU attributed variable that I can set? > > Thanks > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -- Regards, Susmit ==================================== http://www.cs.colostate.edu/~susmit ==================================== From v0918732669 at gmail.com Thu Feb 16 10:43:27 2017 From: v0918732669 at gmail.com (=?UTF-8?B?5ZGC5bu65b63?=) Date: Fri, 17 Feb 2017 02:43:27 +0800 Subject: [ndnSIM] MCU In-Reply-To: References: Message-ID: I have already modified it. But it pop up this message. assert failed. cond="packet->GetSize() <= m_netDevice->GetMtu()", msg="Packet size 142480 exceeds device MTU 1500", file=../src/ndnSIM/model/ndn-net-device-link-service.cpp, line=139 terminate called without an active exception So , is it have the way to modify MTU size? 2017-02-17 2:07 GMT+08:00 Susmit : > You need to modify MAX_NDN_PACKET_SIZE in > ns-3/src/ndnSIM/ndn-cxx/src/encoding/tlv.hpp > > On Thu, Feb 16, 2017 at 11:04 AM, ??? wrote: > > Dear all ndn users > > > > > > I changed my max packet length , but it's something bad happened. > > > > The MCU size is to short. > > > > Where is the MCU attributed variable that I can set? > > > > Thanks > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > > -- > > Regards, > Susmit > > ==================================== > http://www.cs.colostate.edu/~susmit > ==================================== > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Feb 16 11:11:57 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 16 Feb 2017 11:11:57 -0800 Subject: [ndnSIM] MCU In-Reply-To: References: Message-ID: For this, you need to set default size of MTU for NS-3's PointToPoint devices: There are several ways, the simplest one is Config::SetDefault("ns3:: PointToPointNetDevice::Mtu", StringValue("65535")); --- Alex > On Feb 16, 2017, at 10:43 AM, ??? wrote: > > I have already modified it. > > But it pop up this message. > > assert failed. cond="packet->GetSize() <= m_netDevice->GetMtu()", msg="Packet size 142480 exceeds device MTU 1500", file=../src/ndnSIM/model/ndn-net-device-link-service.cpp, line=139 > terminate called without an active exception > > So , is it have the way to modify MTU size? > > 2017-02-17 2:07 GMT+08:00 Susmit : > You need to modify MAX_NDN_PACKET_SIZE in > ns-3/src/ndnSIM/ndn-cxx/src/encoding/tlv.hpp > > On Thu, Feb 16, 2017 at 11:04 AM, ??? wrote: > > Dear all ndn users > > > > > > I changed my max packet length , but it's something bad happened. > > > > The MCU size is to short. > > > > Where is the MCU attributed variable that I can set? > > > > Thanks > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > > -- > > Regards, > Susmit > > ==================================== > http://www.cs.colostate.edu/~susmit > ==================================== > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From n.boubakr at BIT.edu.cn Fri Feb 17 03:36:08 2017 From: n.boubakr at BIT.edu.cn (Boubakr NOUR) Date: Fri, 17 Feb 2017 19:36:08 +0800 Subject: [ndnSIM] Run Python scenario with --vis Message-ID: Hi, I failed to run a Python scenario with --vis argument, However I can run the same C++ scenario with --vis. Boubakr NOUR (Ph.D Student) -------------- next part -------------- An HTML attachment was scrubbed... URL: From ilyaslahmer93 at gmail.com Fri Feb 17 09:44:50 2017 From: ilyaslahmer93 at gmail.com (lahmer ilyas) Date: Fri, 17 Feb 2017 18:44:50 +0100 Subject: [ndnSIM] Compiling ChronoSync with ndnSim Message-ID: Hi, I'm trying to create an application using chronsync in ndnSim. I followed the instructions in https://github.com/spirosmastorakis/scenario-ChronoSync , but when when I compile I'm getting this error cound not find 'NFD/version.hpp.in' for bld(VERSION_STRING='0.5.0', features=['subst'], idx=1, VERSION_MAJOR='0', posted=True, meths=['collect_compilation_db_tasks', 'process_subst', 'process_rule', 'process_source'], install_path=None, prec=defaultdict(, {}), _name='version-NFD', VERSION_BUILD='0.5.0-41-g38111cd-ndnSIM', source='NFD/ version.hpp.in', VERSION_PATCH='0', VERSION=5000, mappings={}, path=/home/lahmer/Desktop/ndnChrono/ns-3/src/ndnSIM, VERSION_MINOR='5', target='../../ns3/ndnSIM/NFD/version.hpp') in /home/lahmer/Desktop/ndnChrono/ns-3/src/ndnSIM -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Feb 17 17:57:19 2017 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 17 Feb 2017 17:57:19 -0800 (PST) Subject: [ndnSIM] [CFP] ACM ICN 2017 - Poster and Demos Message-ID: <58a7a9ff.c1ce620a.77d9.2818@mx.google.com> ACM ICN 2017 - CALL FOR POSTERS AND DEMOS 4th ACM Conference on Information-Centric Networking Berlin, Germany on Sep. 26-28, 2017 http://conferences2.sigcomm.org/acm-icn/2017/cf-posters-and-demos.html ========================================================= The ICN poster and demo sessions are intended to showcase works-in-progress. Topics of interest are the same as those listed in the main track call for papers. We strongly encourage both student and industry submissions. Both demos and posters should be accompanied by a two-page extended abstract, which will be published in the conference proceedings. We specifically encourage submissions of posters and demos that are accompanied with datasets. Such submissions will have a preferential treatment during the review and will be eligible for special awards. The aim is to collect and share datasets that can hopefully become a common ground for evaluation in the ICN community. The posters and demos submitted to ACM ICN 2017 must be original and cannot be concurrently submitted to other workshops or conferences during the ACM ICN 2017 poster/demo review period. All dual submissions will be rejected without review. WHY SHOULD YOU SUBMIT A POSTER OR A DEMO? Presenting a poster is a great opportunity, especially for students, to obtain interesting and valuable feedback on ongoing research from a knowledgeable crowd at the conference. Accepted posters and demos will be published as a two-page abstract for the archived conference proceedings. Students who are submitting posters are highly encouraged to examine if they are eligible for student travel grants. MORE DETAILS http://conferences2.sigcomm.org/acm-icn/2017/cf-posters-and-demos.html ========================================================= IMPORTANT DATES Submission Deadline: July 9, 2017 12am EDT Acceptance Notification: March 1, 2017 Camera Ready Due: August 21, 2017 ========================================================= From binbs.khan at gmail.com Sat Feb 18 02:59:38 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Sat, 18 Feb 2017 15:59:38 +0500 Subject: [ndnSIM] Segmentation fault (core dumped) Message-ID: Hello all When I run my scenario through "./build/example" I got the following error Segmentation fault (core dumped) How to solve it please help me out Naveed Khan Bahria University, Islamabad -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Sat Feb 18 06:40:23 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Sat, 18 Feb 2017 14:40:23 +0000 Subject: [ndnSIM] Segmentation fault (core dumped) In-Reply-To: References: Message-ID: Hi Naveed Can you provide complete information as listed on http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html ? Yours, Junxiao On Sat, Feb 18, 2017 at 04:00 Naveed Khan wrote: > Hello all > When I run my scenario through "./build/example" I got the following error > Segmentation fault (core dumped) > > How to solve it please help me out > > Naveed Khan > > Bahria University, Islamabad > _______________________________________________ > 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 binbs.khan at gmail.com Sat Feb 18 09:51:17 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Sat, 18 Feb 2017 22:51:17 +0500 Subject: [ndnSIM] Segmentation fault (core dumped) In-Reply-To: References: Message-ID: I attached my code and using Ubuntu 14.04. On Sat, Feb 18, 2017 at 7:40 PM, Junxiao Shi wrote: > Hi Naveed > > Can you provide complete information as listed on > http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2016-May/001748.html ? > > Yours, Junxiao > > On Sat, Feb 18, 2017 at 04:00 Naveed Khan wrote: > >> Hello all >> When I run my scenario through "./build/example" I got the following error >> Segmentation fault (core dumped) >> >> How to solve it please help me out >> >> Naveed Khan >> >> Bahria University, Islamabad >> _______________________________________________ >> 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: mycode.cpp Type: text/x-c++src Size: 5786 bytes Desc: not available URL: From mhasabet at gmail.com Sat Feb 18 10:26:34 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Sat, 18 Feb 2017 21:56:34 +0330 Subject: [ndnSIM] Best Route acting weird Message-ID: ?Hi there, I was trying to show the impact forwarding plane and forwarding strategy in failure detection with a simple scenario in ndnSIM: ndn::FibHelper::AddRoute(nodes.Get(0),ndn::Name("/prefix"), > nodes.Get(2),1); > ndn::FibHelper::AddRoute(nodes.Get(1),ndn::Name("/prefix"), > nodes.Get(2),20); > ndn::FibHelper::AddRoute(nodes.Get(0),ndn::Name("/prefix"), > nodes.Get(1),20); > > ndn::StrategyChoiceHelper::Install(nodes.Get(0), ndn::Name("/prefix"), > "/localhost/nfd/strategy/best-route"); > > // Consumer > ndn::AppHelper consumerHelper("ns3::ndn::ConsumerCbr"); > consumerHelper.SetPrefix("/prefix"); > consumerHelper.SetAttribute("Frequency", StringValue("1")); > consumerHelper.Install(nodes.Get(0)); > > // Producer > ndn::AppHelper producerHelper("ns3::ndn::Producer"); > producerHelper.SetPrefix("/prefix"); > producerHelper.SetAttribute("PayloadSize", StringValue("1024")); > producerHelper.Install(nodes.Get(2)); > > Simulator::Schedule(Seconds(3.0), ndn::LinkControlHelper::FailLink, > nodes.Get(0), nodes.Get(2)); > Simulator::Schedule(Seconds(15.0), ndn::LinkControlHelper::UpLink, > nodes.Get(0), nodes.Get(2)); > It works fine at first and detects the failure so tries with the other face from 4s to 8s. But After 9s, Consumer tries sending interest while nfd does not send it: 9s 0 ndn.Consumer:SendPacket() > 9s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 6 > 9s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 6 with > +9000000000.0ns. already 0 items > 10s 0 ndn.Consumer:SendPacket() > 10s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 7 > 10s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 7 with > +10000000000.0ns. already 1 items > 10.6s -1 ndn.Consumer:OnTimeout(6) > 11s 0 ndn.Consumer:SendPacket() > 11s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 6 > 11s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 6 with > +11000000000.0ns. already 1 items > As soon as UpLink event, consumer tries with the first face and retrieves data. Why is that? Is it a kind of bug in nfd? Thanks, Sabet -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: link-failure.png Type: image/png Size: 21805 bytes Desc: not available URL: From mhasabet at gmail.com Sun Feb 19 17:55:58 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 05:25:58 +0330 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM In-Reply-To: References: Message-ID: Anil, Why is that? I mean if I install and start a producer application on one of the nodes in ndn-simple-nlsr, why it isn't going to converge the routing tables? Isn't that why we expect from nlsr? -- Sabet On Sun, Feb 12, 2017 at 9:09 PM, Anil Jangam wrote: > Hello Mahsa, > > This scenario of application is not available yet nor tested. Below are > some some directions how it can be done. > > As discussed, you will have to install the producer consumer apps on the > nodes along with NLSR and start the producer/consumer application as soon > as you detect that routing has converged. You can start them ahead of > routing convergence but it may not find the routes and traffic may not go > through. Please note that the default routing must disabled when NLSR is > active. > > /anil. > > On Feb 12, 2017 5:46 AM, "Mahsa Aghajani" > wrote: > >> Dear ndnSIM users >> >> I need to run a topology consisting of a producer, a consumer >> and a few routers. I want to use the nlsr as the routing protocol >> in this simulation. I know I can use nlsrSIM which is ported by >> Anil Jangam into ndnSIM recently but I do not know how exactly I can do >> it. >> I appreciate if anyone help me doing this. >> >> -- >> >> 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 shijunxiao at email.arizona.edu Sun Feb 19 20:55:56 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Sun, 19 Feb 2017 21:55:56 -0700 Subject: [ndnSIM] Best Route acting weird In-Reply-To: References: Message-ID: Hi Sabet This may be related to the retransmission behavior of ns3::ndn::ConsumerCbr. I can see that ndn::LinkControlHelper::FailLink does not cause face->getStatus() to become DOWN, and there is no BFD running, so the face will remain UP from strategy point of view. Your scenario uses static routes, so that 0->2 route would remain active even if the link is having 100% loss rate. As long as face->getState() is UP and the route is still active, NFD best-route v4 keeps using 0->2 route when an Interest is received for the first time, and will try 0->1 route only if the consumer retransmit the Interest (same Name+Selectors+Link, different Nonce). Moreover, a consumer retransmission can cause best-route v4 to use 0->2 route only if it arrives no later than InterestLifetime expiration (2 seconds in your scenario), and no earlier than best-route's suppression timer (10ms for the first retransmission). ns3::ndn::ConsumerCbr expresses a new Interest every 1 second with InterestLifetime 2000ms, and retransmits an unsatisfied Interest after RTO. RTO is computed using TCP's algorithm, bounded between 0.2 and 200 seconds. When Data arrives, its RTT is added to the RttEstimator if the Interest has not been retransmitted. On the other hand, if an Interest times out (no Data within RTO), the RTO multiplier doubles, up to 64. The multiplier can be reset to 1 only if a Data arrives without any Interest retransmission. Combine this with the behavior of best-route v4, we can see that, since best-route v4 requires consumer retransmission for every Interest in order to retrieve Data via 0->1 route, the multiplier would never get reset. Eventually, the RTO would exceed InterestLifetime, and therefore the retransmitted Interest would not be detected by best-route v4 as consumer retransmission. Your log shows, Interest for seq 6 is initially sent at 9.0s. RTO timeout occurs at 10.6s. Then, the logic in ConsumerCbr schedules the retransmission at 11.0s. This is exactly the case I described above: at 11.0s, PIT entry is gone because InterestLifetime has expired, so that best-route v4 would detect the Interest as a new Interest instead of a retransmission, and forward it toward 0->2 route which is having 100% loss rate. This is the expected behavior of best-route v4, and it's not a NFD bug. To make this scenario work better, suggestions are: - Implement BFD in the face, making face->getState() report as DOWN, so that strategy would not use the face. - Use AccessStrategy, which can switch to 0->1 route if 0->2 isn't working. But it won't switch back. - Change either InterestLifetime or max RTO, so that max RTO (plus ConsumerCbr's scheduling delay) is less than InterestLifetime. Yours, Junxiao On Sat, Feb 18, 2017 at 11:26 AM, Muhammad Hosain Abdollahi Sabet < mhasabet at gmail.com> wrote: > ?Hi there, > > I was trying to show the impact forwarding plane and forwarding strategy > in failure detection with a simple scenario in ndnSIM: > > ndn::FibHelper::AddRoute(nodes.Get(0),ndn::Name("/prefix"), >> nodes.Get(2),1); >> ndn::FibHelper::AddRoute(nodes.Get(1),ndn::Name("/prefix"), >> nodes.Get(2),20); >> ndn::FibHelper::AddRoute(nodes.Get(0),ndn::Name("/prefix"), >> nodes.Get(1),20); >> >> ndn::StrategyChoiceHelper::Install(nodes.Get(0), ndn::Name("/prefix"), >> "/localhost/nfd/strategy/best-route"); >> >> // Consumer >> ndn::AppHelper consumerHelper("ns3::ndn::ConsumerCbr"); >> consumerHelper.SetPrefix("/prefix"); >> consumerHelper.SetAttribute("Frequency", StringValue("1")); >> consumerHelper.Install(nodes.Get(0)); >> >> // Producer >> ndn::AppHelper producerHelper("ns3::ndn::Producer"); >> producerHelper.SetPrefix("/prefix"); >> producerHelper.SetAttribute("PayloadSize", StringValue("1024")); >> producerHelper.Install(nodes.Get(2)); >> >> Simulator::Schedule(Seconds(3.0), ndn::LinkControlHelper::FailLink, >> nodes.Get(0), nodes.Get(2)); >> Simulator::Schedule(Seconds(15.0), ndn::LinkControlHelper::UpLink, >> nodes.Get(0), nodes.Get(2)); >> > > It works fine at first and detects the failure so tries with the other > face from 4s to 8s. But After 9s, Consumer tries sending interest while nfd > does not send it: > > 9s 0 ndn.Consumer:SendPacket() >> 9s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 6 >> 9s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 6 with >> +9000000000.0ns. already 0 items >> 10s 0 ndn.Consumer:SendPacket() >> 10s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 7 >> 10s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 7 with >> +10000000000.0ns. already 1 items >> 10.6s -1 ndn.Consumer:OnTimeout(6) >> 11s 0 ndn.Consumer:SendPacket() >> 11s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 6 >> 11s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 6 with >> +11000000000.0ns. already 1 items >> > > As soon as UpLink event, consumer tries with the first face and retrieves > data. Why is that? Is it a kind of bug in nfd? > > Thanks, > Sabet > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Feb 20 10:44:27 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 22:14:27 +0330 Subject: [ndnSIM] Best Route acting weird In-Reply-To: References: Message-ID: Junxiao, Thank you so much. You're right!! I guess this shows what you said: 3s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%03?ndn.InterestLifetime=2000&ndn.Nonce=1638928127 from=259 > newPitEntry-to=257 > 4s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%03?ndn.InterestLifetime=2000&ndn.Nonce=1585152108 from=259 > retransmit-unused-to=256 > 4.01028s 1 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%03?ndn.InterestLifetime=2000&ndn.Nonce=1585152108 from=256 > newPitEntry-to=257 > 4.02056s 2 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%03?ndn.InterestLifetime=2000&ndn.Nonce=1585152108 from=257 > newPitEntry-to=259 > 5s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%04?ndn.InterestLifetime=2000&ndn.Nonce=3464367241 from=259 > newPitEntry-to=257 > 6s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%04?ndn.InterestLifetime=2000&ndn.Nonce=433302024 from=259 > retransmit-unused-to=256 > 6.01028s 1 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%04?ndn.InterestLifetime=2000&ndn.Nonce=433302024 from=256 > newPitEntry-to=257 > 6.02056s 2 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%04?ndn.InterestLifetime=2000&ndn.Nonce=433302024 from=257 > newPitEntry-to=259 > > 10s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%07?ndn.InterestLifetime=2000&ndn.Nonce=3530243069 from=259 > newPitEntry-to=257 > 11s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%06?ndn.InterestLifetime=2000&ndn.Nonce=2402032498 from=259 > newPitEntry-to=257 > 12s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%08?ndn.InterestLifetime=2000&ndn.Nonce=1055204503 from=259 > newPitEntry-to=257 > 13s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%09?ndn.InterestLifetime=2000&ndn.Nonce=3593408063 from=259 > newPitEntry-to=257 > 14s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%07?ndn.InterestLifetime=2000&ndn.Nonce=85550101 from=259 > newPitEntry-to=257 > So, the helper does not really fail a link. Isn't failing/uping a link what it actually supposed to do? What is RetxSuppressionExponential? Actually I can see what it does. But, why is it separated from the strategy itself? About you suggestion. Do we have any kind of implementation of BFD(rfc 5880/7880) for NDN in any level? Thanks, Sabet On Mon, Feb 20, 2017 at 8:25 AM, Junxiao Shi wrote: > Hi Sabet > > This may be related to the retransmission behavior of > ns3::ndn::ConsumerCbr. > > I can see that ndn::LinkControlHelper::FailLink does not cause > face->getStatus() to become DOWN, and there is no BFD running, so the face > will remain UP from strategy point of view. > Your scenario uses static routes, so that 0->2 route would remain active > even if the link is having 100% loss rate. > As long as face->getState() is UP and the route is still active, NFD > best-route v4 keeps using 0->2 route when an Interest is received for the > first time, and will try 0->1 route only if the consumer retransmit the > Interest (same Name+Selectors+Link, different Nonce). > Moreover, a consumer retransmission can cause best-route v4 to use 0->2 > route only if it arrives no later than InterestLifetime expiration (2 > seconds in your scenario), and no earlier than best-route's suppression > timer (10ms for the first retransmission). > > ns3::ndn::ConsumerCbr expresses a new Interest every 1 second with > InterestLifetime 2000ms, and retransmits an unsatisfied Interest after RTO. > RTO is computed using TCP's algorithm, bounded between 0.2 and 200 seconds. > When Data arrives, its RTT is added to the RttEstimator if the Interest > has not been retransmitted. On the other hand, if an Interest times out (no > Data within RTO), the RTO multiplier doubles, up to 64. The multiplier can > be reset to 1 only if a Data arrives without any Interest retransmission. > Combine this with the behavior of best-route v4, we can see that, since > best-route v4 requires consumer retransmission for every Interest in order > to retrieve Data via 0->1 route, the multiplier would never get reset. > Eventually, the RTO would exceed InterestLifetime, and therefore the > retransmitted Interest would not be detected by best-route v4 as consumer > retransmission. > > Your log shows, Interest for seq 6 is initially sent at 9.0s. RTO timeout > occurs at 10.6s. Then, the logic in ConsumerCbr schedules the > retransmission at 11.0s. > This is exactly the case I described above: at 11.0s, PIT entry is gone > because InterestLifetime has expired, so that best-route v4 would detect > the Interest as a new Interest instead of a retransmission, and forward it > toward 0->2 route which is having 100% loss rate. > This is the expected behavior of best-route v4, and it's not a NFD bug. > > > To make this scenario work better, suggestions are: > > - Implement BFD in the face, making face->getState() report as DOWN, > so that strategy would not use the face. > - Use AccessStrategy, which can switch to 0->1 route if 0->2 isn't > working. But it won't switch back. > - Change either InterestLifetime or max RTO, so that max RTO (plus > ConsumerCbr's scheduling delay) is less than InterestLifetime. > > > Yours, Junxiao > > > On Sat, Feb 18, 2017 at 11:26 AM, Muhammad Hosain Abdollahi Sabet < > mhasabet at gmail.com> wrote: > >> ?Hi there, >> >> I was trying to show the impact forwarding plane and forwarding strategy >> in failure detection with a simple scenario in ndnSIM: >> >> ndn::FibHelper::AddRoute(nodes.Get(0),ndn::Name("/prefix"), >>> nodes.Get(2),1); >>> ndn::FibHelper::AddRoute(nodes.Get(1),ndn::Name("/prefix"), >>> nodes.Get(2),20); >>> ndn::FibHelper::AddRoute(nodes.Get(0),ndn::Name("/prefix"), >>> nodes.Get(1),20); >>> >>> ndn::StrategyChoiceHelper::Install(nodes.Get(0), >>> ndn::Name("/prefix"), "/localhost/nfd/strategy/best-route"); >>> >>> // Consumer >>> ndn::AppHelper consumerHelper("ns3::ndn::ConsumerCbr"); >>> consumerHelper.SetPrefix("/prefix"); >>> consumerHelper.SetAttribute("Frequency", StringValue("1")); >>> consumerHelper.Install(nodes.Get(0)); >>> >>> // Producer >>> ndn::AppHelper producerHelper("ns3::ndn::Producer"); >>> producerHelper.SetPrefix("/prefix"); >>> producerHelper.SetAttribute("PayloadSize", StringValue("1024")); >>> producerHelper.Install(nodes.Get(2)); >>> >>> Simulator::Schedule(Seconds(3.0), ndn::LinkControlHelper::FailLink, >>> nodes.Get(0), nodes.Get(2)); >>> Simulator::Schedule(Seconds(15.0), ndn::LinkControlHelper::UpLink, >>> nodes.Get(0), nodes.Get(2)); >>> >> >> It works fine at first and detects the failure so tries with the other >> face from 4s to 8s. But After 9s, Consumer tries sending interest while nfd >> does not send it: >> >> 9s 0 ndn.Consumer:SendPacket() >>> 9s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 6 >>> 9s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 6 with >>> +9000000000.0ns. already 0 items >>> 10s 0 ndn.Consumer:SendPacket() >>> 10s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 7 >>> 10s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 7 with >>> +10000000000.0ns. already 1 items >>> 10.6s -1 ndn.Consumer:OnTimeout(6) >>> 11s 0 ndn.Consumer:SendPacket() >>> 11s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 6 >>> 11s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 6 with >>> +11000000000.0ns. already 1 items >>> >> >> As soon as UpLink event, consumer tries with the first face and >> retrieves data. Why is that? Is it a kind of bug in nfd? >> >> Thanks, >> Sabet >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Feb 20 10:52:52 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 22:22:52 +0330 Subject: [ndnSIM] How to print FIB table? In-Reply-To: References: Message-ID: Alex, I have coded ndn-grid.py like this: void > printFIB(Ptr node) > { > auto fib = > node->GetObject()->getForwarder()->getFib(); > cout< } > and called it in scenario: > Simulator::Schedule(Seconds(0.0), printFIB, nodes.Get(0)); > Compiler says: > error: use of deleted function ?nfd::Fib::Fib(const nfd::Fib&)? > note: ?nfd::Fib::Fib(const nfd::Fib&)? is implicitly deleted because the > default definition would be ill-formed: > class Fib : noncopyable > Could you refer my to the correct example of correct C++ cunstructs? Thanks, Sabet On Fri, Jan 22, 2016 at 10:40 AM, Alex Afanasyev wrote: > In theory, you can send interests /localhost/nfd/fib/list and process the > result (you can check how it is done in nfd-status implementation). > > More practically, in the simulation you can simply enumerate FIB entries. > There is a commented out example in `examples/ndn-grid.py` how to do it in > python. In C++ it is essentially the same thing, you just need to change > to C++ constructs (check mailing list history, I think I showed an example > before). > > -- > Alex > > > On Jan 21, 2016, at 10:49 PM, Anil Jangam > wrote: > > > > Hi, > > > > Is it possible to print the content of FIB table at run time to check > what prefixes are configured and on which faces? > > > > What command is to be used towards NFD to display this information? > > > > /anil. > > > > _______________________________________________ > > 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 Feb 20 10:57:23 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 22:27:23 +0330 Subject: [ndnSIM] ndnSIM: Modifying Interest Packet In-Reply-To: References: <7C07C409-AAE9-44B6-8D4D-F89E17B7A77D@cs.ucla.edu> Message-ID: Alex, I can make a copy of Interest and modify it. How can I get it Forwarder::startProcessInterest to make it pass forwarding pipeline again? I mean, what about the incoming face? Any suggestion? Thanks, Sabet On Thu, Aug 18, 2016 at 12:15 PM, Muhammad Hosain Abdollahi Sabet < mhasabet at gmail.com> wrote: > Alex, > > How about setDelegation for LINKS? In ndnSIM 2.1 Interest packet is > modified(using setSelectedDelegation) under circumstances and a LOGIC log > is generated. How is that happening? buffe::reset()(which I couldn't find > it in doxygen) copies an interest and replace it with the first one? > > Thanks, > Sabet > > ????? ????? > ?? ???? > > On Fri, Aug 12, 2016 at 9:15 PM, Alex Afanasyev wrote: > >> Hi Pratyush, >> >> You're correct. I would only restate is a little bit more general and >> say that NS3's Packet data structure cannot be modified by the routers. >> What you can do is to make a copy of the packet and modify the copy. >> >> I think the same applies to the tags with some exceptions that I cannot >> remember right now. >> >> -- >> Alex >> >> > On Aug 12, 2016, at 8:32 AM, Pratyush Agnihotri < >> pratyushagnihotri03 at gmail.com> wrote: >> > >> > Hi Alex, >> > >> > I am trying to modify Interest packet for my custom forwarding strategy >> in ndnSIM 1.0. I observed that once the Interest packet (header + payload) >> is serialized to the network, it cannot be modified by intermediate nodes >> (e.g., in the forwarding strategy). The packet is only deserialized by >> relay (or intermediate) nodes and cannot be written (or modified) by them. >> I checked the source file ndnSIM/model/wire/ndnsim.cc, Serialize() and >> Deserialize() functions for the same. >> > >> > Is my understanding correct? Or, is there some way to write to buffer >> while the packet is in network? >> > >> > For e.g., FwHopCountTag is the by given as example how to add >> information in payload. If one want to increment the hop count and re-write >> to payload as follows:- >> > >> > FwHopCountTag hopCount; >> > bool tagExists = packet->RemovePacketTag (hopCount); >> > >> > if (tagExists) >> > { >> > hopCount.Increment (); >> > packet->AddPacketTag (hopCount); >> > } >> > >> > This tries to increment the hopCount, but it doesn't actually increment >> if I print the value. This means even though I re-write to the payload, it >> doesn't update the packet. >> > >> > Please let me know. >> > >> > -- >> > Kind Regards, >> > Pratyush Agnihotri >> > _______________________________________________ >> > 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 shijunxiao at email.arizona.edu Mon Feb 20 11:00:12 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 20 Feb 2017 12:00:12 -0700 Subject: [ndnSIM] Best Route acting weird In-Reply-To: References: Message-ID: Hi Sabet Thank you so much. You're right!! I guess this shows what you said: > 10s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%07?ndn.InterestLifetime=2000&ndn.Nonce=3530243069 from=259 > newPitEntry-to=257 > 14s 0 nfd.BestRouteStrategy2:afterReceiveInterest(): [DEBUG] > /prefix/%FE%07?ndn.InterestLifetime=2000&ndn.Nonce=85550101 from=259 > newPitEntry-to=257 > These two lines clearly indicate the consumer retransmission is treated as new Interest by best-route v4. So, the helper does not really fail a link. Isn't failing/uping a link what it actually supposed to do? LinkControlHelper fails a link by setting it's loss rate to 100%. This is correct. What's missing is: the face state won't report as DOWN. This can be achieved either by BFD, or by monitoring the underlying transport and change state directly https://redmine.named-data.net/issues/3352 . The equivalence of the latter approach in ndnSIM is to set the transport state as DOWN in LinkControlHelper. Let's see how ndnSIM developers think about this. What is RetxSuppressionExponential? Actually I can see what it does. But, why is it separated from the strategy itself? RetxSuppression* implements an algorithm to determine whether an incoming Interest should cause strategy retry or should be aggregated. Too much retries waste bandwidth; too much aggregation limits the opportunity to explore alternate paths https://redmine.named-data.net/issues/3889 . The implementation is in separate classes so that it can be reused across strategies. However, it should be considered part of the strategy design. About you suggestion. Do we have any kind of implementation of BFD(rfc 5880/7880) for NDN in any level? No. Yours, Junxiao -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Mon Feb 20 11:03:19 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 20 Feb 2017 12:03:19 -0700 Subject: [ndnSIM] How to print FIB table? In-Reply-To: References: Message-ID: Hi Sabet void > printFIB(Ptr node) > { > auto fib = node->GetObject()->getForwarder()- > >getFib(); > This line is trying to copy Fib type because 'auto' is deduced as 'nfd::Fib' value type. Change it to 'const nfd::Fib&' and this should compile. cout< } -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Mon Feb 20 11:12:29 2017 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 20 Feb 2017 12:12:29 -0700 Subject: [ndnSIM] ndnSIM: Modifying Interest Packet In-Reply-To: References: <7C07C409-AAE9-44B6-8D4D-F89E17B7A77D@cs.ucla.edu> Message-ID: Hi Sabet Starting NFD 0.5.0, Strategy::sendInterest function allows the strategy to directly specify the Interest packet to be sent out, so that you can make a copy of the Interest and modify it as you need. auto outInterest = make_shared(inInterest); outInterest->setInterestLifetime(time::milliseconds(500)); this->sendInterest(pitEntry, outFace, *outInterest); Just make sure the copy of Interest is created in make_shared, and it still matches the PIT entry which means you can't change Name+Selectors+Link. I can make a copy of Interest and modify it. How can I get it Forwarder::startProcessInterest to make it pass forwarding pipeline again? I mean, what about the incoming face? Any suggestion? I don't know why you want the Interest to enter as an incoming Interest. Where does it come from? (and that will be your incoming face) Yours, Junxiao -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Feb 20 11:18:49 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 22:48:49 +0330 Subject: [ndnSIM] ndnSIM: Modifying Interest Packet In-Reply-To: References: <7C07C409-AAE9-44B6-8D4D-F89E17B7A77D@cs.ucla.edu> Message-ID: Dear Junxaio, The point is that I want to substitute Link object. So I need to have the interest processed again, because this time it will be out of producerRegion and should be forwarded based on forwarding hint. Thanks, Sabet On Mon, Feb 20, 2017 at 10:42 PM, Junxiao Shi wrote: > Hi Sabet > > Starting NFD 0.5.0, Strategy::sendInterest function allows the strategy to > directly specify the Interest packet to be sent out, so that you can make a > copy of the Interest and modify it as you need. > > auto outInterest = make_shared(inInterest); > outInterest->setInterestLifetime(time::milliseconds(500)); > this->sendInterest(pitEntry, outFace, *outInterest); > > Just make sure the copy of Interest is created in make_shared, and it > still matches the PIT entry which means you can't change > Name+Selectors+Link. > > > > I can make a copy of Interest and modify it. How can I get it > Forwarder::startProcessInterest to make it pass forwarding pipeline > again? I mean, what about the incoming face? Any suggestion? > > I don't know why you want the Interest to enter as an incoming Interest. > Where does it come from? (and that will be your incoming face) > > Yours, Junxiao > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.EDU Mon Feb 20 11:22:59 2017 From: shijunxiao at email.arizona.EDU (Junxiao Shi) Date: Mon, 20 Feb 2017 12:22:59 -0700 Subject: [ndnSIM] ndnSIM: Modifying Interest Packet In-Reply-To: References: <7C07C409-AAE9-44B6-8D4D-F89E17B7A77D@cs.ucla.edu> Message-ID: Hi Sabet You are actually able to change the Link object from strategy in NFD 0.5.1, but this is an undocumented feature and can disappear in NFD 0.6.0 https://redmine.named-data.net/issues/3162 Yours, Junxiao On Feb 20, 2017 12:19, "Muhammad Hosain Abdollahi Sabet" wrote: > Dear Junxaio, > > The point is that I want to substitute Link object. So I need to have the > interest processed again, because this time it will be out of > producerRegion and should be forwarded based on forwarding hint. > > Thanks, > Sabet > > > On Mon, Feb 20, 2017 at 10:42 PM, Junxiao Shi < > shijunxiao at email.arizona.edu> wrote: > >> Hi Sabet >> >> Starting NFD 0.5.0, Strategy::sendInterest function allows the strategy >> to directly specify the Interest packet to be sent out, so that you can >> make a copy of the Interest and modify it as you need. >> >> auto outInterest = make_shared(inInterest); >> outInterest->setInterestLifetime(time::milliseconds(500)); >> this->sendInterest(pitEntry, outFace, *outInterest); >> >> Just make sure the copy of Interest is created in make_shared, and it >> still matches the PIT entry which means you can't change >> Name+Selectors+Link. >> >> >> >> I can make a copy of Interest and modify it. How can I get it >> Forwarder::startProcessInterest to make it pass forwarding pipeline >> again? I mean, what about the incoming face? Any suggestion? >> >> I don't know why you want the Interest to enter as an incoming Interest. >> Where does it come from? (and that will be your incoming face) >> >> Yours, Junxiao >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From anilj.mailing at gmail.com Mon Feb 20 11:32:34 2017 From: anilj.mailing at gmail.com (Anil Jangam) Date: Mon, 20 Feb 2017 11:32:34 -0800 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM In-Reply-To: References: Message-ID: Hi Sabet, I did not say that -- NLSR will converge. I was suggesting it from the point in your simulation where you start the producer application e.g. if you start producer, before starting the NLSR application, it may not find the routes. Hope this clarify your doubt. /anil. On Sun, Feb 19, 2017 at 5:55 PM, Muhammad Hosain Abdollahi Sabet < mhasabet at gmail.com> wrote: > Anil, > > Why is that? I mean if I install and start a producer application on one > of the nodes in ndn-simple-nlsr, why it isn't going to converge the routing > tables? Isn't that why we expect from nlsr? > > -- > Sabet > > > On Sun, Feb 12, 2017 at 9:09 PM, Anil Jangam > wrote: > >> Hello Mahsa, >> >> This scenario of application is not available yet nor tested. Below are >> some some directions how it can be done. >> >> As discussed, you will have to install the producer consumer apps on the >> nodes along with NLSR and start the producer/consumer application as soon >> as you detect that routing has converged. You can start them ahead of >> routing convergence but it may not find the routes and traffic may not go >> through. Please note that the default routing must disabled when NLSR is >> active. >> >> /anil. >> >> On Feb 12, 2017 5:46 AM, "Mahsa Aghajani" >> wrote: >> >>> Dear ndnSIM users >>> >>> I need to run a topology consisting of a producer, a consumer >>> and a few routers. I want to use the nlsr as the routing protocol >>> in this simulation. I know I can use nlsrSIM which is ported by >>> Anil Jangam into ndnSIM recently but I do not know how exactly I can do >>> it. >>> I appreciate if anyone help me doing this. >>> >>> -- >>> >>> 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 Feb 20 11:37:33 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 23:07:33 +0330 Subject: [ndnSIM] ndnSIM: Modifying Interest Packet In-Reply-To: References: <7C07C409-AAE9-44B6-8D4D-F89E17B7A77D@cs.ucla.edu> Message-ID: Junxiao, Could you please refer me to the actual code? To the best of my knowledge, it is in Forwader::onContentStoreMiss that nfd decides whether to look up fib with interest's name or with selectedDelegation. So it is before strategy taking control of forwarding interest. BTW, for that issue, I guess it would be nicer if every application as soon as starting, update NRT with its prefix. Furthermore , I believe every router in a domain should have the same NRT, or at least there must be certain conjuctions. Thanks, Sabet On Mon, Feb 20, 2017 at 10:52 PM, Junxiao Shi wrote: > Hi Sabet > > You are actually able to change the Link object from strategy in NFD > 0.5.1, but this is an undocumented feature and can disappear in NFD 0.6.0 > https://redmine.named-data.net/issues/3162 > > Yours, Junxiao > > On Feb 20, 2017 12:19, "Muhammad Hosain Abdollahi Sabet" < > mhasabet at gmail.com> wrote: > >> Dear Junxaio, >> >> The point is that I want to substitute Link object. So I need to have the >> interest processed again, because this time it will be out of >> producerRegion and should be forwarded based on forwarding hint. >> >> Thanks, >> Sabet >> >> >> On Mon, Feb 20, 2017 at 10:42 PM, Junxiao Shi < >> shijunxiao at email.arizona.edu> wrote: >> >>> Hi Sabet >>> >>> Starting NFD 0.5.0, Strategy::sendInterest function allows the strategy >>> to directly specify the Interest packet to be sent out, so that you can >>> make a copy of the Interest and modify it as you need. >>> >>> auto outInterest = make_shared(inInterest); >>> outInterest->setInterestLifetime(time::milliseconds(500)); >>> this->sendInterest(pitEntry, outFace, *outInterest); >>> >>> Just make sure the copy of Interest is created in make_shared, and it >>> still matches the PIT entry which means you can't change >>> Name+Selectors+Link. >>> >>> >>> >>> I can make a copy of Interest and modify it. How can I get it >>> Forwarder::startProcessInterest to make it pass forwarding pipeline >>> again? I mean, what about the incoming face? Any suggestion? >>> >>> I don't know why you want the Interest to enter as an incoming Interest. >>> Where does it come from? (and that will be your incoming face) >>> >>> Yours, Junxiao >>> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhasabet at gmail.com Mon Feb 20 11:41:59 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Mon, 20 Feb 2017 23:11:59 +0330 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM In-Reply-To: References: Message-ID: Anil, Thanks for the clarification. So if I start a producer app after NLSR initialization, nlsr will do the convergence. Why not before? I mean If I start a producer app at 1s and start nlsr at 2s, the node should inform other routers of the producer prefix, right? Thanks, Sabet On Mon, Feb 20, 2017 at 11:02 PM, Anil Jangam wrote: > Hi Sabet, > > I did not say that -- NLSR will converge. I was suggesting it from the > point in your simulation where you start the producer application e.g. if > you start producer, before starting the NLSR application, it may not find > the routes. Hope this clarify your doubt. > > /anil. > > > > On Sun, Feb 19, 2017 at 5:55 PM, Muhammad Hosain Abdollahi Sabet < > mhasabet at gmail.com> wrote: > >> Anil, >> >> Why is that? I mean if I install and start a producer application on one >> of the nodes in ndn-simple-nlsr, why it isn't going to converge the routing >> tables? Isn't that why we expect from nlsr? >> >> -- >> Sabet >> >> >> On Sun, Feb 12, 2017 at 9:09 PM, Anil Jangam >> wrote: >> >>> Hello Mahsa, >>> >>> This scenario of application is not available yet nor tested. Below are >>> some some directions how it can be done. >>> >>> As discussed, you will have to install the producer consumer apps on the >>> nodes along with NLSR and start the producer/consumer application as soon >>> as you detect that routing has converged. You can start them ahead of >>> routing convergence but it may not find the routes and traffic may not go >>> through. Please note that the default routing must disabled when NLSR is >>> active. >>> >>> /anil. >>> >>> On Feb 12, 2017 5:46 AM, "Mahsa Aghajani" >>> wrote: >>> >>>> Dear ndnSIM users >>>> >>>> I need to run a topology consisting of a producer, a consumer >>>> and a few routers. I want to use the nlsr as the routing protocol >>>> in this simulation. I know I can use nlsrSIM which is ported by >>>> Anil Jangam into ndnSIM recently but I do not know how exactly I can do >>>> it. >>>> I appreciate if anyone help me doing this. >>>> >>>> -- >>>> >>>> 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 anilj.mailing at gmail.com Mon Feb 20 12:10:11 2017 From: anilj.mailing at gmail.com (Anil Jangam) Date: Mon, 20 Feb 2017 12:10:11 -0800 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM In-Reply-To: References: Message-ID: Hi Sabet, What I am trying to say that if you start producer before NLSR app, it may not find routes as NLSR would still be doing the routing table updates. It does not mean that it will not allow NLSR to converge. Since I have not yet tested this scenario myself, I thought to speculate that possibility. I do not know how ndnSIM scheduler would be scheduling events from two different ndn applications running on a given node. Let me know how it behaves once you try it. /anil. On Mon, Feb 20, 2017 at 11:41 AM, Muhammad Hosain Abdollahi Sabet < mhasabet at gmail.com> wrote: > Anil, > > Thanks for the clarification. So if I start a producer app after NLSR > initialization, nlsr will do the convergence. Why not before? I mean If I > start a producer app at 1s and start nlsr at 2s, the node should inform > other routers of the producer prefix, right? > > Thanks, > Sabet > > > > On Mon, Feb 20, 2017 at 11:02 PM, Anil Jangam > wrote: > >> Hi Sabet, >> >> I did not say that -- NLSR will converge. I was suggesting it from the >> point in your simulation where you start the producer application e.g. if >> you start producer, before starting the NLSR application, it may not find >> the routes. Hope this clarify your doubt. >> >> /anil. >> >> >> >> On Sun, Feb 19, 2017 at 5:55 PM, Muhammad Hosain Abdollahi Sabet < >> mhasabet at gmail.com> wrote: >> >>> Anil, >>> >>> Why is that? I mean if I install and start a producer application on one >>> of the nodes in ndn-simple-nlsr, why it isn't going to converge the routing >>> tables? Isn't that why we expect from nlsr? >>> >>> -- >>> Sabet >>> >>> >>> On Sun, Feb 12, 2017 at 9:09 PM, Anil Jangam >>> wrote: >>> >>>> Hello Mahsa, >>>> >>>> This scenario of application is not available yet nor tested. Below are >>>> some some directions how it can be done. >>>> >>>> As discussed, you will have to install the producer consumer apps on >>>> the nodes along with NLSR and start the producer/consumer application as >>>> soon as you detect that routing has converged. You can start them ahead of >>>> routing convergence but it may not find the routes and traffic may not go >>>> through. Please note that the default routing must disabled when NLSR is >>>> active. >>>> >>>> /anil. >>>> >>>> On Feb 12, 2017 5:46 AM, "Mahsa Aghajani" >>>> wrote: >>>> >>>>> Dear ndnSIM users >>>>> >>>>> I need to run a topology consisting of a producer, a consumer >>>>> and a few routers. I want to use the nlsr as the routing protocol >>>>> in this simulation. I know I can use nlsrSIM which is ported by >>>>> Anil Jangam into ndnSIM recently but I do not know how exactly I can >>>>> do it. >>>>> I appreciate if anyone help me doing this. >>>>> >>>>> -- >>>>> >>>>> 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 Wed Feb 22 00:25:18 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Wed, 22 Feb 2017 11:55:18 +0330 Subject: [ndnSIM] How to use nlsr as the routing protocol with consumer and producer in ndnSIM In-Reply-To: References: Message-ID: OK. Take ndn-nlsr-simple for example. At first(0s), there is 1 entry in fib of all nodes. At Seconds(25.0) fib size of nodes are: node 0 = 12 node 1 = 11 node 2 = 11 node 3 = 10 node 4 = 10 I install and start a ndn::Producer application on nodes.Get(0) at Seconds(2.0). Again at Seconds(25.0) I have: ? node 0 = 13 node 1 = 11 node 2 = 11 node 3 = 10 node 4 = 10 So I guess the convergence has not happened successfully. -- Sabet On Mon, Feb 20, 2017 at 11:40 PM, Anil Jangam wrote: > Hi Sabet, > > What I am trying to say that if you start producer before NLSR app, it may > not find routes as NLSR would still be doing the routing table updates. It > does not mean that it will not allow NLSR to converge. Since I have not yet > tested this scenario myself, I thought to speculate that possibility. I do > not know how ndnSIM scheduler would be scheduling events from two different > ndn applications running on a given node. Let me know how it behaves once > you try it. > > /anil. > > > On Mon, Feb 20, 2017 at 11:41 AM, Muhammad Hosain Abdollahi Sabet < > mhasabet at gmail.com> wrote: > >> Anil, >> >> Thanks for the clarification. So if I start a producer app after NLSR >> initialization, nlsr will do the convergence. Why not before? I mean If I >> start a producer app at 1s and start nlsr at 2s, the node should inform >> other routers of the producer prefix, right? >> >> Thanks, >> Sabet >> >> >> >> On Mon, Feb 20, 2017 at 11:02 PM, Anil Jangam >> wrote: >> >>> Hi Sabet, >>> >>> I did not say that -- NLSR will converge. I was suggesting it from the >>> point in your simulation where you start the producer application e.g. if >>> you start producer, before starting the NLSR application, it may not find >>> the routes. Hope this clarify your doubt. >>> >>> /anil. >>> >>> >>> >>> On Sun, Feb 19, 2017 at 5:55 PM, Muhammad Hosain Abdollahi Sabet < >>> mhasabet at gmail.com> wrote: >>> >>>> Anil, >>>> >>>> Why is that? I mean if I install and start a producer application on >>>> one of the nodes in ndn-simple-nlsr, why it isn't going to converge the >>>> routing tables? Isn't that why we expect from nlsr? >>>> >>>> -- >>>> Sabet >>>> >>>> >>>> On Sun, Feb 12, 2017 at 9:09 PM, Anil Jangam >>>> wrote: >>>> >>>>> Hello Mahsa, >>>>> >>>>> This scenario of application is not available yet nor tested. Below >>>>> are some some directions how it can be done. >>>>> >>>>> As discussed, you will have to install the producer consumer apps on >>>>> the nodes along with NLSR and start the producer/consumer application as >>>>> soon as you detect that routing has converged. You can start them ahead of >>>>> routing convergence but it may not find the routes and traffic may not go >>>>> through. Please note that the default routing must disabled when NLSR is >>>>> active. >>>>> >>>>> /anil. >>>>> >>>>> On Feb 12, 2017 5:46 AM, "Mahsa Aghajani" >>>>> wrote: >>>>> >>>>>> Dear ndnSIM users >>>>>> >>>>>> I need to run a topology consisting of a producer, a consumer >>>>>> and a few routers. I want to use the nlsr as the routing protocol >>>>>> in this simulation. I know I can use nlsrSIM which is ported by >>>>>> Anil Jangam into ndnSIM recently but I do not know how exactly I can >>>>>> do it. >>>>>> I appreciate if anyone help me doing this. >>>>>> >>>>>> -- >>>>>> >>>>>> 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 Wed Feb 22 03:33:43 2017 From: mhasabet at gmail.com (Muhammad Hosain Abdollahi Sabet) Date: Wed, 22 Feb 2017 15:03:43 +0330 Subject: [ndnSIM] How to print FIB table? In-Reply-To: References: Message-ID: That is it! You're right. Thank you. This is anyone interested: printFIB(Ptr node) { const nfd::Fib& fib = node->GetObject()->getForwarder()->getFib(); for (nfd::Fib::const_iterator entry = fib.begin(); entry != fib.end(); entry++) cout<getPrefix()< wrote: > Hi Sabet > > void >> printFIB(Ptr node) >> { >> auto fib = node->GetObject> l>()->getForwarder()->getFib(); >> > This line is trying to copy Fib type because 'auto' is deduced as > 'nfd::Fib' value type. Change it to 'const nfd::Fib&' and this should > compile. > > cout<> } > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Wed Feb 22 17:14:14 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Wed, 22 Feb 2017 20:14:14 -0500 Subject: [ndnSIM] ndnSIM Digest, New forwarding strategy In-Reply-To: References: <337e03f46d7acf1672d246ea238318ac@umail.it.umass.edu> Message-ID: <13e036911aaf98bb9e801262e605e21f@umail.it.umass.edu> hi Alex, I have written a new forwarding strategy and included : const Name ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); NFD_REGISTER_STRATEGY(ZStrategy); 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. 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. Regards, Raj ______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From binbs.khan at gmail.com Sat Feb 25 04:23:22 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Sat, 25 Feb 2017 17:23:22 +0500 Subject: [ndnSIM] Strategy for Wireless Scenario Message-ID: Hello I need help in wireless network. Is ndnSIM provide any support for a nodes that can send there current position update to a specific node or ndn router? -------------- next part -------------- An HTML attachment was scrubbed... URL: From binbs.khan at gmail.com Sun Feb 26 08:48:38 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Sun, 26 Feb 2017 21:48:38 +0500 Subject: [ndnSIM] Node send current position to specific nodes Message-ID: Hello, This is my 6th email but I didn't get any reply from you guys. Please help me out. Where should I change in the ndnSIM code that a node send their current position to a specific node in the network connecting through wireless+wired. Please for God sake Just give me a hint at least. -------------- next part -------------- An HTML attachment was scrubbed... URL: From susmit at cs.colostate.edu Sun Feb 26 10:00:06 2017 From: susmit at cs.colostate.edu (Susmit) Date: Sun, 26 Feb 2017 11:00:06 -0700 Subject: [ndnSIM] Node send current position to specific nodes In-Reply-To: References: Message-ID: Hi Naveed, Can you provide some more details about what you are trying to do? Not sure I understand the problem. If your mobile nodes are sending Interests to a specific node, can you just append the information to Interest name(s)? Alternately, you could try designing a protocol where the collector node tries to contact the mobile node through Interest. On Sun, Feb 26, 2017 at 9:48 AM, Naveed Khan wrote: > Hello, > This is my 6th email but I didn't get any reply from you guys. Please help > me out. > Where should I change in the ndnSIM code that a node send their current > position to a specific node in the network connecting through > wireless+wired. > > Please for God sake Just give me a hint at least. > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > -- Regards, Susmit ==================================== http://www.cs.colostate.edu/~susmit ==================================== From binbs.khan at gmail.com Sun Feb 26 10:21:33 2017 From: binbs.khan at gmail.com (Naveed Khan) Date: Sun, 26 Feb 2017 23:21:33 +0500 Subject: [ndnSIM] Node send current position to specific nodes In-Reply-To: References: Message-ID: Susmit thank you very much for kind reply. I attached scenario pic please take a look to it. Basically I want that when node 1 move from AP1 to AP2, the AP2 send the node information to node 2 in the picture. Hope you understand what I am trying to do. On Sun, Feb 26, 2017 at 11:00 PM, Susmit wrote: > Hi Naveed, > > Can you provide some more details about what you are trying to do? Not > sure I understand the problem. > > If your mobile nodes are sending Interests to a specific node, can you > just append the information to Interest name(s)? > Alternately, you could try designing a protocol where the collector > node tries to contact the mobile node through Interest. > > > > > On Sun, Feb 26, 2017 at 9:48 AM, Naveed Khan wrote: > > Hello, > > This is my 6th email but I didn't get any reply from you guys. Please > help > > me out. > > Where should I change in the ndnSIM code that a node send their current > > position to a specific node in the network connecting through > > wireless+wired. > > > > Please for God sake Just give me a hint at least. > > > > > > > > _______________________________________________ > > ndnSIM mailing list > > ndnSIM at lists.cs.ucla.edu > > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > > > > > > -- > > Regards, > Susmit > > ==================================== > http://www.cs.colostate.edu/~susmit > ==================================== > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Scenario .jpg Type: image/jpeg Size: 23664 bytes Desc: not available URL: From mastorakis at CS.UCLA.EDU Sun Feb 26 11:29:54 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Sun, 26 Feb 2017 11:29:54 -0800 Subject: [ndnSIM] Node send current position to specific nodes In-Reply-To: References: Message-ID: <370270AA-7954-495B-AFC0-13C686BF2C4B@cs.ucla.edu> Hi Naveed, apologies for the belated response. I have not seen 6 emails from you on the list, are you sure you have sent them to the correct mailing list and not some bounces mailing list? Anyway, back to your question, as Susmit already pointed out, your question is kind of broad to be given a single answer. There is a number of ways to approach the problem: 1) attach information to Interest name, 2) create an ndnSIM application to do that, 3) change NFD on each node to do that. You will have to decide which way you would like to go, understand the trade-offs of each approach and then you will have to dive deep into the related parts of the codebase. Thanks and I am sorry again for the inconvenience, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Feb 26, 2017, at 8:48 AM, Naveed Khan wrote: > > Hello, > This is my 6th email but I didn't get any reply from you guys. Please help me out. > Where should I change in the ndnSIM code that a node send their current position to a specific node in the network connecting through wireless+wired. > > Please for God sake Just give me a hint at least. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Mon Feb 27 11:07:44 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Mon, 27 Feb 2017 14:07:44 -0500 Subject: [ndnSIM] Fwd: Re: ndnSIM Digest, New forwarding strategy In-Reply-To: <13e036911aaf98bb9e801262e605e21f@umail.it.umass.edu> References: <337e03f46d7acf1672d246ea238318ac@umail.it.umass.edu> <13e036911aaf98bb9e801262e605e21f@umail.it.umass.edu> Message-ID: -------- Original Message -------- Subject: Re: [ndnSIM] ndnSIM Digest, New forwarding strategy Date: 2017-02-22 20:14 From: Rajvardhan Deshmukh To: Alex Afanasyev Cc: ndnSIM at lists.cs.ucla.edu hi Alex, I have written a new forwarding strategy and included : const Name ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); NFD_REGISTER_STRATEGY(ZStrategy); 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 also tried placing my code in examples to run StrategyChoiceHelper::Install(nodes,"/"); used ./waf configure --enable-examples still gave error: ----------------------------------------------------------------------------------------------------------------- src/ndnSIM/examples/ndn-raj-custom.cpp.13.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::RandomLoadBalancerStrategy::STRATEGY_NAME' /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:126: undefined reference to `nfd::fw::RandomLoadBalancerStrategy::STRATEGY_NAME' src/ndnSIM/examples/ndn-raj-custom.cpp.13.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::RandomLoadBalancerStrategy::STRATEGY_NAME' /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: undefined reference to `nfd::fw::RandomLoadBalancerStrategy::RandomLoadBalancerStrategy(nfd::Forwarder&, ndn::Name const&)' collect2: error: ld returned 1 exit status -------------------------------------------------------------------------------------------------------------- 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. Regards, Raj ______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim From mastorakis at CS.UCLA.EDU Mon Feb 27 15:58:58 2017 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 27 Feb 2017 15:58:58 -0800 Subject: [ndnSIM] ndnSIM Digest, New forwarding strategy In-Reply-To: References: <337e03f46d7acf1672d246ea238318ac@umail.it.umass.edu> <13e036911aaf98bb9e801262e605e21f@umail.it.umass.edu> Message-ID: <67B7D6B6-29F5-460D-BAA2-5E5AD0862A7F@cs.ucla.edu> Hi, have you tried to register your strategy like this? https://github.com/named-data-ndnSIM/NFD/blob/38111cde9bab698f6eaf1a9d430130c2cbb3eca4/daemon/fw/multicast-strategy.cpp#L32-L33 Thanks, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Feb 27, 2017, at 11:07 AM, Rajvardhan Deshmukh wrote: > > > > -------- Original Message -------- > Subject: Re: [ndnSIM] ndnSIM Digest, New forwarding strategy > Date: 2017-02-22 20:14 > From: Rajvardhan Deshmukh > > To: Alex Afanasyev > > Cc: ndnSIM at lists.cs.ucla.edu > > hi Alex, > I have written a new forwarding strategy and > included : > const Name ZStrategy::STRATEGY_NAME("ndn:/localhost/nfd/strategy/ZStrategy/%FD%00"); > NFD_REGISTER_STRATEGY(ZStrategy); > > 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 also tried placing my code in examples to run StrategyChoiceHelper::Install(nodes,"/"); > used ./waf configure --enable-examples > still gave error: > ----------------------------------------------------------------------------------------------------------------- > src/ndnSIM/examples/ndn-raj-custom.cpp.13.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::RandomLoadBalancerStrategy::STRATEGY_NAME' > /home/rajvardhan/ndnSIM/ns-3/build/./ns3/ndnSIM/helper/ndn-strategy-choice-helper.hpp:126: undefined reference to `nfd::fw::RandomLoadBalancerStrategy::STRATEGY_NAME' > src/ndnSIM/examples/ndn-raj-custom.cpp.13.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::RandomLoadBalancerStrategy::STRATEGY_NAME' > /home/rajvardhan/ndnSIM/ns-3/build/ns3/ndnSIM/ndn-cxx/util/backports.hpp:42: undefined reference to `nfd::fw::RandomLoadBalancerStrategy::RandomLoadBalancerStrategy(nfd::Forwarder&, ndn::Name const&)' > collect2: error: ld returned 1 exit status > -------------------------------------------------------------------------------------------------------------- > > > 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. > > Regards, > Raj -------------- next part -------------- An HTML attachment was scrubbed... URL: From rdeshmukh at umass.edu Tue Feb 28 08:25:03 2017 From: rdeshmukh at umass.edu (Rajvardhan Deshmukh) Date: Tue, 28 Feb 2017 11:25:03 -0500 Subject: [ndnSIM] New forwarding Strategy In-Reply-To: References: Message-ID: <51dbe53d52d3efea2429649e87973d91@umail.it.umass.edu> 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 > 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 xinyonghui at iie.ac.cn Fri Feb 24 00:00:01 2017 From: xinyonghui at iie.ac.cn (xinyonghui at iie.ac.cn) Date: Fri, 24 Feb 2017 08:00:01 -0000 Subject: [ndnSIM] A question about the expiry of PIT entry Message-ID: <2017022415594216327025@iie.ac.cn> 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: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 292753 bytes Desc: not available URL: From chinangkhung at gmail.com Mon Feb 27 20:52:22 2017 From: chinangkhung at gmail.com (Sandesh Rai) Date: Tue, 28 Feb 2017 04:52:22 -0000 Subject: [ndnSIM] Printing PIT in ndnsim 2.1 Message-ID: Can anyone help me to print PIT entries,face id,hopecount,timestamp IN text file? thanks in advanced -------------- next part -------------- An HTML attachment was scrubbed... URL: