From 15045081947 at 163.com Fri Jul 1 07:05:51 2016 From: 15045081947 at 163.com (=?GBK?B?xcvH7LOs?=) Date: Fri, 1 Jul 2016 22:05:51 +0800 (CST) Subject: [ndnSIM] Find corresponding CS entry for the given data packet Message-ID: <10e2dfb3.10cee.155a6c7ab90.Coremail.15045081947@163.com> hello ,i am doing some simulations about NDN . I have a problem. i want to know whether there are some contents in cs can match the given data packet when a node receive a data packet, how can i do ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Fri Jul 1 07:22:57 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Fri, 1 Jul 2016 07:22:57 -0700 Subject: [ndnSIM] Find corresponding CS entry for the given data packet In-Reply-To: <10e2dfb3.10cee.155a6c7ab90.Coremail.15045081947@163.com> References: <10e2dfb3.10cee.155a6c7ab90.Coremail.15045081947@163.com> Message-ID: <57767cbf.1b49620a.a24ba.ffffec4c@mx.google.com> Hi Qinchao I understand your question as: given a ContentStore and a Data packet, determine whether the same Data packet already exists in the ContentStore. This can be achieved as: void isDataInContentStore(const ndn::Data& data, const nfd::cs::Cs& cs, std::function cb) { ndn::Name fullName = data.getFullName(); ndn::Interest interest(fullName); cs.find(interest, bind([cb] { cb(true); }), bind([cb] { cb(false); })); } First we create an Interest that would match the specified Data packet if it exists in the CS; the Interest would not match any other Data packet because it contains the implicit digest. The CS is then queried with the Interest, and the result is returned asynchronously. Yours, Junxiao From: ??? -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Fri Jul 1 09:32:37 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Fri, 1 Jul 2016 09:32:37 -0700 Subject: [ndnSIM] Forward Interest messages through multiple interfaces In-Reply-To: <6A5647FD-9F0A-45ED-B63E-C23457C5A33F@yahoo.com> References: <1449128435.4116105.1467269762518.JavaMail.yahoo.ref@mail.yahoo.com> <6A5647FD-9F0A-45ED-B63E-C23457C5A33F@yahoo.com> Message-ID: Hi Zeinab, If you're using GlobalRoutingHelper::CalculateAllPossibleRoutes, then it will try to calculate all possible routes through every face. After that you can play with forwarding strategy decisions. Note however, that this calculation can be slow. If you have a large topology and want to run multiple runs, a better way would be to pre-compute all routes (e.g., outside ndnSIM) and then install them in the scenario. --- Alex > On Jun 30, 2016, at 12:16 AM, Zeinab Rezaiefar wrote: > > Hello everyone, > I would like to forward Interest message through multiple interfaces, so if the message drop in one way , it can be forwarded from another way. I have used flooding as forwarding strategy. however, I am wondering that when I use GlobalRoutingHeloer and set prefix using GlobalRoutingHelper::AddOrigins() , still Interest messages forward through multiple faces or not? > Thanks in advance > Best regards -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From 15045081947 at 163.com Sat Jul 2 02:44:42 2016 From: 15045081947 at 163.com (=?utf-8?B?5r2Y5bqG6LaF?=) Date: Sat, 2 Jul 2016 17:44:42 +0800 (CST) Subject: [ndnSIM] Find corresponding CS entry for the given data packet In-Reply-To: <57767cbf.1b49620a.a24ba.ffffec4c@mx.google.com> References: <10e2dfb3.10cee.155a6c7ab90.Coremail.15045081947@163.com> <57767cbf.1b49620a.a24ba.ffffec4c@mx.google.com> Message-ID: <5696e8cf.65df.155aafef030.Coremail.15045081947@163.com> forwarder.cpp?there are two functions, void find(const Interest& interest, const HitCallback& hitCallback, const MissCallback& missCallback) const ? shared_ptr Lookup(shared_ptr interest); What's the difference between them? At 2016-07-01 22:22:57, "Junxiao Shi" wrote: Hi Qinchao I understand your question as: given a ContentStore and a Data packet, determine whether the same Data packet already exists in the ContentStore. This can be achieved as: void isDataInContentStore(const ndn::Data& data, const nfd::cs::Cs& cs, std::function cb) { ndn::Name fullName = data.getFullName(); ndn::Interest interest(fullName); cs.find(interest, bind([cb] { cb(true); }), bind([cb] { cb(false); })); } First we create an Interest that would match the specified Data packet if it exists in the CS; the Interest would not match any other Data packet because it contains the implicit digest. The CS is then queried with the Interest, and the result is returned asynchronously. Yours, Junxiao From: ??? Sent: Friday, July 1, 2016 07:06 To: ndnsim at lists.cs.ucla.edu Subject: [ndnSIM] Find corresponding CS entry for the given data packet hello ,i am doing some simulations about NDN . I have a problem. i want to know whether there are some contents in cs can match the given data packet when a node receive a data packet, how can i do ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From fcampioni at algomau.ca Tue Jul 5 18:07:48 2016 From: fcampioni at algomau.ca (Fabio Campioni) Date: Wed, 6 Jul 2016 01:07:48 +0000 Subject: [ndnSIM] NFD Content Store policy Message-ID: Hi all, I have recently switched from using the old content store to the new NFD API for creating a cache replacement policy. However, in the methods, specifically doAfterInsert, where an iterator object is passed to it, I am not sure what methods are available in that object or how to actually access the data and cannot find anything in the NFD documentation. Would anyone who has worked with the NFD content store be able to point me in the right direction? Thank you, Fabio Campioni -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Tue Jul 5 18:51:53 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Tue, 5 Jul 2016 18:51:53 -0700 Subject: [ndnSIM] NFD Content Store policy In-Reply-To: References: Message-ID: Hi Fabio Although I haven't implemented any CS replacement policy, I participated in the design of nfd::cs::Policy class. Policy::doAfterInsert method is invoked when a CS entry is *already* inserted. The latest inserted entry is given in the interator. The iterator type is declared in cs-internal.hpp. When you dereference the iterator with *i, you'll get a nfd::cs::Entry object. Entry object is declared in cs-entry.hpp. You can access the Data packet from the entry. If your policy decides that the latest inserted entry should not be admitted, the policy can evict this entry immediately. To get access to other entries previously inserted to the CS, the policy needs to maintain a data structure that keeps the iterators (not the EntryImpl objects). You may find examples in existing policy implementations, for example LruPolicy class m_queue member. To associate additional information with an Entry, a policy implementation can declare a struct that associates the iterator and additional information, and then place this struct in the policy's internal data structure. nfd::cs::Entry and nfd::cs::EntryImpl classes should not be modified. An example is nfd::cs::priority_fifo::EntryInfo type, and PriorityFifoPolicy::m_entryInfoMap member. Yours, Junxiao On Tue, Jul 5, 2016 at 6:07 PM, Fabio Campioni wrote: > Hi all, > > > > I have recently switched from using the old content store to the new NFD > API for creating a cache replacement policy. However, in the methods, > specifically doAfterInsert, where an iterator object is passed to it, I am > not sure what methods are available in that object or how to actually > access the data and cannot find anything in the NFD documentation. Would > anyone who has worked with the NFD content store be able to point me in the > right direction? > > > > Thank you, > > > > Fabio Campioni > > _______________________________________________ > 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 zeinab.rezaiefar at gmail.com Thu Jul 7 06:30:07 2016 From: zeinab.rezaiefar at gmail.com (Zeinab Rezaiefar) Date: Thu, 7 Jul 2016 22:30:07 +0900 Subject: [ndnSIM] Fwd: calling dynamic variable from content-store-impl.hpp in another function In-Reply-To: References: Message-ID: hello everyone, I have defined public variable in class ContentStoreImpl (double invalid_content) in content-store-impl.hpp. furthermore I have change these value in ContentStoreImpl::Add (invalid_content++;) I want to access this value through files in scratch folder . therefore I include this path (#include "ns3/ndnSIM/model/cs/content-store-impl.h"). I want to access it before main function as below: using namespace ns3; void CacheEntryRemoved(std::string context, Ptr entry, Time lifetime) { if (entry->GetData()->GetSignature()!=0){ //ContentStoreImpl a; Ptr content; content.invalid_content--; } } however, I have received error (mismatch at argument 1 in template parameter list for ?template class ns3::Ptr?) is there anybody knows how I can access this value through this function. I will become thankful, if I know your opinion thanks in advance best regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From ioannoa at tcd.ie Thu Jul 7 06:52:01 2016 From: ioannoa at tcd.ie (Andriana Ioannou) Date: Thu, 7 Jul 2016 16:52:01 +0300 Subject: [ndnSIM] Mpi on multiple machines In-Reply-To: <5DB67CF5-B4BE-4114-837E-D60821D18FD9@cs.ucla.edu> References: <5DB67CF5-B4BE-4114-837E-D60821D18FD9@cs.ucla.edu> Message-ID: Hey Alex, Many thanks for the reply. I have managed to make it work on a single machine with multiple processors - not multiple machines - as this was useless to me anyway. What I wanted to do was to distribute the memory consumption between the different machines. However, my memory consumption comes from the structure of a node which can not be discarded even when using an mph - the whole topology is to be created on each LP anyway. Now, with regard to the mpi usage, I have noticed the below: 1. The simulation runs differently on a single processor compared to the one using an mpi. That said, the requests are triggered with a different sequence. 2. Different apps may create Interests with the same nonce, which is ?misleading" to the performance of the system as they may be treated as duplicas - while they are not. Any ideas on how to deal with the above? Thanks, A. > On 27 Jun 2016, at 05:28, Alex Afanasyev wrote: > > I have tried it once long time ago and the process was relatively straightforward (though, I completely forgot all the details). You just need to select where mpi processes should run and afterwards everything happens automatically. (Just in case, the key catch with MPI is that you need to properly partition the topology to get benefits of MPI, and partitioning is not always trivial...) > > -- > Alex > >> On Mar 19, 2016, at 8:41 AM, Andriana Ioannou wrote: >> >> Hello all, >> >> I was wondering whether someone has any feedback/advice on the use of mpi onb multiple machines. From reading the post, I do assume that is possible but I am rather confused on how to proceed with it exactly. >> >> Any help would be great. >> >> Thanks. >> A. >> _______________________________________________ >> ndnSIM mailing list >> ndnSIM at lists.cs.ucla.edu >> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim > From zeinab.rezaiefar at gmail.com Thu Jul 7 06:26:48 2016 From: zeinab.rezaiefar at gmail.com (Zeinab Rezaiefar) Date: Thu, 7 Jul 2016 22:26:48 +0900 Subject: [ndnSIM] calling dynamic variable from content-store-impl.hpp in another function Message-ID: hello everyone, I have defined public variable in class ContentStoreImpl (double invalid_content) in content-store-impl.hpp. furthermore I have change these value in ContentStoreImpl::Add (invalid_content++;) I want to access this value through files in scratch folder . therefore I include this path (#include "ns3/ndnSIM/model/cs/content-store-impl.h"). I want to access it before main function as below: using namespace ns3; void CacheEntryRemoved(std::string context, Ptr entry, Time lifetime) { if (entry->GetData()->GetSignature()!=0){ //ContentStoreImpl a; Ptr content; content.invalid_content--; } } however, I have received error (mismatch at argument 1 in template parameter list for ?template class ns3::Ptr?) is there anybody knows how I can access this value through this function. I will become thankful, if I know your opinion thanks in advance best regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From aa at CS.UCLA.EDU Thu Jul 7 08:36:05 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 7 Jul 2016 08:36:05 -0700 Subject: [ndnSIM] calling dynamic variable from content-store-impl.hpp in another function In-Reply-To: References: Message-ID: <597DA21F-69F9-4B93-92FE-8AEDD05DC0B2@cs.ucla.edu> > On Jul 7, 2016, at 6:26 AM, Zeinab Rezaiefar wrote: > > hello everyone, > I have defined public variable in class ContentStoreImpl (double invalid_content) in content-store-impl.hpp. furthermore I have change these value in ContentStoreImpl::Add (invalid_content++;) I want to access this value through files in scratch folder . > therefore I include this path (#include "ns3/ndnSIM/model/cs/content-store-impl.h"). I want to access it before main function as below: > > using namespace ns3; > void > CacheEntryRemoved(std::string context, Ptr entry, Time lifetime) > { > > if (entry->GetData()->GetSignature()!=0){ > //ContentStoreImpl a; > Ptr content; > content.invalid_content--; > > } > } > > however, I have received error (mismatch at argument 1 in template parameter list for ?template class ns3::Ptr?) > is there anybody knows how I can access this value through this function. > I will become thankful, if I know your opinion > thanks in advance > best regards I'm not exactly sure what you're trying to do in the main function... Even if you going to make it compile, "Ptr content;" be a null pointer. What is the exact error you're having? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From aa at CS.UCLA.EDU Thu Jul 7 08:41:32 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 7 Jul 2016 08:41:32 -0700 Subject: [ndnSIM] Mpi on multiple machines In-Reply-To: References: <5DB67CF5-B4BE-4114-837E-D60821D18FD9@cs.ucla.edu> Message-ID: <11043467-8D68-422C-986A-742D8326B84D@cs.ucla.edu> > On Jul 7, 2016, at 6:52 AM, Andriana Ioannou wrote: > > Hey Alex, > > Many thanks for the reply. > > I have managed to make it work on a single machine with multiple processors - not multiple machines - as this was useless to me anyway. What I wanted to do was to distribute the memory consumption between the different machines. However, my memory consumption comes from the structure of a node which can not be discarded even when using an mph - the whole topology is to be created on each LP anyway. > > Now, with regard to the mpi usage, I have noticed the below: > > 1. The simulation runs differently on a single processor compared to the one using an mpi. That said, the requests are triggered with a different sequence. If events are scheduled for the same nanosecond of simulation time, the order of events would be undetermined. However, if the time is different, they should be in pre-determined order, no matter single processor or MPI. If there are differences, then there is some issue somewhere. > > 2. Different apps may create Interests with the same nonce, which is ?misleading" to the performance of the system as they may be treated as duplicas - while they are not. Hm.. Given nonce is random, there is possibility that nonce collide. But this should have extremely low probability to happen. Do you see it consistently? (Is it for ndnSIM 2.x?) -- Alex > > Any ideas on how to deal with the above? > > Thanks, > A. > >> On 27 Jun 2016, at 05:28, Alex Afanasyev wrote: >> >> I have tried it once long time ago and the process was relatively straightforward (though, I completely forgot all the details). You just need to select where mpi processes should run and afterwards everything happens automatically. (Just in case, the key catch with MPI is that you need to properly partition the topology to get benefits of MPI, and partitioning is not always trivial...) >> >> -- >> Alex >> >>> On Mar 19, 2016, at 8:41 AM, Andriana Ioannou wrote: >>> >>> Hello all, >>> >>> I was wondering whether someone has any feedback/advice on the use of mpi onb multiple machines. From reading the post, I do assume that is possible but I am rather confused on how to proceed with it exactly. >>> >>> Any help would be great. >>> >>> Thanks. >>> A. >>> _______________________________________________ >>> ndnSIM mailing list >>> ndnSIM at lists.cs.ucla.edu >>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From ioannoa at tcd.ie Thu Jul 7 14:17:24 2016 From: ioannoa at tcd.ie (Andriana Ioannou) Date: Fri, 8 Jul 2016 00:17:24 +0300 Subject: [ndnSIM] Mpi on multiple machines In-Reply-To: <11043467-8D68-422C-986A-742D8326B84D@cs.ucla.edu> References: <5DB67CF5-B4BE-4114-837E-D60821D18FD9@cs.ucla.edu> <11043467-8D68-422C-986A-742D8326B84D@cs.ucla.edu> Message-ID: > On 07 Jul 2016, at 18:41, Alex Afanasyev wrote: > > >> On Jul 7, 2016, at 6:52 AM, Andriana Ioannou wrote: >> >> Hey Alex, >> >> Many thanks for the reply. >> >> I have managed to make it work on a single machine with multiple processors - not multiple machines - as this was useless to me anyway. What I wanted to do was to distribute the memory consumption between the different machines. However, my memory consumption comes from the structure of a node which can not be discarded even when using an mph - the whole topology is to be created on each LP anyway. >> >> Now, with regard to the mpi usage, I have noticed the below: >> >> 1. The simulation runs differently on a single processor compared to the one using an mpi. That said, the requests are triggered with a different sequence. > > If events are scheduled for the same nanosecond of simulation time, the order of events would be undetermined. However, if the time is different, they should be in pre-determined order, no matter single processor or MPI. If there are differences, then there is some issue somewhere. The requests are pretty much pre-scheduled in the sense that a new request is triggered once the previous one is satisfied, i.e. 1 Interest Window. So, I can?t see why that difference may occur, but I will check again. > >> >> 2. Different apps may create Interests with the same nonce, which is ?misleading" to the performance of the system as they may be treated as duplicas - while they are not. > > Hm.. Given nonce is random, there is possibility that nonce collide. But this should have extremely low probability to happen. Do you see it consistently? (Is it for ndnSIM 2.x?) > Here its a weird situation. It does not always happen. It relates to the seed that I am ?feeding? into the simulation file. Sometimes nothing happens, some others most consumers issue retransmissions. My guess is that when an mpi used, each processor is ?eligible? to create the same sequence of random numbers that are fed to the apps/consumers. I have found some related concerns, although, not an exact solution yet. That would explain the relation to the seed. I have been using ndnSIMv1 since the very beginning. Don?t know if things are different on v2. A. > -- > Alex > >> >> Any ideas on how to deal with the above? >> >> Thanks, >> A. >> >>> On 27 Jun 2016, at 05:28, Alex Afanasyev wrote: >>> >>> I have tried it once long time ago and the process was relatively straightforward (though, I completely forgot all the details). You just need to select where mpi processes should run and afterwards everything happens automatically. (Just in case, the key catch with MPI is that you need to properly partition the topology to get benefits of MPI, and partitioning is not always trivial...) >>> >>> -- >>> Alex >>> >>>> On Mar 19, 2016, at 8:41 AM, Andriana Ioannou wrote: >>>> >>>> Hello all, >>>> >>>> I was wondering whether someone has any feedback/advice on the use of mpi onb multiple machines. From reading the post, I do assume that is possible but I am rather confused on how to proceed with it exactly. >>>> >>>> Any help would be great. >>>> >>>> Thanks. >>>> A. >>>> _______________________________________________ >>>> ndnSIM mailing list >>>> ndnSIM at lists.cs.ucla.edu >>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim >>> >> > From aa at CS.UCLA.EDU Thu Jul 7 16:08:47 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 7 Jul 2016 16:08:47 -0700 Subject: [ndnSIM] Mpi on multiple machines In-Reply-To: References: <5DB67CF5-B4BE-4114-837E-D60821D18FD9@cs.ucla.edu> <11043467-8D68-422C-986A-742D8326B84D@cs.ucla.edu> Message-ID: <39EFAB33-4BC7-4247-BB58-72F4FF46BAFC@cs.ucla.edu> > On Jul 7, 2016, at 2:17 PM, Andriana Ioannou wrote: > >> >> On 07 Jul 2016, at 18:41, Alex Afanasyev wrote: >> >> >>> On Jul 7, 2016, at 6:52 AM, Andriana Ioannou wrote: >>> >>> Hey Alex, >>> >>> Many thanks for the reply. >>> >>> I have managed to make it work on a single machine with multiple processors - not multiple machines - as this was useless to me anyway. What I wanted to do was to distribute the memory consumption between the different machines. However, my memory consumption comes from the structure of a node which can not be discarded even when using an mph - the whole topology is to be created on each LP anyway. >>> >>> Now, with regard to the mpi usage, I have noticed the below: >>> >>> 1. The simulation runs differently on a single processor compared to the one using an mpi. That said, the requests are triggered with a different sequence. >> >> If events are scheduled for the same nanosecond of simulation time, the order of events would be undetermined. However, if the time is different, they should be in pre-determined order, no matter single processor or MPI. If there are differences, then there is some issue somewhere. > > The requests are pretty much pre-scheduled in the sense that a new request is triggered once the previous one is satisfied, i.e. 1 Interest Window. So, I can?t see why that difference may occur, but I will check again. >> >>> >>> 2. Different apps may create Interests with the same nonce, which is ?misleading" to the performance of the system as they may be treated as duplicas - while they are not. >> >> Hm.. Given nonce is random, there is possibility that nonce collide. But this should have extremely low probability to happen. Do you see it consistently? (Is it for ndnSIM 2.x?) >> > Here its a weird situation. It does not always happen. It relates to the seed that I am ?feeding? into the simulation file. Sometimes nothing happens, some others most consumers issue retransmissions. My guess is that when an mpi used, each processor is ?eligible? to create the same sequence of random numbers that are fed to the apps/consumers. I have found some related concerns, although, not an exact solution yet. That would explain the relation to the seed. I have been using ndnSIMv1 since the very beginning. Don?t know if things are different on v2. Hmm. This sounds like a big issue with RandomStream/MPI in NS-3... For the trivial consumer apps, v2 would have the same behavior, as the same NS-3 random generation mechanism is used. > > A. > >> -- >> Alex >> >>> >>> Any ideas on how to deal with the above? >>> >>> Thanks, >>> A. >>> >>>> On 27 Jun 2016, at 05:28, Alex Afanasyev wrote: >>>> >>>> I have tried it once long time ago and the process was relatively straightforward (though, I completely forgot all the details). You just need to select where mpi processes should run and afterwards everything happens automatically. (Just in case, the key catch with MPI is that you need to properly partition the topology to get benefits of MPI, and partitioning is not always trivial...) >>>> >>>> -- >>>> Alex >>>> >>>>> On Mar 19, 2016, at 8:41 AM, Andriana Ioannou wrote: >>>>> >>>>> Hello all, >>>>> >>>>> I was wondering whether someone has any feedback/advice on the use of mpi onb multiple machines. From reading the post, I do assume that is possible but I am rather confused on how to proceed with it exactly. >>>>> >>>>> Any help would be great. >>>>> >>>>> Thanks. >>>>> A. >>>>> _______________________________________________ >>>>> ndnSIM mailing list >>>>> ndnSIM at lists.cs.ucla.edu >>>>> http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From aa at CS.UCLA.EDU Thu Jul 7 16:13:51 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Thu, 7 Jul 2016 16:13:51 -0700 Subject: [ndnSIM] Find corresponding CS entry for the given data packet In-Reply-To: <5696e8cf.65df.155aafef030.Coremail.15045081947@163.com> References: <10e2dfb3.10cee.155a6c7ab90.Coremail.15045081947@163.com> <57767cbf.1b49620a.a24ba.ffffec4c@mx.google.com> <5696e8cf.65df.155aafef030.Coremail.15045081947@163.com> Message-ID: <37E7E9EE-F4E1-4F3B-A522-A46AF9CDC846@cs.ucla.edu> > On Jul 2, 2016, at 2:44 AM, ??? <15045081947 at 163.com> wrote: > > forwarder.cpp?there are two functions, > void find(const Interest& interest, const HitCallback& hitCallback, const MissCallback& missCallback) const ? > shared_ptr Lookup(shared_ptr interest); > What's the difference between them? I'm guessing that you're referring to nfd::cs::Cs::find(...) and ns3::ndn::ContentStore::Lookup(...) In ndnSIM 2.x we added a hack to support ndnSIM 1.x caching policies and caching policies implemented in NFD. So, the first method refers to NFD-implemented policies, and the second to old-style CS. There is a little bit of description about this here: http://ndnsim.net/2.1/cs.html -- Alex > > At 2016-07-01 22:22:57, "Junxiao Shi" wrote: > Hi Qinchao > > > > I understand your question as: given a ContentStore and a Data packet, determine whether the same Data packet already exists in the ContentStore. > > This can be achieved as: > > > > void > > isDataInContentStore(const ndn::Data& data, const nfd::cs::Cs& cs, > > std::function cb) > > { > > ndn::Name fullName = data.getFullName(); > > ndn::Interest interest(fullName); > > cs.find(interest, > > bind([cb] { cb(true); }), > > bind([cb] { cb(false); })); > > } > > > > First we create an Interest that would match the specified Data packet if it exists in the CS; the Interest would not match any other Data packet because it contains the implicit digest. The CS is then queried with the Interest, and the result is returned asynchronously. > > > > Yours, Junxiao > > > > From: ??? > Sent: Friday, July 1, 2016 07:06 > To: ndnsim at lists.cs.ucla.edu > Subject: [ndnSIM] Find corresponding CS entry for the given data packet > > > > hello ,i am doing some simulations about NDN . I have a problem. i want to know whether there are some contents in cs can match the given data packet when a node receive a data packet, how can i do ? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From zeinab.rezaiefar at gmail.com Thu Jul 7 22:58:43 2016 From: zeinab.rezaiefar at gmail.com (Zeinab Rezaiefar) Date: Fri, 8 Jul 2016 14:58:43 +0900 Subject: [ndnSIM] calling dynamic variable from content-store-impl.hpp in another function In-Reply-To: <1CE57EB0-B89D-4A72-9BF8-08E74FA6E31E@cs.ucla.edu> References: <597DA21F-69F9-4B93-92FE-8AEDD05DC0B2@cs.ucla.edu> <1CE57EB0-B89D-4A72-9BF8-08E74FA6E31E@cs.ucla.edu> Message-ID: Dear Alex, Thank you so much for nice points and your great helps. However, may I know how I can access data signature in lifetime-stats-policy.hpp. I mean for increasing defined variable with adding fake packet I need to access signature in insert function which is defined as below: inline bool insert (typename parent_trie::iterator item) { get_time (item) = Simulator::Now (); policy_container::push_back (*item); return true; } how i can extract signature from item in the above function. i am looking forward to hearing you thanks best regards On Fri, Jul 8, 2016 at 10:37 AM, Alex Afanasyev wrote: > > On Jul 7, 2016, at 6:26 PM, Zeinab Rezaiefar > wrote: > > Hello Alex, > Thank you so much for replying. First I would like to explain what I want > to do with using invalid_content . I would like to define how many fake > contents( the content with specific signature) are ine each node. therefore > I defined this variable in content-store-impl.h and call it in > ContentStoreImpl::Add (Ptr data) function to add this > value when the router receive fake contents. however , I would like to > decrease this value when the router removes fake content from their cache. > therefore I would like to call invalid_content in the main function (for > example ndn-simple.cc in scratch folder) where I defined > " Config::Connect("/NodeList/*/$ns3::ndn::cs::Stats::Lru/WillRemoveEntry", > MakeCallback(CacheEntryRemoved)); " to call CacheEntryRemoved . inside this > function I try to decrease the value of the invalid_content when the fake > contents will be removed. > I defined as below: > void > CacheEntryRemoved(std::string context, Ptr entry, > Time lifetime) > { > > if (entry->GetData()->GetSignature()!=0){ > Ptr > > content; > > content->invalid_content; > } > } > with defining,the program will be run but I received SIGSEGV for > (content->invalid_content;) which is I think because of content pointer is > null. moreover , since I have used > "cnxHelper.SetContentStore("ns3::ndn::cs::Stats::Lru", "MaxSize", "1000");" > , I am worry that policy is not lru_policy_traits but it can be > lifetime_stats_policy_traits . however, I do not know how to use it. > finally I want to call invalid_content in trace file and show the output > in output text file. I will become happy and thankful , if I hear your > opinion . > thanks > regards > > > Of course this segfaults, as content points to nothing. > > What you want to achieve is much easier to accomplish by just writing a > new specialized policy, just for that part. There is a little bit of a > hassle to instantiate it, but it would be the most straightforward way. > Though agree that it can be convoluted with c++ templates. > > The easiest way would be to update content-store-with-stats.hpp and > lifetime-stats-policy.hpp. > > - In the policy, you add your variable and simply increase it by one > whenever things are added and remove by one when bad packet evicted (this > should be easy). > > - in the content-store-with-stats.hpp you would want to add a read-only > attribute in GetTypeId method to expose the variable in the policy. You > would need check NS-3 docs what is the proper syntax for the read-only > attribute. After that you should be able to access the value in main.cpp by > > node->GetObject()->GetAttribute("name-you-defined")... > > -- > Alex > > > > > On Fri, Jul 8, 2016 at 12:36 AM, Alex Afanasyev wrote: > >> >> > On Jul 7, 2016, at 6:26 AM, Zeinab Rezaiefar < >> zeinab.rezaiefar at gmail.com> wrote: >> > >> > hello everyone, >> > I have defined public variable in class ContentStoreImpl (double >> invalid_content) in content-store-impl.hpp. furthermore I have change >> these value in ContentStoreImpl::Add (invalid_content++;) I want to >> access this value through files in scratch folder . >> > therefore I include this path (#include >> "ns3/ndnSIM/model/cs/content-store-impl.h"). I want to access it before >> main function as below: >> > >> > using namespace ns3; >> > void >> > CacheEntryRemoved(std::string context, Ptr entry, >> Time lifetime) >> > { >> > >> > if (entry->GetData()->GetSignature()!=0){ >> > //ContentStoreImpl a; >> > Ptr content; >> > content.invalid_content--; >> > >> > } >> > } >> > >> > however, I have received error (mismatch at argument 1 in template >> parameter list for ?template class ns3::Ptr?) >> > is there anybody knows how I can access this value through this >> function. >> > I will become thankful, if I know your opinion >> > thanks in advance >> > best regards >> >> I'm not exactly sure what you're trying to do in the main function... >> Even if you going to make it compile, "Ptr >> content;" be a null pointer. >> >> What is the exact error you're having? >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cheryl.jose at gmail.com Sat Jul 9 00:28:44 2016 From: cheryl.jose at gmail.com (Cheryl Jose) Date: Sat, 9 Jul 2016 00:28:44 -0700 Subject: [ndnSIM] (no subject) Message-ID: Hi, I am using mac os X el Captain. I have downloaded and installed ndnSIM as mentioned but I am facing this problem when trying to build waf. Could you please suggest something that would be of help in the following sitaution ? Or if you could tell me why this problem is occuring ? *Build failed* * -> task in 'ns3-ndnSIM' failed (exit status 1): * * {task 4346991312: cxxshlib ndn-app.cpp.3.o,ndn-consumer-batches.cpp.3.o,ndn-consumer-cbr.cpp.3.o,ndn-consumer-window.cpp.3.o,ndn-consumer-zipf-mandelbrot.cpp.3.o,ndn-consumer.cpp.3.o,ndn-producer.cpp.3.o,ndn-app-helper.cpp.3.o,ndn-face-container.cpp.3.o,ndn-fib-helper.cpp.3.o,ndn-global-routing-helper.cpp.3.o,ndn-link-control-helper.cpp.3.o,ndn-scenario-helper.cpp.3.o,ndn-stack-helper.cpp.3.o,ndn-strategy-choice-helper.cpp.3.o,content-store-impl.cpp.3.o,content-store-nocache.cpp.3.o,content-store-with-freshness.cpp.3.o,content-store-with-probability.cpp.3.o,content-store-with-stats.cpp.3.o,ndn-content-store.cpp.3.o,ndn-app-face.cpp.3.o,ndn-common.cpp.3.o,ndn-global-router.cpp.3.o,ndn-header.cpp.3.o,ndn-l3-protocol.cpp.3.o,ndn-net-device-face.cpp.3.o,ndn-ns3.cpp.3.o,batches.cpp.3.o,dummy-keychain.cpp.3.o,ndn-fw-hop-count-tag.cpp.3.o,ndn-rtt-estimator.cpp.3.o,ndn-rtt-mean-deviation.cpp.3.o,ndn-time.cpp.3.o,annotated-topology-reader.cpp.3.o,rocketfuel-map-reader.cpp.3.o,rocketfuel-weights-reader.cpp.3.o,l2-rate-tracer.cpp.3.o,l2-tracer.cpp.3.o,ndn-app-delay-tracer.cpp.3.o,ndn-cs-tracer.cpp.3.o,ndn-l3-rate-tracer.cpp.3.o,ndn-l3-tracer.cpp.3.o,data.cpp.3.o,block-helpers.cpp.3.o,block.cpp.3.o,buffer.cpp.3.o,asn_ext.cpp.3.o,encoder.cpp.3.o,estimator.cpp.3.o,nfd-constants.cpp.3.o,oid.cpp.3.o,exclude.cpp.3.o,face.cpp.3.o,interest-filter.cpp.3.o,interest.cpp.3.o,key-locator.cpp.3.o,link.cpp.3.o,cache-policy.cpp.3.o,field-info.cpp.3.o,nack-header.cpp.3.o,nack.cpp.3.o,packet.cpp.3.o,nfd-channel-status.cpp.3.o,nfd-command-options.cpp.3.o,nfd-control-command.cpp.3.o,nfd-control-parameters.cpp.3.o,nfd-controller.cpp.3.o,nfd-face-event-notification.cpp.3.o,nfd-face-query-filter.cpp.3.o,nfd-face-status.cpp.3.o,nfd-fib-entry.cpp.3.o,nfd-forwarder-status.cpp.3.o,nfd-rib-entry.cpp.3.o,nfd-strategy-choice.cpp.3.o,meta-info.cpp.3.o,control-response.cpp.3.o,dispatcher.cpp.3.o,status-dataset-context.cpp.3.o,name-component.cpp.3.o,name.cpp.3.o,additional-description.cpp.3.o,certificate-cache-ttl.cpp.3.o,certificate-container.cpp.3.o,certificate-extension.cpp.3.o,certificate-subject-description.cpp.3.o,certificate.cpp.3.o,digest-sha256.cpp.3.o,identity-certificate.cpp.3.o,identity-container.cpp.3.o,identity.cpp.3.o,key-chain.cpp.3.o,key-container.cpp.3.o,key-params.cpp.3.o,key.cpp.3.o,pib-memory.cpp.3.o,pib-sqlite3.cpp.3.o,pib.cpp.3.o,public-key.cpp.3.o,sec-public-info-sqlite3.cpp.3.o,sec-public-info.cpp.3.o,sec-rule-relative.cpp.3.o,sec-rule-specific.cpp.3.o,sec-tpm-file.cpp.3.o,sec-tpm.cpp.3.o,secured-bag.cpp.3.o,signature-sha256-with-ecdsa.cpp.3.o,signature-sha256-with-rsa.cpp.3.o,signing-helpers.cpp.3.o,signing-info.cpp.3.o,validator-config.cpp.3.o,validator-regex.cpp.3.o,validator.cpp.3.o,validity-period.cpp.3.o,selectors.cpp.3.o,signature-info.cpp.3.o,signature.cpp.3.o,tcp-transport.cpp.3.o,unix-transport.cpp.3.o,config-file.cpp.3.o,crypto.cpp.3.o,digest.cpp.3.o,dns.cpp.3.o,ethernet.cpp.3.o,face-uri.cpp.3.o,in-memory-storage-entry.cpp.3.o,in-memory-storage-fifo.cpp.3.o,in-memory-storage-lfu.cpp.3.o,in-memory-storage-lru.cpp.3.o,in-memory-storage-persistent.cpp.3.o,in-memory-storage.cpp.3.o,indented-stream.cpp.3.o,network-monitor.cpp.3.o,random.cpp.3.o,regex-top-matcher.cpp.3.o,scheduler-scoped-event-id.cpp.3.o,scheduler.cpp.3.o,segment-fetcher.cpp.3.o,signal-connection.cpp.3.o,signal-scoped-connection.cpp.3.o,sqlite3-statement.cpp.3.o,string-helper.cpp.3.o,time-unit-test-clock.cpp.3.o,time.cpp.3.o,city-hash.cpp.3.o,config-file.cpp.3.o,network.cpp.3.o,privilege-helper.cpp.3.o,random.cpp.3.o,scheduler.cpp.3.o,channel.cpp.3.o,face.cpp.3.o,ndnlp-data.cpp.3.o,ndnlp-partial-message-store.cpp.3.o,ndnlp-sequence-generator.cpp.3.o,ndnlp-slicer.cpp.3.o,null-face.cpp.3.o,access-strategy.cpp.3.o,best-route-strategy.cpp.3.o,best-route-strategy2.cpp.3.o,broadcast-strategy.cpp.3.o,client-control-strategy.cpp.3.o,face-table.cpp.3.o,forwarder.cpp.3.o,multicast-strategy.cpp.3.o,ncc-strategy.cpp.3.o,retx-suppression-exponential.cpp.3.o,retx-suppression-fixed.cpp.3.o,retx-suppression.cpp.3.o,rtt-estimator.cpp.3.o,strategy-registry.cpp.3.o,strategy.cpp.3.o,channel-status-publisher.cpp.3.o,command-validator.cpp.3.o,face-manager.cpp.3.o,face-query-status-publisher.cpp.3.o,face-status-publisher.cpp.3.o,fib-enumeration-publisher.cpp.3.o,fib-manager.cpp.3.o,general-config-section.cpp.3.o,internal-face.cpp.3.o,manager-base.cpp.3.o,status-server.cpp.3.o,strategy-choice-manager.cpp.3.o,strategy-choice-publisher.cpp.3.o,tables-config-section.cpp.3.o,cs-entry-impl.cpp.3.o,cs-entry.cpp.3.o,cs-policy-lru.cpp.3.o,cs-policy-priority-fifo.cpp.3.o,cs-policy.cpp.3.o,cs.cpp.3.o,dead-nonce-list.cpp.3.o,fib-entry.cpp.3.o,fib-nexthop.cpp.3.o,fib.cpp.3.o,measurements-accessor.cpp.3.o,measurements-entry.cpp.3.o,measurements.cpp.3.o,name-tree-entry.cpp.3.o,name-tree.cpp.3.o,pit-entry.cpp.3.o,pit-face-record.cpp.3.o,pit-in-record.cpp.3.o,pit-out-record.cpp.3.o,pit.cpp.3.o,strategy-choice-entry.cpp.3.o,strategy-choice.cpp.3.o,strategy-info-host.cpp.3.o,fib-update.cpp.3.o,fib-updater.cpp.3.o,remote-registrator.cpp.3.o,rib-entry.cpp.3.o,rib-manager.cpp.3.o,rib-status-publisher.cpp.3.o,rib-update-batch.cpp.3.o,rib-update.cpp.3.o,rib.cpp.3.o,route.cpp.3.o -> libns3-dev-ndnSIM-debug.dylib}* *['/usr/bin/clang++', '-dynamiclib', 'src/ndnSIM/apps/ndn-app.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-batches.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-cbr.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-window.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer-zipf-mandelbrot.cpp.3.o', 'src/ndnSIM/apps/ndn-consumer.cpp.3.o', 'src/ndnSIM/apps/ndn-producer.cpp.3.o', 'src/ndnSIM/helper/ndn-app-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-face-container.cpp.3.o', 'src/ndnSIM/helper/ndn-fib-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-global-routing-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-link-control-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-scenario-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-stack-helper.cpp.3.o', 'src/ndnSIM/helper/ndn-strategy-choice-helper.cpp.3.o', 'src/ndnSIM/model/cs/content-store-impl.cpp.3.o', 'src/ndnSIM/model/cs/content-store-nocache.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-freshness.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-probability.cpp.3.o', 'src/ndnSIM/model/cs/content-store-with-stats.cpp.3.o', 'src/ndnSIM/model/cs/ndn-content-store.cpp.3.o', 'src/ndnSIM/model/ndn-app-face.cpp.3.o', 'src/ndnSIM/model/ndn-common.cpp.3.o', 'src/ndnSIM/model/ndn-global-router.cpp.3.o', 'src/ndnSIM/model/ndn-header.cpp.3.o', 'src/ndnSIM/model/ndn-l3-protocol.cpp.3.o', 'src/ndnSIM/model/ndn-net-device-face.cpp.3.o', 'src/ndnSIM/model/ndn-ns3.cpp.3.o', 'src/ndnSIM/utils/batches.cpp.3.o', 'src/ndnSIM/utils/dummy-keychain.cpp.3.o', 'src/ndnSIM/utils/ndn-fw-hop-count-tag.cpp.3.o', 'src/ndnSIM/utils/ndn-rtt-estimator.cpp.3.o', 'src/ndnSIM/utils/ndn-rtt-mean-deviation.cpp.3.o', 'src/ndnSIM/utils/ndn-time.cpp.3.o', 'src/ndnSIM/utils/topology/annotated-topology-reader.cpp.3.o', 'src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp.3.o', 'src/ndnSIM/utils/topology/rocketfuel-weights-reader.cpp.3.o', 'src/ndnSIM/utils/tracers/l2-rate-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/l2-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-app-delay-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-cs-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-l3-rate-tracer.cpp.3.o', 'src/ndnSIM/utils/tracers/ndn-l3-tracer.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/data.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/block-helpers.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/block.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/buffer.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/cryptopp/asn_ext.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/encoder.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/estimator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/nfd-constants.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/encoding/oid.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/exclude.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/face.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/interest-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/interest.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/key-locator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/link.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/cache-policy.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/detail/field-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/nack-header.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/nack.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/lp/packet.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-channel-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-command-options.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-control-command.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-control-parameters.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-controller.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-face-event-notification.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-face-query-filter.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-face-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-fib-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-forwarder-status.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-rib-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/management/nfd-strategy-choice.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/meta-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/control-response.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/dispatcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/mgmt/status-dataset-context.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/name-component.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/name.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/additional-description.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-cache-ttl.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-extension.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate-subject-description.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/certificate.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/digest-sha256.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity-certificate.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/identity.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-chain.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-container.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key-params.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib-memory.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib-sqlite3.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/pib.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/public-key.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-public-info-sqlite3.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-public-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-rule-relative.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-rule-specific.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-tpm-file.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/sec-tpm.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/secured-bag.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-ecdsa.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-rsa.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signing-helpers.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/signing-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator-config.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator-regex.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validator.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/security/validity-period.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/selectors.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/signature-info.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/signature.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/tcp-transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/transport/unix-transport.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/config-file.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/crypto.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/digest.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/dns.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/ethernet.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/face-uri.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-entry.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-fifo.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lfu.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lru.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-persistent.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/indented-stream.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/network-monitor.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/random.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/regex/regex-top-matcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/scheduler-scoped-event-id.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/scheduler.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/segment-fetcher.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/signal-connection.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/signal-scoped-connection.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/sqlite3-statement.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/string-helper.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/time-unit-test-clock.cpp.3.o', 'src/ndnSIM/ndn-cxx/src/util/time.cpp.3.o', 'src/ndnSIM/NFD/core/city-hash.cpp.3.o', 'src/ndnSIM/NFD/core/config-file.cpp.3.o', 'src/ndnSIM/NFD/core/network.cpp.3.o', 'src/ndnSIM/NFD/core/privilege-helper.cpp.3.o', 'src/ndnSIM/NFD/core/random.cpp.3.o', 'src/ndnSIM/NFD/core/scheduler.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/channel.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/face.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/ndnlp-data.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/ndnlp-partial-message-store.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/ndnlp-sequence-generator.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/ndnlp-slicer.cpp.3.o', 'src/ndnSIM/NFD/daemon/face/null-face.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/access-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/best-route-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/best-route-strategy2.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/broadcast-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/client-control-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/face-table.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/forwarder.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/multicast-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/ncc-strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression-exponential.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression-fixed.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/retx-suppression.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/rtt-estimator.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/strategy-registry.cpp.3.o', 'src/ndnSIM/NFD/daemon/fw/strategy.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/channel-status-publisher.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/command-validator.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/face-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/face-query-status-publisher.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/face-status-publisher.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/fib-enumeration-publisher.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/fib-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/general-config-section.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/internal-face.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/manager-base.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/status-server.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/strategy-choice-manager.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/strategy-choice-publisher.cpp.3.o', 'src/ndnSIM/NFD/daemon/mgmt/tables-config-section.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-entry-impl.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy-lru.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy-priority-fifo.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs-policy.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/cs.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/dead-nonce-list.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib-nexthop.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/fib.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements-accessor.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/measurements.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/name-tree.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-face-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-in-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit-out-record.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/pit.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-choice-entry.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-choice.cpp.3.o', 'src/ndnSIM/NFD/daemon/table/strategy-info-host.cpp.3.o', 'src/ndnSIM/NFD/rib/fib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/fib-updater.cpp.3.o', 'src/ndnSIM/NFD/rib/remote-registrator.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-entry.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-manager.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-status-publisher.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-update-batch.cpp.3.o', 'src/ndnSIM/NFD/rib/rib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/rib.cpp.3.o', 'src/ndnSIM/NFD/rib/route.cpp.3.o', '-o', '/Users/cherylmariajose/Desktop/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.dylib', '-L.', '-L/opt/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', '-lns3-dev-point-to-point-debug', '-lns3-dev-internet-debug', '-lns3-dev-mpi-debug', '-lns3-dev-topology-read-debug', '-lns3-dev-mobility-debug', '-lns3-dev-bridge-debug', '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', '-lpthread', '-lsqlite3', '-lboost_graph', '-lboost_thread-mt', '-lboost_unit_test_framework', '-lboost_system', '-lboost_random', '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', '-lboost_program_options', '-lboost_chrono', '-lboost_filesystem', '-lboost_system', '-lboost_signals', '-lboost_filesystem', '-lcryptopp']* Thanking You Cheryl -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Sun Jul 10 07:56:00 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Sun, 10 Jul 2016 07:56:00 -0700 Subject: [ndnSIM] (no subject) In-Reply-To: References: Message-ID: Hi Cheryl There's a linker error. Scroll up to see the error message. If you have attempted to build on the repository before, and updated dependencies before this build, don't forget to execute ./waf distclean to clean up the cache. Yours, Junxiao On Sat, Jul 9, 2016 at 12:28 AM, Cheryl Jose wrote: > Hi, > > I am using mac os X el Captain. I have downloaded and installed ndnSIM as > mentioned but I am facing this problem when trying to build waf. Could you > please suggest something that would be of help in the following sitaution ? > Or if you could tell me why this problem is occuring ? > > > *Build failed* > > * -> task in 'ns3-ndnSIM' failed (exit status 1): * > > * {task 4346991312 <4346991312>: cxxshlib > ndn-app.cpp.3.o,ndn-consumer-batches.cpp.3.o,ndn-consumer-cbr.cpp.3.o,ndn-consumer-window.cpp.3.o,ndn-consumer-zipf-mandelbrot.cpp.3.o,ndn-consumer.cpp.3.o,ndn-producer.cpp.3.o,ndn-app-helper.cpp.3.o,ndn-face-container.cpp.3.o,ndn-fib-helper.cpp.3.o,ndn-global-routing-helper.cpp.3.o,ndn-link-control-helper.cpp.3.o,ndn-scenario-helper.cpp.3.o,ndn-stack-helper.cpp.3.o,ndn-strategy-choice-helper.cpp.3.o,content-store-impl.cpp.3.o,content-store-nocache.cpp.3.o,content-store-with-freshness.cpp.3.o,content-store-with-probability.cpp.3.o,content-store-with-stats.cpp.3.o,ndn-content-store.cpp.3.o,ndn-app-face.cpp.3.o,ndn-common.cpp.3.o,ndn-global-router.cpp.3.o,ndn-header.cpp.3.o,ndn-l3-protocol.cpp.3.o,ndn-net-device-face.cpp.3.o,ndn-ns3.cpp.3.o,batches.cpp.3.o,dummy-keychain.cpp.3.o,ndn-fw-hop-count-tag.cpp.3.o,ndn-rtt-estimator.cpp.3.o,ndn-rtt-mean-deviation.cpp.3.o,ndn-time.cpp.3.o,annotated-topology-reader.cpp.3.o,rocketfuel-map-reader.cpp.3.o,rocketfuel-weights-reader.cpp.3.o,l2-rate-tracer.cpp.3.o,l2-tracer.cpp.3.o,ndn-app-delay-tracer.cpp.3.o,ndn-cs-tracer.cpp.3.o,ndn-l3-rate-tracer.cpp.3.o,ndn-l3-tracer.cpp.3.o,data.cpp.3.o,block-helpers.cpp.3.o,block.cpp.3.o,buffer.cpp.3.o,asn_ext.cpp.3.o,encoder.cpp.3.o,estimator.cpp.3.o,nfd-constants.cpp.3.o,oid.cpp.3.o,exclude.cpp.3.o,face.cpp.3.o,interest-filter.cpp.3.o,interest.cpp.3.o,key-locator.cpp.3.o,link.cpp.3.o,cache-policy.cpp.3.o,field-info.cpp.3.o,nack-header.cpp.3.o,nack.cpp.3.o,packet.cpp.3.o,nfd-channel-status.cpp.3.o,nfd-command-options.cpp.3.o,nfd-control-command.cpp.3.o,nfd-control-parameters.cpp.3.o,nfd-controller.cpp.3.o,nfd-face-event-notification.cpp.3.o,nfd-face-query-filter.cpp.3.o,nfd-face-status.cpp.3.o,nfd-fib-entry.cpp.3.o,nfd-forwarder-status.cpp.3.o,nfd-rib-entry.cpp.3.o,nfd-strategy-choice.cpp.3.o,meta-info.cpp.3.o,control-response.cpp.3.o,dispatcher.cpp.3.o,status-dataset-context.cpp.3.o,name-component.cpp.3.o,name.cpp.3.o,additional-description.cpp.3.o,certificate-cache-ttl.cpp.3.o,certificate-container.cpp.3.o,certificate-extension.cpp.3.o,certificate-subject-description.cpp.3.o,certificate.cpp.3.o,digest-sha256.cpp.3.o,identity-certificate.cpp.3.o,identity-container.cpp.3.o,identity.cpp.3.o,key-chain.cpp.3.o,key-container.cpp.3.o,key-params.cpp.3.o,key.cpp.3.o,pib-memory.cpp.3.o,pib-sqlite3.cpp.3.o,pib.cpp.3.o,public-key.cpp.3.o,sec-public-info-sqlite3.cpp.3.o,sec-public-info.cpp.3.o,sec-rule-relative.cpp.3.o,sec-rule-specific.cpp.3.o,sec-tpm-file.cpp.3.o,sec-tpm.cpp.3.o,secured-bag.cpp.3.o,signature-sha256-with-ecdsa.cpp.3.o,signature-sha256-with-rsa.cpp.3.o,signing-helpers.cpp.3.o,signing-info.cpp.3.o,validator-config.cpp.3.o,validator-regex.cpp.3.o,validator.cpp.3.o,validity-period.cpp.3.o,selectors.cpp.3.o,signature-info.cpp.3.o,signature.cpp.3.o,tcp-transport.cpp.3.o,unix-transport.cpp.3.o,config-file.cpp.3.o,crypto.cpp.3.o,digest.cpp.3.o,dns.cpp.3.o,ethernet.cpp.3.o,face-uri.cpp.3.o,in-memory-storage-entry.cpp.3.o,in-memory-storage-fifo.cpp.3.o,in-memory-storage-lfu.cpp.3.o,in-memory-storage-lru.cpp.3.o,in-memory-storage-persistent.cpp.3.o,in-memory-storage.cpp.3.o,indented-stream.cpp.3.o,network-monitor.cpp.3.o,random.cpp.3.o,regex-top-matcher.cpp.3.o,scheduler-scoped-event-id.cpp.3.o,scheduler.cpp.3.o,segment-fetcher.cpp.3.o,signal-connection.cpp.3.o,signal-scoped-connection.cpp.3.o,sqlite3-statement.cpp.3.o,string-helper.cpp.3.o,time-unit-test-clock.cpp.3.o,time.cpp.3.o,city-hash.cpp.3.o,config-file.cpp.3.o,network.cpp.3.o,privilege-helper.cpp.3.o,random.cpp.3.o,scheduler.cpp.3.o,channel.cpp.3.o,face.cpp.3.o,ndnlp-data.cpp.3.o,ndnlp-partial-message-store.cpp.3.o,ndnlp-sequence-generator.cpp.3.o,ndnlp-slicer.cpp.3.o,null-face.cpp.3.o,access-strategy.cpp.3.o,best-route-strategy.cpp.3.o,best-route-strategy2.cpp.3.o,broadcast-strategy.cpp.3.o,client-control-strategy.cpp.3.o,face-table.cpp.3.o,forwarder.cpp.3.o,multicast-strategy.cpp.3.o,ncc-strategy.cpp.3.o,retx-suppression-exponential.cpp.3.o,retx-suppression-fixed.cpp.3.o,retx-suppression.cpp.3.o,rtt-estimator.cpp.3.o,strategy-registry.cpp.3.o,strategy.cpp.3.o,channel-status-publisher.cpp.3.o,command-validator.cpp.3.o,face-manager.cpp.3.o,face-query-status-publisher.cpp.3.o,face-status-publisher.cpp.3.o,fib-enumeration-publisher.cpp.3.o,fib-manager.cpp.3.o,general-config-section.cpp.3.o,internal-face.cpp.3.o,manager-base.cpp.3.o,status-server.cpp.3.o,strategy-choice-manager.cpp.3.o,strategy-choice-publisher.cpp.3.o,tables-config-section.cpp.3.o,cs-entry-impl.cpp.3.o,cs-entry.cpp.3.o,cs-policy-lru.cpp.3.o,cs-policy-priority-fifo.cpp.3.o,cs-policy.cpp.3.o,cs.cpp.3.o,dead-nonce-list.cpp.3.o,fib-entry.cpp.3.o,fib-nexthop.cpp.3.o,fib.cpp.3.o,measurements-accessor.cpp.3.o,measurements-entry.cpp.3.o,measurements.cpp.3.o,name-tree-entry.cpp.3.o,name-tree.cpp.3.o,pit-entry.cpp.3.o,pit-face-record.cpp.3.o,pit-in-record.cpp.3.o,pit-out-record.cpp.3.o,pit.cpp.3.o,strategy-choice-entry.cpp.3.o,strategy-choice.cpp.3.o,strategy-info-host.cpp.3.o,fib-update.cpp.3.o,fib-updater.cpp.3.o,remote-registrator.cpp.3.o,rib-entry.cpp.3.o,rib-manager.cpp.3.o,rib-status-publisher.cpp.3.o,rib-update-batch.cpp.3.o,rib-update.cpp.3.o,rib.cpp.3.o,route.cpp.3.o > -> libns3-dev-ndnSIM-debug.dylib}* > > *['/usr/bin/clang++', '-dynamiclib', 'src/ndnSIM/apps/ndn-app.cpp.3.o', > 'src/ndnSIM/apps/ndn-consumer-batches.cpp.3.o', > 'src/ndnSIM/apps/ndn-consumer-cbr.cpp.3.o', > 'src/ndnSIM/apps/ndn-consumer-window.cpp.3.o', > 'src/ndnSIM/apps/ndn-consumer-zipf-mandelbrot.cpp.3.o', > 'src/ndnSIM/apps/ndn-consumer.cpp.3.o', > 'src/ndnSIM/apps/ndn-producer.cpp.3.o', > 'src/ndnSIM/helper/ndn-app-helper.cpp.3.o', > 'src/ndnSIM/helper/ndn-face-container.cpp.3.o', > 'src/ndnSIM/helper/ndn-fib-helper.cpp.3.o', > 'src/ndnSIM/helper/ndn-global-routing-helper.cpp.3.o', > 'src/ndnSIM/helper/ndn-link-control-helper.cpp.3.o', > 'src/ndnSIM/helper/ndn-scenario-helper.cpp.3.o', > 'src/ndnSIM/helper/ndn-stack-helper.cpp.3.o', > 'src/ndnSIM/helper/ndn-strategy-choice-helper.cpp.3.o', > 'src/ndnSIM/model/cs/content-store-impl.cpp.3.o', > 'src/ndnSIM/model/cs/content-store-nocache.cpp.3.o', > 'src/ndnSIM/model/cs/content-store-with-freshness.cpp.3.o', > 'src/ndnSIM/model/cs/content-store-with-probability.cpp.3.o', > 'src/ndnSIM/model/cs/content-store-with-stats.cpp.3.o', > 'src/ndnSIM/model/cs/ndn-content-store.cpp.3.o', > 'src/ndnSIM/model/ndn-app-face.cpp.3.o', > 'src/ndnSIM/model/ndn-common.cpp.3.o', > 'src/ndnSIM/model/ndn-global-router.cpp.3.o', > 'src/ndnSIM/model/ndn-header.cpp.3.o', > 'src/ndnSIM/model/ndn-l3-protocol.cpp.3.o', > 'src/ndnSIM/model/ndn-net-device-face.cpp.3.o', > 'src/ndnSIM/model/ndn-ns3.cpp.3.o', 'src/ndnSIM/utils/batches.cpp.3.o', > 'src/ndnSIM/utils/dummy-keychain.cpp.3.o', > 'src/ndnSIM/utils/ndn-fw-hop-count-tag.cpp.3.o', > 'src/ndnSIM/utils/ndn-rtt-estimator.cpp.3.o', > 'src/ndnSIM/utils/ndn-rtt-mean-deviation.cpp.3.o', > 'src/ndnSIM/utils/ndn-time.cpp.3.o', > 'src/ndnSIM/utils/topology/annotated-topology-reader.cpp.3.o', > 'src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp.3.o', > 'src/ndnSIM/utils/topology/rocketfuel-weights-reader.cpp.3.o', > 'src/ndnSIM/utils/tracers/l2-rate-tracer.cpp.3.o', > 'src/ndnSIM/utils/tracers/l2-tracer.cpp.3.o', > 'src/ndnSIM/utils/tracers/ndn-app-delay-tracer.cpp.3.o', > 'src/ndnSIM/utils/tracers/ndn-cs-tracer.cpp.3.o', > 'src/ndnSIM/utils/tracers/ndn-l3-rate-tracer.cpp.3.o', > 'src/ndnSIM/utils/tracers/ndn-l3-tracer.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/data.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/block-helpers.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/block.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/buffer.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/cryptopp/asn_ext.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/encoder.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/estimator.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/nfd-constants.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/encoding/oid.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/exclude.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/face.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/interest-filter.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/interest.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/key-locator.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/link.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/lp/cache-policy.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/lp/detail/field-info.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/lp/nack-header.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/lp/nack.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/lp/packet.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-channel-status.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-command-options.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-control-command.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-control-parameters.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-controller.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-face-event-notification.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-face-query-filter.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-face-status.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-fib-entry.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-forwarder-status.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-rib-entry.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/management/nfd-strategy-choice.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/meta-info.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/mgmt/control-response.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/mgmt/dispatcher.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/mgmt/status-dataset-context.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/name-component.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/name.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/additional-description.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/certificate-cache-ttl.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/certificate-container.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/certificate-extension.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/certificate-subject-description.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/certificate.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/digest-sha256.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/identity-certificate.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/identity-container.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/identity.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/key-chain.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/key-container.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/key-params.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/key.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/pib-memory.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/pib-sqlite3.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/pib.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/public-key.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/sec-public-info-sqlite3.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/sec-public-info.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/sec-rule-relative.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/sec-rule-specific.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/sec-tpm-file.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/sec-tpm.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/secured-bag.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-ecdsa.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/signature-sha256-with-rsa.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/signing-helpers.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/signing-info.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/validator-config.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/validator-regex.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/validator.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/security/validity-period.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/selectors.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/signature-info.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/signature.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/transport/tcp-transport.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/transport/unix-transport.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/config-file.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/crypto.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/digest.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/dns.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/ethernet.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/face-uri.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-entry.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-fifo.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lfu.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-lru.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage-persistent.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/in-memory-storage.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/indented-stream.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/network-monitor.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/random.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/regex/regex-top-matcher.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/scheduler-scoped-event-id.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/scheduler.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/segment-fetcher.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/signal-connection.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/signal-scoped-connection.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/sqlite3-statement.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/string-helper.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/time-unit-test-clock.cpp.3.o', > 'src/ndnSIM/ndn-cxx/src/util/time.cpp.3.o', > 'src/ndnSIM/NFD/core/city-hash.cpp.3.o', > 'src/ndnSIM/NFD/core/config-file.cpp.3.o', > 'src/ndnSIM/NFD/core/network.cpp.3.o', > 'src/ndnSIM/NFD/core/privilege-helper.cpp.3.o', > 'src/ndnSIM/NFD/core/random.cpp.3.o', > 'src/ndnSIM/NFD/core/scheduler.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/channel.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/face.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/ndnlp-data.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/ndnlp-partial-message-store.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/ndnlp-sequence-generator.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/ndnlp-slicer.cpp.3.o', > 'src/ndnSIM/NFD/daemon/face/null-face.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/access-strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/best-route-strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/best-route-strategy2.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/broadcast-strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/client-control-strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/face-table.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/forwarder.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/multicast-strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/ncc-strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/retx-suppression-exponential.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/retx-suppression-fixed.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/retx-suppression.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/rtt-estimator.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/strategy-registry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/fw/strategy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/channel-status-publisher.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/command-validator.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/face-manager.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/face-query-status-publisher.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/face-status-publisher.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/fib-enumeration-publisher.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/fib-manager.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/general-config-section.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/internal-face.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/manager-base.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/status-server.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/strategy-choice-manager.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/strategy-choice-publisher.cpp.3.o', > 'src/ndnSIM/NFD/daemon/mgmt/tables-config-section.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/cs-entry-impl.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/cs-entry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/cs-policy-lru.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/cs-policy-priority-fifo.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/cs-policy.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/cs.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/dead-nonce-list.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/fib-entry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/fib-nexthop.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/fib.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/measurements-accessor.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/measurements-entry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/measurements.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/name-tree-entry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/name-tree.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/pit-entry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/pit-face-record.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/pit-in-record.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/pit-out-record.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/pit.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/strategy-choice-entry.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/strategy-choice.cpp.3.o', > 'src/ndnSIM/NFD/daemon/table/strategy-info-host.cpp.3.o', > 'src/ndnSIM/NFD/rib/fib-update.cpp.3.o', > 'src/ndnSIM/NFD/rib/fib-updater.cpp.3.o', > 'src/ndnSIM/NFD/rib/remote-registrator.cpp.3.o', > 'src/ndnSIM/NFD/rib/rib-entry.cpp.3.o', > 'src/ndnSIM/NFD/rib/rib-manager.cpp.3.o', > 'src/ndnSIM/NFD/rib/rib-status-publisher.cpp.3.o', > 'src/ndnSIM/NFD/rib/rib-update-batch.cpp.3.o', > 'src/ndnSIM/NFD/rib/rib-update.cpp.3.o', 'src/ndnSIM/NFD/rib/rib.cpp.3.o', > 'src/ndnSIM/NFD/rib/route.cpp.3.o', '-o', > '/Users/cherylmariajose/Desktop/ndnSIM/ns-3/build/libns3-dev-ndnSIM-debug.dylib', > '-L.', '-L/opt/local/lib', '-L/usr/local/lib', '-L/usr/local/lib', > '-lns3-dev-point-to-point-debug', '-lns3-dev-internet-debug', > '-lns3-dev-mpi-debug', '-lns3-dev-topology-read-debug', > '-lns3-dev-mobility-debug', '-lns3-dev-bridge-debug', > '-lns3-dev-network-debug', '-lns3-dev-stats-debug', '-lns3-dev-core-debug', > '-lpthread', '-lsqlite3', '-lboost_graph', '-lboost_thread-mt', > '-lboost_unit_test_framework', '-lboost_system', '-lboost_random', > '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', > '-lboost_program_options', '-lboost_chrono', '-lboost_filesystem', > '-lboost_system', '-lboost_signals', '-lboost_filesystem', '-lcryptopp']* > > > Thanking You > > Cheryl > > _______________________________________________ > 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 zeinab.rezaiefar at gmail.com Sun Jul 10 17:11:55 2016 From: zeinab.rezaiefar at gmail.com (Zeinab) Date: Mon, 11 Jul 2016 09:11:55 +0900 Subject: [ndnSIM] calling dynamic variable from content-store-impl.hpp in another function In-Reply-To: References: <597DA21F-69F9-4B93-92FE-8AEDD05DC0B2@cs.ucla.edu> <1CE57EB0-B89D-4A72-9BF8-08E74FA6E31E@cs.ucla.edu> Message-ID: > > Dear Alex, > as you helped me, I have added variable ( double fake_content) to lifetime-stats-policy.hpp and increase and decrease it when fake content evicted. then I try to add read only attribute for this variable as below > template > TypeId > ContentStoreWithStats< Policy >::GetTypeId () > { > static TypeId tid = TypeId (("ns3::ndn::cs::Stats::"+Policy::GetName ()).c_str ()) > .SetGroupName ("Ndn") > .SetParent () > .template AddConstructor< ContentStoreWithStats< Policy > > () > .AddTraceSource ("WillRemoveEntry", "Trace called just before content store entry will be removed", > MakeTraceSourceAccessor (&ContentStoreWithStats< Policy >::m_willRemoveEntry)) > .AddAttribute ("FakeContent", "number of fake content in the router", > TypeId::ATTR_GET, // allow only getting it. > UintegerValue (0), // unused (attribute is read-only > MakeUintegerAccessor (?????), > MakeUintegerChecker ()) > // trace stuff here > ; > return tid; > } > > however, I do not know what should I write in "MakeUintegerAccessor " to access fake_content varaiable which I defined in lifetime-stats-policy.hpp. should I define tracedcall ? > I am looking forward to hearing you > thank you so much > regards > >> On Fri, Jul 8, 2016 at 10:37 AM, Alex Afanasyev wrote: >> >>> On Jul 7, 2016, at 6:26 PM, Zeinab Rezaiefar wrote: >>> >>> Hello Alex, >>> Thank you so much for replying. First I would like to explain what I want to do with using invalid_content . I would like to define how many fake contents( the content with specific signature) are ine each node. therefore I defined this variable in content-store-impl.h and call it in ContentStoreImpl::Add (Ptr data) function to add this value when the router receive fake contents. however , I would like to decrease this value when the router removes fake content from their cache. therefore I would like to call invalid_content in the main function (for example ndn-simple.cc in scratch folder) where I defined " Config::Connect("/NodeList/*/$ns3::ndn::cs::Stats::Lru/WillRemoveEntry", MakeCallback(CacheEntryRemoved)); " to call CacheEntryRemoved . inside this function I try to decrease the value of the invalid_content when the fake contents will be removed. >>> I defined as below: >>> void >>> CacheEntryRemoved(std::string context, Ptr entry, Time lifetime) >>> { >>> >>> if (entry->GetData()->GetSignature()!=0){ >>> Ptr > content; >>> >>> content->invalid_content; >>> } >>> } >>> with defining,the program will be run but I received SIGSEGV for (content->invalid_content;) which is I think because of content pointer is null. moreover , since I have used "cnxHelper.SetContentStore("ns3::ndn::cs::Stats::Lru", "MaxSize", "1000");" , I am worry that policy is not lru_policy_traits but it can be lifetime_stats_policy_traits . however, I do not know how to use it. >>> finally I want to call invalid_content in trace file and show the output in output text file. I will become happy and thankful , if I hear your opinion . >>> thanks >>> regards >> >> Of course this segfaults, as content points to nothing. >> >> What you want to achieve is much easier to accomplish by just writing a new specialized policy, just for that part. There is a little bit of a hassle to instantiate it, but it would be the most straightforward way. Though agree that it can be convoluted with c++ templates. >> >> The easiest way would be to update content-store-with-stats.hpp and lifetime-stats-policy.hpp. >> >> - In the policy, you add your variable and simply increase it by one whenever things are added and remove by one when bad packet evicted (this should be easy). >> >> - in the content-store-with-stats.hpp you would want to add a read-only attribute in GetTypeId method to expose the variable in the policy. You would need check NS-3 docs what is the proper syntax for the read-only attribute. After that you should be able to access the value in main.cpp by >> >> node->GetObject()->GetAttribute("name-you-defined")... >> >> -- >> Alex >> >> >> >>> >>>> On Fri, Jul 8, 2016 at 12:36 AM, Alex Afanasyev wrote: >>>> >>>> > On Jul 7, 2016, at 6:26 AM, Zeinab Rezaiefar wrote: >>>> > >>>> > hello everyone, >>>> > I have defined public variable in class ContentStoreImpl (double invalid_content) in content-store-impl.hpp. furthermore I have change these value in ContentStoreImpl::Add (invalid_content++;) I want to access this value through files in scratch folder . >>>> > therefore I include this path (#include "ns3/ndnSIM/model/cs/content-store-impl.h"). I want to access it before main function as below: >>>> > >>>> > using namespace ns3; >>>> > void >>>> > CacheEntryRemoved(std::string context, Ptr entry, Time lifetime) >>>> > { >>>> > >>>> > if (entry->GetData()->GetSignature()!=0){ >>>> > //ContentStoreImpl a; >>>> > Ptr content; >>>> > content.invalid_content--; >>>> > >>>> > } >>>> > } >>>> > >>>> > however, I have received error (mismatch at argument 1 in template parameter list for ?template class ns3::Ptr?) >>>> > is there anybody knows how I can access this value through this function. >>>> > I will become thankful, if I know your opinion >>>> > thanks in advance >>>> > best regards >>>> >>>> I'm not exactly sure what you're trying to do in the main function... Even if you going to make it compile, "Ptr content;" be a null pointer. >>>> >>>> What is the exact error you're having? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From theintjuly at gmail.com Mon Jul 11 00:09:06 2016 From: theintjuly at gmail.com (theint july) Date: Mon, 11 Jul 2016 16:09:06 +0900 Subject: [ndnSIM] To use AddPacketTag in Producer.cpp Message-ID: Hi I am trying to add tag to the data packet like fw-hop-count tag. So I modified EXPTag.hpp and .cpp like fw-hop-count-tag .hpp and cpp. And I wnat to ADD this when the producer provide the data. Therefore I do it as follow. I am currently using ndnSIM 2.0. if (data!=0) { EXPTag exptag; NS_LOG_INFO ("Infomation "<< exp<< " : send to data > "<< data->getName()); exptag.Set (exp); data->GetPayload()->AddPacketTag (exptag); The error is that data have no member name "GetPayload ( ) " . And I also check the data.h file and I don't see GetPayload function. Please kindly let me get your guidance how can I used AddPacketTag in producer.cpp in ndnSIM 2.0. With Best Regards. Theint Theint Myo -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Mon Jul 11 17:23:14 2016 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Mon, 11 Jul 2016 20:23:14 -0400 Subject: [ndnSIM] To use AddPacketTag in Producer.cpp In-Reply-To: References: Message-ID: <5122430A-0CBE-4835-9979-DE67D21C78FE@cs.ucla.edu> Hi, you will have to create a class similar to the one in the fw-hop-count-tag.hpp file. The hop count tag is attached to every packet by the Send method of the NetDeviceFace class: https://github.com/named-data-ndnSIM/ndnSIM/blob/a4915caa0c4121f2dd87fd3d7cc3b6eb91632f16/model/ndn-net-device-face.cpp#L87 Hope that this helps, Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Jul 11, 2016, at 3:09 AM, theint july wrote: > > Hi > > I am trying to add tag to the data packet like fw-hop-count tag. > So I modified EXPTag.hpp and .cpp like fw-hop-count-tag .hpp and cpp. And I wnat to ADD this when the producer provide the data. > Therefore I do it as follow. > I am currently using ndnSIM 2.0. > > > if (data!=0) > { > EXPTag exptag; > NS_LOG_INFO ("Infomation "<< exp<< " : send to data > "<< data->getName()); > exptag.Set (exp); > data->GetPayload()->AddPacketTag (exptag); > > > The error is that data have no member name "GetPayload ( ) " . > > And I also check the data.h file and I don't see GetPayload function. > > Please kindly let me get your guidance how can I used AddPacketTag in producer.cpp in ndnSIM 2.0. > > With Best Regards. > Theint Theint Myo -------------- next part -------------- An HTML attachment was scrubbed... URL: From cheryl.jose at gmail.com Mon Jul 11 19:17:00 2016 From: cheryl.jose at gmail.com (Cheryl Jose) Date: Mon, 11 Jul 2016 19:17:00 -0700 Subject: [ndnSIM] CryptoPP is present, but is not usable Message-ID: Hi, I tried doing ./waf distclean and then configured for ./waf but this is the error that is showing up : *CryptoPP is present, but is not usable* I have tried *CryptoPP* downloading it manually and then running it. I have also tried by mentioning the path using with path = "path to cryptoPP" but it is still not working. As I metioned earlier, I am using MAC OS X el Captain.Kindly help me in setting up ndnSIM. Regards, Cheryl -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Mon Jul 11 21:39:51 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 11 Jul 2016 21:39:51 -0700 Subject: [ndnSIM] CryptoPP is present, but is not usable In-Reply-To: References: Message-ID: Hi Cheryl Look at build/config.log for detailed error messages. Generally, Ubuntu has less problems than OS X, and HomeBrew has less problems than MacPorts. If you have both HomeBrew and MacPorts, completely uninstall both, and reinstall HomeBrew only. Yours, Junxiao On Jul 11, 2016 19:17, "Cheryl Jose" wrote: > Hi, > > I tried doing ./waf distclean and then configured for ./waf but this is > the error that is showing up : > > *CryptoPP is present, but is not usable* > > I have tried *CryptoPP* downloading it manually and then running it. I > have also tried by mentioning the path using with path = "path to cryptoPP" > but it is still not working. As I metioned earlier, I am using MAC OS X el > Captain.Kindly help me in setting up ndnSIM. > > > Regards, > > Cheryl > > _______________________________________________ > 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 sigeyasu at pu-hiroshima.ac.jp Tue Jul 12 01:16:20 2016 From: sigeyasu at pu-hiroshima.ac.jp (Tetsuya Shigeyasu) Date: Tue, 12 Jul 2016 17:16:20 +0900 Subject: [ndnSIM] Add new FIB entry at forwarder Message-ID: Hi Alex, We would like to add new FIB entry at fowarder.cpp during simulation. Currently, we are using GlobalRoutingHelper for default routing of any incoming Interest. For our new protocol, however, will switch Face for next-hop. Hence, we are trying to implement to change FIB entry on the basis of NW condition as flexible. For example, we would like to switch face1/face2 at router A. consumer ---> router A (face 1) -----> router B ------> Producer | | |-(face 2) -------> router C ---- Would you please help us? Best regards, Tetsuya Shigeyasu From aa at CS.UCLA.EDU Tue Jul 12 21:37:54 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Wed, 13 Jul 2016 06:37:54 +0200 Subject: [ndnSIM] Add new FIB entry at forwarder In-Reply-To: References: Message-ID: Hi Tesuya, You can use FibHelper::AddRoute and FibHelper::RemoveRoute methods to add new FIB entry and remove the old one. Check more documentation at http://ndnsim.net/2.1/doxygen/classns3_1_1ndn_1_1FibHelper.html -- Alex > On Jul 12, 2016, at 10:16 AM, Tetsuya Shigeyasu wrote: > > Hi Alex, > > We would like to add new FIB entry at fowarder.cpp during simulation. > > Currently, we are using GlobalRoutingHelper for default routing of any > incoming Interest. > > For our new protocol, however, will switch Face for next-hop. > Hence, we are trying to implement to change FIB entry on the basis of NW condition as flexible. > > For example, we would like to switch face1/face2 at router A. > > consumer ---> router A (face 1) -----> router B ------> Producer > | | > |-(face 2) -------> router C ---- > > > Would you please help us? > > Best regards, > Tetsuya Shigeyasu > > > > _______________________________________________ > ndnSIM mailing list > ndnSIM at lists.cs.ucla.edu > http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From aa at CS.UCLA.EDU Tue Jul 12 21:43:42 2016 From: aa at CS.UCLA.EDU (Alex Afanasyev) Date: Wed, 13 Jul 2016 06:43:42 +0200 Subject: [ndnSIM] CryptoPP is present, but is not usable In-Reply-To: References: Message-ID: <636AA425-6364-404E-9827-158C8373EAE0@cs.ucla.edu> Hi Cheryl, There is a strange but re-ocurring problem with some OSX/Macports installation regarding cryptopp library. The best suggestion I have is to wipe out /opt/local and reinstall macports from scratch (in case you have upgraded your OSX, this is a required step: https://trac.macports.org/wiki/Migration ). I would not recommend installing cryptopp manually. At the very least, you have to remove the one installed from macports/homebrew. (Quick thing that may help, if you have /opt/local/lib/libcryptopp.so file, remove it. It may or may not help with the compilation.) As Junxiao suggested, more information about the error is in build/config.log. -- Alex > On Jul 12, 2016, at 4:17 AM, Cheryl Jose wrote: > > Hi, > > I tried doing ./waf distclean and then configured for ./waf but this is the error that is showing up : > > CryptoPP is present, but is not usable > > I have tried CryptoPP downloading it manually and then running it. I have also tried by mentioning the path using with path = "path to cryptoPP" but it is still not working. As I metioned earlier, I am using MAC OS X el Captain.Kindly help me in setting up ndnSIM. > > > > Regards, > > Cheryl > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 841 bytes Desc: Message signed with OpenPGP using GPGMail URL: From ioannoa at tcd.ie Sat Jul 9 14:29:36 2016 From: ioannoa at tcd.ie (Andriana Ioannou) Date: Sun, 10 Jul 2016 00:29:36 +0300 Subject: [ndnSIM] Mpi on multiple machines In-Reply-To: <39EFAB33-4BC7-4247-BB58-72F4FF46BAFC@cs.ucla.edu> References: <5DB67CF5-B4BE-4114-837E-D60821D18FD9@cs.ucla.edu> <11043467-8D68-422C-986A-742D8326B84D@cs.ucla.edu> <39EFAB33-4BC7-4247-BB58-72F4FF46BAFC@cs.ucla.edu> Message-ID: <9598FC31-9FF6-428B-AED9-82804629773D@tcd.ie> > On 08 Jul 2016, at 02:08, Alex Afanasyev wrote: > >> >> On Jul 7, 2016, at 2:17 PM, Andriana Ioannou wrote: >> >>> >>> On 07 Jul 2016, at 18:41, Alex Afanasyev wrote: >>> >>> >>>> On Jul 7, 2016, at 6:52 AM, Andriana Ioannou wrote: >>>> >>>> Hey Alex, >>>> >>>> Many thanks for the reply. >>>> >>>> I have managed to make it work on a single machine with multiple processors - not multiple machines - as this was useless to me anyway. What I wanted to do was to distribute the memory consumption between the different machines. However, my memory consumption comes from the structure of a node which can not be discarded even when using an mph - the whole topology is to be created on each LP anyway. >>>> >>>> Now, with regard to the mpi usage, I have noticed the below: >>>> >>>> 1. The simulation runs differently on a single processor compared to the one using an mpi. That said, the requests are triggered with a different sequence. >>> >>> If events are scheduled for the same nanosecond of simulation time, the order of events would be undetermined. However, if the time is different, they should be in pre-determined order, no matter single processor or MPI. If there are differences, then there is some issue somewhere. >> >> The requests are pretty much pre-scheduled in the sense that a new request is triggered once the previous one is satisfied, i.e. 1 Interest Window. So, I can?t see why that difference may occur, but I will check again. >>> >>>> >>>> 2. Different apps may create Interests with the same nonce, which is ?misleading" to the performance of the system as they may be treated as duplicas - while they are not. >>> >>> Hm.. Given nonce is random, there is possibility that nonce collide. But this should have extremely low probability to happen. Do you see it consistently? (Is it for ndnSIM 2.x?) >>> >> Here its a weird situation. It does not always happen. It relates to the seed that I am ?feeding? into the simulation file. Sometimes nothing happens, some others most consumers issue retransmissions. My guess is that when an mpi used, each processor is ?eligible? to create the same sequence of random numbers that are fed to the apps/consumers. I have found some related concerns, although, not an exact solution yet. That would explain the relation to the seed. I have been using ndnSIMv1 since the very beginning. Don?t know if things are different on v2. > > Hmm. This sounds like a big issue with RandomStream/MPI in NS-3... For the trivial consumer apps, v2 would have the same behavior, as the same NS-3 random generation mechanism is used. Hey Alex, So, is there any possible solution to this for the moment? I thought about using different run/seed values, but, as far as I have read this is not too valid. Any direction given would be helpful. Also, the initialization of the requests/Interests depends on the random number generator as well. So, thats why I am able to see that request/Interest difference that we talked about earlier on a single vs a multi-processor simulation. A. > >> >> A. >> >>> -- >>> Alex >>> >>>> >>>> Any ideas on how to deal with the above? >>>> >>>> Thanks, >>>> A. >>>> >>>>> On 27 Jun 2016, at 05:28, Alex Afanasyev wrote: >>>>> >>>>> I have tried it once long time ago and the process was relatively straightforward (though, I completely forgot all the details). You just need to select where mpi processes should run and afterwards everything happens automatically. (Just in case, the key catch with MPI is that you need to properly partition the topology to get benefits of MPI, and partitioning is not always trivial...) >>>>> >>>>> -- >>>>> Alex >>>>> >>>>>> On Mar 19, 2016, at 8:41 AM, Andriana Ioannou wrote: >>>>>> >>>>>> Hello all, >>>>>> >>>>>> I was wondering whether someone has any feedback/advice on the use of mpi onb multiple machines. From reading the post, I do assume that is possible but I am rather confused on how to proceed with it exactly. >>>>>> >>>>>> Any help would be great. >>>>>> >>>>>> Thanks. >>>>>> A. >>>>>> _______________________________________________ >>>>>> 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 theintjuly at gmail.com Wed Jul 13 00:11:01 2016 From: theintjuly at gmail.com (theint july) Date: Wed, 13 Jul 2016 16:11:01 +0900 Subject: [ndnSIM] To use AddPacketTag in Producer.cpp In-Reply-To: <5122430A-0CBE-4835-9979-DE67D21C78FE@cs.ucla.edu> References: <5122430A-0CBE-4835-9979-DE67D21C78FE@cs.ucla.edu> Message-ID: Dear Spyros, Thank you very much for your guidance. It works now. I can attached the tag to data packet. With Best Regards, Theint Theint Myo On Tue, Jul 12, 2016 at 9:23 AM, Spyridon (Spyros) Mastorakis < mastorakis at cs.ucla.edu> wrote: > Hi, > > you will have to create a class similar to the one in the > fw-hop-count-tag.hpp file. The hop count tag is attached to every packet by > the Send method of the NetDeviceFace class: > > > https://github.com/named-data-ndnSIM/ndnSIM/blob/a4915caa0c4121f2dd87fd3d7cc3b6eb91632f16/model/ndn-net-device-face.cpp#L87 > > Hope that this helps, > > Spyridon (Spyros) Mastorakis > Personal Website: http://cs.ucla.edu/~mastorakis/ > Internet Research Laboratory > Computer Science Department > UCLA > > On Jul 11, 2016, at 3:09 AM, theint july wrote: > > Hi > > I am trying to add tag to the data packet like fw-hop-count tag. > So I modified EXPTag.hpp and .cpp like fw-hop-count-tag .hpp and cpp. And > I wnat to ADD this when the producer provide the data. > Therefore I do it as follow. > I am currently using ndnSIM 2.0. > > > if (data!=0) > { > EXPTag exptag; > NS_LOG_INFO ("Infomation "<< exp<< " : send to data > "<< data->getName()); > exptag.Set (exp); > data->GetPayload()->AddPacketTag (exptag); > > > The error is that data have no member name "GetPayload ( ) " . > > And I also check the data.h file and I don't see GetPayload function. > > Please kindly let me get your guidance how can I used AddPacketTag in > producer.cpp in ndnSIM 2.0. > > With Best Regards. > Theint Theint Myo > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From 15045081947 at 163.com Fri Jul 15 06:49:42 2016 From: 15045081947 at 163.com (=?GBK?B?xcvH7LOs?=) Date: Fri, 15 Jul 2016 21:49:42 +0800 (CST) Subject: [ndnSIM] the meaning of the PIT straggler timer Message-ID: <4e4f9d9e.fe02.155eed1ea87.Coremail.15045081947@163.com> Whem i modify the code of forwarder.cpp, i find the setStragglerTimer(), can you tell me the meaning and the function of the PIT straggler timer? what ' s the difference between the PIT straggler timer and unsatisfy time? Thank you? -------------- next part -------------- An HTML attachment was scrubbed... URL: From alubadyraaid at gmail.com Sat Jul 16 09:24:06 2016 From: alubadyraaid at gmail.com (raaid alubady) Date: Sun, 17 Jul 2016 00:24:06 +0800 Subject: [ndnSIM] Replacement Policy Message-ID: Dear all, I have been working with the ndnSIM (ver 1.0) simulator. Performance evaluation between PIT replacement policies. I found four policies on http://ndnsim.net/1.0/helpers.html as well as in document ndnSIM: NDN simulator for NS-3, which are Persistent, Random, LRU and Serialized Size. However, Serialized Size policy, I didn't find any information about it (how to work, what is the effect on PIT table, etc.). And the another question, what are the suitable metrics can I applying in order to measurement these policy's performance. Thanks again for your help. ********************************************************** *Raaid Alubady*Doctoral Researcher InterNetWorks Research Lab, School of Computing, Universiti Utara Malaysia 06010 UUM Sintok, Kedah, M A L A Y S I A HP: +60129636379 , +601128408117 Emails: raaid.n.alubady at uobabylon.edu.iq raaid.alubady at internetworks.my alubady.r.n at ieee.my -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Mon Jul 18 19:00:19 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 18 Jul 2016 19:00:19 -0700 Subject: [ndnSIM] NACK in ndnSIM In-Reply-To: <578AD8D5.50402@cs.arizona.edu> References: <56B8157E.8010407@cs.arizona.edu> <56B921C6.5080308@cs.arizona.edu> <56B93D52.2070100@cs.arizona.edu> <578AD8D5.50402@cs.arizona.edu> Message-ID: Hi Klaus I don't know the "easiest way" to get real NFD Nack into ndnSIM (I just gave up and switched to Mininet), but the proper way is to upgrade ndnSIM's NFD fork to NFD 0.4 or above. I heard Xuxiang Tian is working on this, although I don't know what Redmine issue number you can watch for progress. If you want this feature keenly, I suggest you participate in the development. NFD 0.4 did a major face refactoring. This refactoring is what enables NFD to process Nacks, and it's also the main difficulty in upgrading ndnSIM's NFD fork. I heard from Alex that one technical difficulty is that the fragmentation and reassembly routines in GenericLinkService cannot retain ns3 packet tags, and a possible solution is to develop a ns3-specific LinkService as a replacement of GenericLinkService. I think this solution is consistent with the intention when I designed LinkService. Apart from that, it's just moving code around (for example, NetDeviceFace into NetDeviceTransport). Yours, Junxiao On Sat, Jul 16, 2016 at 6:01 PM, Klaus Schneider wrote: > I try to get actual NACKs inside ndnSIM 2.1. > > Since NACKs are already available in NFD, what would be the easiest way to > port them to ndnSIM? Which files are involved? > > I already found the obvious candidates (strategy.cpp/hpp, > forwarder.cpp/hpp, face.cpp/hpp) and just want to make sure I didn't forget > anything. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Mon Jul 18 19:04:22 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 18 Jul 2016 19:04:22 -0700 Subject: [ndnSIM] the meaning of the PIT straggler timer In-Reply-To: <4e4f9d9e.fe02.155eed1ea87.Coremail.15045081947@163.com> References: <4e4f9d9e.fe02.155eed1ea87.Coremail.15045081947@163.com> Message-ID: Hi Qinchao The purpose of the straggler timer is to keep PIT entry alive for a short period of time in order to facilitate duplicate Interest detection and to collect data plane measurements. See NFD devguide < http://named-data.net/publications/techreports/ndn-0021-6-nfd-developer-guide/> "Interest reject pipeline" section (section 4.2.6 in revision 6 publication). Yours, Junxiao On Fri, Jul 15, 2016 at 6:49 AM, ??? <15045081947 at 163.com> wrote: > Whem i modify the code of forwarder.cpp, i find the setStragglerTimer(), > can you tell me the meaning and the function > of the > PIT straggler timer? what ' s the difference between the PIT straggler > timer and unsatisfy time? > Thank you? > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alubadyraaid at gmail.com Fri Jul 22 06:43:31 2016 From: alubadyraaid at gmail.com (raaid alubady) Date: Fri, 22 Jul 2016 21:43:31 +0800 Subject: [ndnSIM] PIT Message-ID: Hi Alex and everyone, I am working to print out contents for special router. I found your answer on the website. However, the two links that you are mentioned not work http://ndnsim.net/metric.html#periodic-tracing-of-pending-interest-table-pit-size https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-with-pit-operation-stats.cc Kindly, Can you send to me the active links. I am thankful for your guidance and support. ********************************************************** *Raaid Alubady*Doctoral Researcher InterNetWorks Research Lab, School of Computing, Universiti Utara Malaysia 06010 UUM Sintok, Kedah, M A L A Y S I A HP: +60129636379 , +601128408117 Emails: raaid.n.alubady at uobabylon.edu.iq raaid.alubady at internetworks.my alubady.r.n at ieee.my -------------- next part -------------- An HTML attachment was scrubbed... URL: From mastorakis at CS.UCLA.EDU Fri Jul 22 18:14:17 2016 From: mastorakis at CS.UCLA.EDU (Spyridon (Spyros) Mastorakis) Date: Fri, 22 Jul 2016 21:14:17 -0400 Subject: [ndnSIM] PIT In-Reply-To: References: Message-ID: Hi, here is the link to the code for the second one (works for ndnSIM v1 only): https://github.com/named-data-ndnSIM/ndnSIM/blob/master-v1/examples/ndn-simple-with-pit-operation-stats.cc The first link worked fine for me and redirected to the ndnSIM website. Spyridon (Spyros) Mastorakis Personal Website: http://cs.ucla.edu/~mastorakis/ Internet Research Laboratory Computer Science Department UCLA > On Jul 22, 2016, at 9:43 AM, raaid alubady wrote: > > Hi Alex and everyone, > I am working to print out contents for special router. I found your answer on the website. However, the two links that you are mentioned not work > > http://ndnsim.net/metric.html#periodic-tracing-of-pending-interest-table-pit-size > > https://github.com/NDN-Routing/ndnSIM/blob/master/examples/ndn-simple-with-pit-operation-stats.cc > > Kindly, Can you send to me the active links. > > > I am thankful for your guidance and support. > ******************************************************** > Raaid Alubady > Doctoral Researcher > InterNetWorks Research Lab, > School of Computing, Universiti Utara Malaysia > 06010 UUM Sintok, Kedah, M A L A Y S I A > HP: +60129636379 , +601128408117 > Emails: raaid.n.alubady at uobabylon.edu.iq > raaid.alubady at internetworks.my > alubady.r.n at ieee.my > > > > _______________________________________________ > 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 Jul 24 05:54:15 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Sun, 24 Jul 2016 05:54:15 -0700 Subject: [ndnSIM] Update of submodule ndn-cxx for ndnSIM In-Reply-To: References: Message-ID: Hi Xuxiang SimpleTag is declared in ndn-cxx/tag.hpp which is included into ndn-cxx/lp/tags.hpp via ndn-cxx/tag-host.hpp Find out the complete gcc command line (thru waf verbose logging), make gcc write preprocessed source into a file, and you should be able to find what's going on from that file. Common suspects are wrong include path causing wrong file to be included, and duplicate #ifndef token. Yours, Junxiao On Jul 23, 2016 23:34, "Xuxiang Tian" wrote: > Hi Junxiao, > > I start writing code to update the submodule, ndn-cxx from 0.3.4 to 0.4.1 > for ndnSIM right now. > Compared to ndn 0.3.4, 0.4.1 created some files, which contains > ./src/ndnSIM/ndn-cxx/src/lp/tags.hpp. When I was trying to compile by waf, > there was a message shown as below: > > [1518/2760] Compiling src/ndnSIM/ndn-cxx/src/lp/tags.cpp > In file included from ../src/ndnSIM/ndn-cxx/src/lp/tags.cpp:22: > ../src/ndnSIM/ndn-cxx/src/lp/tags.hpp:36:9: error: unknown type name > 'SimpleTag' > typedef SimpleTag IncomingFaceIdTag; > ^ > ../src/ndnSIM/ndn-cxx/src/lp/tags.hpp:36:18: error: expected unqualified-id > typedef SimpleTag IncomingFaceIdTag; > ^ > > I think the problem is wscript of waf. Then I read the code of > ndnSIM/wscript and ndnSIM/ndn-cxx/wscript, and compare changes of > ndnSIM/ndn-cxx/wscript 0.3.4 with 0.4.1, I think there is something wrong > in ndnSIM/wscript that should be modified, but I have not pinpointed the > place. Kindly, can you give me some advice > > Yours, > Xuxiang > -------------- next part -------------- An HTML attachment was scrubbed... URL: From xuxiangtian at ucla.edu Mon Jul 25 02:11:08 2016 From: xuxiangtian at ucla.edu (Xuxiang Tian) Date: Mon, 25 Jul 2016 02:11:08 -0700 Subject: [ndnSIM] Update of submodule ndn-cxx for ndnSIM In-Reply-To: References: Message-ID: The problem may not be the include path because when I move the folder ndnSIM/ns-3/src/ndnSIM/ndn-cxx out of the folder /ndnSIM (the first ndnSIM), ndn-cxx can compile successfully, but when the folder ndnSIM/ns-3/src/ndnSIM/ndn-cxx stay inside, after I run ./waf configure, the message showed: Setting top to : /Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx Setting out to : /Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx/build Building static library : no Building shared library : yes Checking for 'clang++' (C++ compiler) : /usr/bin/clang++ Checking supported CXXFLAGS : -std=c++11 -Wno-error=unneeded-internal-declaration -Wno-error=deprecated-register -Wno-error=unused-local-typedef -stdlib=libc++ Checking supported LINKFLAGS : -stdlib=libc++ Checking supported CXXFLAGS : -pedantic -Wall -O2 -g Checking for std::is_default_constructible : yes Checking for std::is_nothrow_move_constructible : yes Checking for std::is_nothrow_move_assignable : yes Checking for friend typename-specifier : yes Checking for override and final specifiers : yes Checking for std::vector::insert with const_iterators : yes Checking for program 'doxygen' : not found Checking for program 'tar' : /usr/bin/tar Checking for program 'sphinx-build' : not found Checking for program 'sh' : /bin/sh Checking for library pthread : yes Checking for library rt : not found Checking for function getpass : yes Checking for rtnetlink : not found Checking for framework CoreFoundation : yes Checking for framework CoreServices : yes Checking for framework Security : yes Checking for program 'pkg-config' : /opt/local/bin/pkg-config Checking for 'sqlite3' : yes hecking Crypto++ lib : 563 Checking if CryptoPP library works : no Checking if CryptoPP library works : no CryptoPP is present, but is not usable (complete log in /Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx/build/config.log) Then I read config.log, it seemed everything was fine except only one error: [1/2] Compiling [32mbuild/.conf_check_3a45ee5323740188e645eab38d82218a/test.cpp [0m ['/usr/bin/clang++', '-pedantic', '-Wall', '-O2', '-g', '-std=c++11', '-Wno-error=unneeded-internal-declaration', '-Wno-error=deprecated-register', '-Wno-error=unused-local-typedef', '-stdlib=libc++', '-I/opt/local/include', '-DNDEBUG', '-DHAVE_IS_DEFAULT_CONSTRUCTIBLE=1', '-DHAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE=1', '-DHAVE_IS_NOTHROW_MOVE_ASSIGNABLE=1', '-DHAVE_CXX_FRIEND_TYPENAME=1', '-DHAVE_CXX_OVERRIDE_FINAL=1', '-DNDN_CXX_HAVE_VECTOR_INSERT_ERASE_CONST_ITERATOR=1', '-DHAVE_PTHREAD=1', '-DHAVE_GETPASS=1', '-DHAVE_COREFOUNDATION_COREFOUNDATION_H=1', '-DHAVE_CORESERVICES_CORESERVICES_H=1', '-DHAVE_SECURITY=1', '-DHAVE_OSX_SECURITY=1', '-DHAVE_SQLITE3=1', '-DCRYPTOPP_DISABLE_ASM', '../test.cpp', '-c', '-o', '/Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx/build/.conf_check_3a45ee5323740188e645eab38d82218a/testbuild/test.cpp.1.o'] err: ../test.cpp:2:10: fatal error: '../../src/ndnSIM/ndn-cxx/src/security/cryptopp.hpp' file not found #include "../../src/ndnSIM/ndn-cxx/src/security/cryptopp.hpp" ^ 1 error generated. What confused me is that it showed fatal error: '../../src/ndnSIM/ndn-cxx/src/security/cryptopp.hpp' file not found, however, this file did exist. Could you please let me know if I am supposed to modify some configure to make this file found Yours, Xuxiang 2016-07-24 5:54 GMT-07:00 Junxiao Shi : > Hi Xuxiang > > SimpleTag is declared in ndn-cxx/tag.hpp which is included into > ndn-cxx/lp/tags.hpp via ndn-cxx/tag-host.hpp > > Find out the complete gcc command line (thru waf verbose logging), make > gcc write preprocessed source into a file, and you should be able to find > what's going on from that file. > > Common suspects are wrong include path causing wrong file to be included, > and duplicate #ifndef token. > > Yours, Junxiao > > On Jul 23, 2016 23:34, "Xuxiang Tian" wrote: > >> Hi Junxiao, >> >> I start writing code to update the submodule, ndn-cxx from 0.3.4 to 0.4.1 >> for ndnSIM right now. >> Compared to ndn 0.3.4, 0.4.1 created some files, which contains >> ./src/ndnSIM/ndn-cxx/src/lp/tags.hpp. When I was trying to compile by waf, >> there was a message shown as below: >> >> [1518/2760] Compiling src/ndnSIM/ndn-cxx/src/lp/tags.cpp >> In file included from ../src/ndnSIM/ndn-cxx/src/lp/tags.cpp:22: >> ../src/ndnSIM/ndn-cxx/src/lp/tags.hpp:36:9: error: unknown type name >> 'SimpleTag' >> typedef SimpleTag IncomingFaceIdTag; >> ^ >> ../src/ndnSIM/ndn-cxx/src/lp/tags.hpp:36:18: error: expected >> unqualified-id >> typedef SimpleTag IncomingFaceIdTag; >> ^ >> >> I think the problem is wscript of waf. Then I read the code of >> ndnSIM/wscript and ndnSIM/ndn-cxx/wscript, and compare changes of >> ndnSIM/ndn-cxx/wscript 0.3.4 with 0.4.1, I think there is something wrong >> in ndnSIM/wscript that should be modified, but I have not pinpointed the >> place. Kindly, can you give me some advice >> >> Yours, >> Xuxiang >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From shijunxiao at email.arizona.edu Mon Jul 25 06:12:39 2016 From: shijunxiao at email.arizona.edu (Junxiao Shi) Date: Mon, 25 Jul 2016 06:12:39 -0700 Subject: [ndnSIM] Update of submodule ndn-cxx for ndnSIM In-Reply-To: References: Message-ID: <57961047.d345620a.a8a06.165f@mx.google.com> Hi Xuxiang It seems that ./waf configure is being executed in the wrong folder, as evidenced by: Setting top to ? ? ? ? ? ? ? ? ? ? ? ? ? : /Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx According to ndnSIM installation instructions, this command should be executed in the top-level ns-3 folder, ie /Users/apple/ndnSIM-test/ns-3, not inside ndnSIM or ndn-cxx folder. When you execute ./waf configure inside ndn-cxx, the compiler is looking for /Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx/build/.conf_check_3a45ee5323740188e645eab38d82218a/../../src/ndnSIM/ndn-cxx/src/security/cryptopp.hpp ie /Users/apple/ndnSIM-test/ns-3/src/ndnSIM/ndn-cxx/src/ndnSIM/ndn-cxx/src/security/cryptopp.hpp and this file does not exist. Since ndnSIM 2.1, ndn-cxx becomes embedded and does not need separate installation. You aren?t the first one making this mistake. Once you get past this step, there?s another caution since you are trying to upgrade ndn-cxx: ndn-cxx commits since April 2016 requires Boost 1.54 or above, not Boost 1.49 as stated in ndnSIM 2.1 instructions. Yours, Junxiao From: Xuxiang Tian -------------- next part -------------- An HTML attachment was scrubbed... URL: From mahsa.aghajani at gmail.com Wed Jul 27 01:14:18 2016 From: mahsa.aghajani at gmail.com (Mahsa Aghajani) Date: Wed, 27 Jul 2016 12:44:18 +0430 Subject: [ndnSIM] A question regarding OPSFN implementation in ndnSIM Message-ID: Dear Dr. Afanasyev, I am an MSc student in the Department of Computer Engineering, Sharif University of Technology, Tehran, Iran. I am writing to ask you about the implementation of OSPFN in ndnSIM. Is there any available implementation? I found the open source codes of OSPFN for real implementation, but unfortunately I could not find its implementation in ndnSIM. I want to be sure whether there is such an implementation or not, before starting to implement that by myself. Any comment that may help me is also appreciated. Thank you in advance for your kind attention and look forward to hearing from you. -- Yours sincerely, Mahsa Aghajani M.Sc. student Performance and Dependability Laboratory (PDL) Department of Computer Engineering Sharif University of Technology -------------- next part -------------- An HTML attachment was scrubbed... URL: From fatemeh.university at gmail.com Wed Jul 27 22:53:01 2016 From: fatemeh.university at gmail.com (Fatemeh Goudarzi) Date: Thu, 28 Jul 2016 10:23:01 +0430 Subject: [ndnSIM] Assert in TypeId::LookupByName: error. Could not find the class Message-ID: Hi, I am trying to add a new type of application by defining its own class. I think I have coded it right (e.g. TypeId method, and calling NS_LOG_COMPONENT_DEFINE ("PccApp"), NS_OBJECT_ENSURE_REGISTERED (PccApp); TypeId PccApp::GetTypeId () { static TypeId tid = TypeId ("PccApp") .SetParent () .AddConstructor () ; return tid; } But I get the below error. assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: PccApp not found", file=../src/core/model/type-id.cc, line=755 terminate called without an active exception Could anyone please let me know what might be the issue? Best Regards, Fatemeh Goudarzi -------------- next part -------------- An HTML attachment was scrubbed... URL: From alubadyraaid at gmail.com Thu Jul 28 07:03:47 2016 From: alubadyraaid at gmail.com (raaid alubady) Date: Thu, 28 Jul 2016 22:03:47 +0800 Subject: [ndnSIM] Print out PIT contents Message-ID: Hi everyone, I am thankful for your guidance and support. I have already been run the example "ndn-simple-with-pit-count-stats" that is printed many fields such as Time, Nodes name and return PIT size. I tried to add other fields such as number of Insertion, deletion, updating, and memory usage and most important to print GetMaxPitEntryLifetime, but I couldn't. Can anyone help me how can do that? And the other thing, How can print out PIT contents in external file rather than to appear in the terminal. ********************************************************** *Raaid Alubady*Doctoral Researcher InterNetWorks Research Lab, School of Computing, Universiti Utara Malaysia 06010 UUM Sintok, Kedah, M A L A Y S I A HP: +60129636379 , +601128408117 Emails: raaid.n.alubady at uobabylon.edu.iq raaid.alubady at internetworks.my alubady.r.n at ieee.my -------------- next part -------------- An HTML attachment was scrubbed... URL: From pratyushagnihotri03 at gmail.com Sat Jul 30 07:50:14 2016 From: pratyushagnihotri03 at gmail.com (Pratyush Agnihotri) Date: Sat, 30 Jul 2016 16:50:14 +0200 Subject: [ndnSIM] Regarding Energy Model ns3 Message-ID: Hi Alex, I am facing the same problem as mentioned by Xee. http://www.lists.cs.ucla.edu/pipermail/ndnsim/2013-April/000441.html You shared the modified the example to use NDN stack instead of IPv4 and ConsumerCbr and Producer apps to generate traffic. Can you please share the same code as you shared with him ? It would really helpful for me. Thanks -- Kind Regards, Pratyush Agnihotri -------------- next part -------------- An HTML attachment was scrubbed... URL: From fatemeh.university at gmail.com Wed Jul 27 13:27:53 2016 From: fatemeh.university at gmail.com (Fatemeh Goudarzi) Date: Wed, 27 Jul 2016 20:27:53 -0000 Subject: [ndnSIM] Assert in TypeId::LookupByName: error. Could not find the class. Message-ID: Hi, I am trying to add a new type of application by defining its own class. I think I have coded it right (e.g. TypeId method, and calling NS_LOG_COMPONENT_DEFINE ("PccApp"), NS_OBJECT_ENSURE_REGISTERED (PccApp); TypeId PccApp::GetTypeId () { static TypeId tid = TypeId ("PccApp") .SetParent () .AddConstructor () ; return tid; } But I get the below error. assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName: PccApp not found", file=../src/core/model/type-id.cc, line=755 terminate called without an active exception Could anyone please let me know what might be the issue? Best Regards, Fatemeh Goudarzi -------------- next part -------------- An HTML attachment was scrubbed... URL: